@@ -19,6 +19,7 @@ Section Reflexivities.
1919 all: cbn in * ; eassumption.
2020 (* econstructor; tea; now eapply escapeEqTerm. *)
2121 Qed .
22+
2223
2324 Definition WreflLRTyEq {l wl Γ A} (lr : W[ Γ ||-< l > A ]< wl > ) :
2425 W[ Γ ||-< l > A ≅ A | lr ]< wl >.
@@ -119,7 +120,104 @@ Section Reflexivities.
119120 all: cbn; now eauto.
120121 - intros; now eapply reflIdRedTmEq.
121122 Qed .
123+ (*
124+ Definition reflLRTmEq_inv@{h i j k l} {l wl Γ A} (lr : [ LogRel@{i j k l} l | Γ ||- A ]< wl > ) :
125+ forall t,
126+ [ Γ ||-<l> t ≅ t : A | lr ]< wl > ->
127+ [ Γ ||-<l> t : A | lr ]< wl >.
128+ Proof.
129+ pattern l, wl, Γ, A, lr; eapply LR_rect_TyUr; clear l wl Γ A lr; intros l wl Γ A.
130+ - intros h t [? ? ? ? Rt%RedTyRecFwd@{j k h i k}] ; cbn in *.
131+ (* Need an additional universe level h < i *)
132+ destruct redL.
133+ now unshelve econstructor.
134+ - intros ? t [???[]].
135+ econstructor ; cbn in *.
136+ 1: eassumption.
137+ now eapply lrefl.
138+ - intros ??? t [].
139+ unshelve econstructor ; cbn in *.
140+ 4: now eapply (PiRedTm.red redL).
141+ 1,2: shelve.
142+ 1: now eapply (PiRedTm.refl redL).
143+ 1: now eapply (PiRedTm.isfun redL).
144+ + cbn in *.
145+ intros.
146+ eapply (PiRedTm.app redL) ; eassumption.
147+ + cbn in * ; intros.
148+ eapply (PiRedTm.eq redL) ; eassumption.
149+ - intros NA t Nt ; cbn in *.
150+ epose (test := NatRedEqInduction _ _ _ NA
151+ (fun t u Htu => [Γ ||-Nat t : A | NA ]< wl >)
152+ (fun t u Htu => NatProp NA t)).
153+ cbn in *.
154+ eapply test.
155+ 5: eassumption.
156+ 2: now constructor.
157+ 2: intros ; now constructor.
158+ 2:{ intros. constructor ; destruct r.
159+
160+ Search hyp: Notations.conv_neu_conv.
161+ 2: now eapply lrefl.
162+ destruct Nt.
163+ Print TermRedWf.
164+
165+ ; destruct Nt.
166+ econstructor.
167+ + eassumption.
168+ + etransitivity ; [ | eassumption].
169+ now symmetry.
170+ + About NatRedEqInduction.
171+ pose (test := NatRedEqInduction _ _ _ NA).
172+
173+
174+ Print NatPropEq.
175+ refine (fix f := match prop with
176+ | zeroRed => _
177+ | succReq n n' Hnn' => f' Hnn'
178+ | neReq _ _ => _
179+ end
180+ with f' := match Hnn' with
181+ | Build_NatRedTmEq _ _ _ _ => _
182+ end
183+ ).
184+ ).
185+
122186
187+
188+ eapply X0.
189+ replace (PiRedTm.nf redL) with (PiRedTm.nf redR) at 2.
190+ 1: now eapply eqApp.
191+ eapply whredtm_det.
192+ all: econstructor.
193+ 2,4: destruct redL, redR ; cbn in *.
194+ 2,3: inversion isfun ; inversion isfun0 ; subst ; constructor.
195+ 2-5: now eapply convneu_whne.
196+ * now eapply (PiRedTm.red redR).
197+ * now eapply (PiRedTm.red redL).
198+ + cbn in *.
199+ intros.
200+
201+ destruct redR ; cbn in *.
202+ inversion isfun ; subst ; constructor.
203+ now eapply convneu_whne.
204+
205+ destruct redL ; cbn in *.
206+
207+ 1-2: now econstructor.
208+ + intros ; now eapply eqTree.
209+ +
210+ all: cbn; now eauto.
211+ - intros; now apply reflNatRedTmEq.
212+ - intros; now apply reflBoolRedTmEq.
213+ - intros; now apply reflEmptyRedTmEq.
214+ - intros ??? t [].
215+ unshelve econstructor ; cbn in *.
216+ 1-2: now econstructor.
217+ all: cbn; now eauto.
218+ - intros; now eapply reflIdRedTmEq.
219+ Qed.
220+ *)
123221 Definition WreflLRTmEq@{h i j k l} {l wl Γ A}
124222 (lr : WLogRel@{i j k l} l wl Γ A ) :
125223 forall t,
0 commit comments