Move HRed to the common .v file
This commit is contained in:
parent
5ac3b21331
commit
36d1f95d65
2 changed files with 27 additions and 25 deletions
|
@ -8,31 +8,6 @@ Require Import Coq.Logic.FunctionalExtensionality.
|
||||||
Require Import Cdcl.Itauto.
|
Require Import Cdcl.Itauto.
|
||||||
|
|
||||||
Module HRed.
|
Module HRed.
|
||||||
Inductive R : PTm -> PTm -> Prop :=
|
|
||||||
(****************** Beta ***********************)
|
|
||||||
| AppAbs a b :
|
|
||||||
R (PApp (PAbs a) b) (subst_PTm (scons b VarPTm) a)
|
|
||||||
|
|
||||||
| ProjPair p a b :
|
|
||||||
R (PProj p (PPair a b)) (if p is PL then a else b)
|
|
||||||
|
|
||||||
| IndZero P b c :
|
|
||||||
R (PInd P PZero b c) b
|
|
||||||
|
|
||||||
| IndSuc P a b c :
|
|
||||||
R (PInd P (PSuc a) b c) (subst_PTm (scons (PInd P a b c) (scons a VarPTm)) c)
|
|
||||||
|
|
||||||
(*************** Congruence ********************)
|
|
||||||
| AppCong a0 a1 b :
|
|
||||||
R a0 a1 ->
|
|
||||||
R (PApp a0 b) (PApp a1 b)
|
|
||||||
| ProjCong p a0 a1 :
|
|
||||||
R a0 a1 ->
|
|
||||||
R (PProj p a0) (PProj p a1)
|
|
||||||
| IndCong P a0 a1 b c :
|
|
||||||
R a0 a1 ->
|
|
||||||
R (PInd P a0 b c) (PInd P a1 b c).
|
|
||||||
|
|
||||||
Lemma ToRRed (a b : PTm) : HRed.R a b -> RRed.R a b.
|
Lemma ToRRed (a b : PTm) : HRed.R a b -> RRed.R a b.
|
||||||
Proof. induction 1; hauto lq:on ctrs:RRed.R. Qed.
|
Proof. induction 1; hauto lq:on ctrs:RRed.R. Qed.
|
||||||
|
|
||||||
|
|
|
@ -143,3 +143,30 @@ Proof.
|
||||||
rewrite -{2}E.
|
rewrite -{2}E.
|
||||||
apply ext_PTm. case => //=.
|
apply ext_PTm. case => //=.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
Module HRed.
|
||||||
|
Inductive R : PTm -> PTm -> Prop :=
|
||||||
|
(****************** Beta ***********************)
|
||||||
|
| AppAbs a b :
|
||||||
|
R (PApp (PAbs a) b) (subst_PTm (scons b VarPTm) a)
|
||||||
|
|
||||||
|
| ProjPair p a b :
|
||||||
|
R (PProj p (PPair a b)) (if p is PL then a else b)
|
||||||
|
|
||||||
|
| IndZero P b c :
|
||||||
|
R (PInd P PZero b c) b
|
||||||
|
|
||||||
|
| IndSuc P a b c :
|
||||||
|
R (PInd P (PSuc a) b c) (subst_PTm (scons (PInd P a b c) (scons a VarPTm)) c)
|
||||||
|
|
||||||
|
(*************** Congruence ********************)
|
||||||
|
| AppCong a0 a1 b :
|
||||||
|
R a0 a1 ->
|
||||||
|
R (PApp a0 b) (PApp a1 b)
|
||||||
|
| ProjCong p a0 a1 :
|
||||||
|
R a0 a1 ->
|
||||||
|
R (PProj p a0) (PProj p a1)
|
||||||
|
| IndCong P a0 a1 b c :
|
||||||
|
R a0 a1 ->
|
||||||
|
R (PInd P a0 b c) (PInd P a1 b c).
|
||||||
|
End HRed.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue