Finish the enhanced eta postponement
This commit is contained in:
parent
51ac5ffbd6
commit
5a7f46a8a1
1 changed files with 30 additions and 0 deletions
|
@ -1192,6 +1192,36 @@ Module UniqueNF (M : NoForbid) (MFacts : NoForbid_FactSig M).
|
||||||
- hauto lq:on inv:RRed.R.
|
- hauto lq:on inv:RRed.R.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
Lemma η_postponement_star n a b c :
|
||||||
|
@P n a ->
|
||||||
|
ERed.R a b ->
|
||||||
|
rtc RRed.R b c ->
|
||||||
|
exists d, rtc RRed.R a d /\ ERed.R d c.
|
||||||
|
Proof.
|
||||||
|
move => + + h. move : a.
|
||||||
|
elim : b c / h.
|
||||||
|
- sfirstorder.
|
||||||
|
- move => a0 a1 a2 ha ha' iha u hu hu'.
|
||||||
|
move : eta_postponement (hu) ha hu'; repeat move/[apply].
|
||||||
|
move => [d [h0 h1]].
|
||||||
|
have : P d by sfirstorder use:P_RReds.
|
||||||
|
move : iha h1; repeat move/[apply].
|
||||||
|
sfirstorder use:@relations.rtc_transitive.
|
||||||
|
Qed.
|
||||||
|
|
||||||
|
Lemma η_postponement_star' n a b c :
|
||||||
|
@P n a ->
|
||||||
|
ERed.R a b ->
|
||||||
|
rtc RRed.R b c ->
|
||||||
|
exists d, rtc RRed.R a d /\ NeERed.R_nonelim d c.
|
||||||
|
Proof.
|
||||||
|
move => h0 h1 h2.
|
||||||
|
have : exists d, rtc RRed.R a d /\ ERed.R d c by eauto using η_postponement_star.
|
||||||
|
move => [d [h3 /η_split]].
|
||||||
|
move /(_ ltac:(eauto using P_RReds)).
|
||||||
|
sfirstorder use:@relations.rtc_transitive.
|
||||||
|
Qed.
|
||||||
|
|
||||||
End UniqueNF.
|
End UniqueNF.
|
||||||
|
|
||||||
Lemma η_nf_to_ne n (a0 a1 : PTm n) :
|
Lemma η_nf_to_ne n (a0 a1 : PTm n) :
|
||||||
|
|
Loading…
Add table
Reference in a new issue