Need to parallelize eta

This commit is contained in:
Yiyun Liu 2025-01-25 16:53:48 -07:00
parent 8fcfa5dbf9
commit df62e3691c

View file

@ -109,6 +109,12 @@ Module RRed.
Derive Dependent Inversion inv with (forall n (a b : PTm n), R a b) Sort Prop. Derive Dependent Inversion inv with (forall n (a b : PTm n), R a b) Sort Prop.
End RRed. End RRed.
Module ERedM.
Inductive R {n} (a : PTm n) : PTm n -> Prop :=
| refl : R a a
| step b : ERed.R a b -> R a b.
End ERedM.
Inductive Wt {n} (Γ : fin n -> Ty) : PTm n -> Ty -> Prop := Inductive Wt {n} (Γ : fin n -> Ty) : PTm n -> Ty -> Prop :=
| T_Var i : | T_Var i :
Wt Γ (VarPTm i) (Γ i) Wt Γ (VarPTm i) (Γ i)
@ -229,7 +235,7 @@ Lemma eta_postponement n Γ a b c A :
@Wt n Γ a A -> @Wt n Γ a A ->
ERed.R a b -> ERed.R a b ->
RRed.R b c -> RRed.R b c ->
exists d, rtc RRed.R a d /\ ERed.R d c. exists d, rtc RRed.R a d /\ ERed.R d c.
Proof. Proof.
move => + h. move => + h.
move : Γ c A. move : Γ c A.
@ -284,6 +290,10 @@ Proof.
- move => n a b0 b1 hb ihb Γ c A hu hu'. - move => n a b0 b1 hb ihb Γ c A hu hu'.
elim /RRed.inv : hu' => //=_. elim /RRed.inv : hu' => //=_.
+ move => A0 a0 b2 [*]. subst. + move => A0 a0 b2 [*]. subst.
move {ihb}.
eexists.
split. apply rtc_once.
apply RRed.AppAbs.
admit. admit.
+ sauto lq:on. + sauto lq:on.
+ move => a0 b2 b3 hb0 [*]. subst. + move => a0 b2 b3 hb0 [*]. subst.