Make progress on par epar
This commit is contained in:
parent
a34afed3d5
commit
ce29464f08
1 changed files with 21 additions and 2 deletions
|
@ -1215,12 +1215,19 @@ Proof.
|
||||||
sfirstorder inv:ERPar.R use:EPar_Par, RPar_Par.
|
sfirstorder inv:ERPar.R use:EPar_Par, RPar_Par.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
Lemma rtc_idem n (a b : Tm n) : rtc (rtc EPar.R) a b -> rtc EPar.R a b.
|
||||||
|
Proof.
|
||||||
|
induction 1; hauto l:on use:@relations.rtc_transitive, @rtc_r.
|
||||||
|
Qed.
|
||||||
|
|
||||||
Lemma Par_ERPar n (a b : Tm n) : Par.R a b -> rtc ERPar.R a b.
|
Lemma Par_ERPar n (a b : Tm n) : Par.R a b -> rtc ERPar.R a b.
|
||||||
Proof.
|
Proof.
|
||||||
move => h. elim : n a b /h.
|
move => h. elim : n a b /h.
|
||||||
- move => n a0 a1 b0 b1 ha iha hb ihb.
|
- move => n a0 a1 b0 b1 ha iha hb ihb.
|
||||||
apply : rtc_l. apply ERPar.RPar.
|
suff ? : rtc ERPar.R (App (Abs a0) b0) (App (Abs a1) b1).
|
||||||
apply RPar.AppAbs; eauto using RPar.refl.
|
apply : relations.rtc_transitive; eauto.
|
||||||
|
apply rtc_once. apply ERPar.RPar.
|
||||||
|
by apply RPar.AppAbs; eauto using RPar.refl.
|
||||||
(* congruence *)
|
(* congruence *)
|
||||||
admit.
|
admit.
|
||||||
- move => n a0 a1 b0 b1 c0 c1 ha iha hb ihb hc ihc.
|
- move => n a0 a1 b0 b1 c0 c1 ha iha hb ihb hc ihc.
|
||||||
|
@ -1248,6 +1255,18 @@ Proof.
|
||||||
- sfirstorder.
|
- sfirstorder.
|
||||||
Admitted.
|
Admitted.
|
||||||
|
|
||||||
|
Lemma Pars_ERPar n (a b : Tm n) : rtc Par.R a b -> rtc ERPar.R a b.
|
||||||
|
Proof.
|
||||||
|
induction 1; hauto l:on use:Par_ERPar, @relations.rtc_transitive.
|
||||||
|
Qed.
|
||||||
|
|
||||||
|
Lemma Par_ERPar_iff n (a b : Tm n) : rtc Par.R a b <-> rtc ERPar.R a b.
|
||||||
|
Proof.
|
||||||
|
split.
|
||||||
|
sfirstorder use:Pars_ERPar, @relations.rtc_subrel.
|
||||||
|
sfirstorder use:ERPar_Par, @relations.rtc_subrel.
|
||||||
|
Qed.
|
||||||
|
|
||||||
Lemma Par_confluent n (c a1 b1 : Tm n) :
|
Lemma Par_confluent n (c a1 b1 : Tm n) :
|
||||||
rtc Par.R c a1 ->
|
rtc Par.R c a1 ->
|
||||||
rtc Par.R c b1 ->
|
rtc Par.R c b1 ->
|
||||||
|
|
Loading…
Add table
Reference in a new issue