(* Basic_2A1: uses: snv_lref *)
lemma cnv_lref_drops (h) (a) (G):
- â\88\80I,K,V,i,L. â¦\83G,Kâ¦\84 ⊢ V ![h,a] →
- â¬\87*[i] L â\89\98 K.â\93\91{I}V â\86\92 â¦\83G,Lâ¦\84 ⊢ #i ![h,a].
+ â\88\80I,K,V,i,L. â\9dªG,Kâ\9d« ⊢ V ![h,a] →
+ â\87©*[i] L â\89\98 K.â\93\91[I]V â\86\92 â\9dªG,Lâ\9d« ⊢ #i ![h,a].
#h #a #G #I #K #V #i elim i -i
[ #L #HV #H
lapply (drops_fwd_isid … H ?) -H // #H destruct
(* Basic_2A1: uses: snv_inv_lref *)
lemma cnv_inv_lref_drops (h) (a) (G):
- â\88\80i,L. â¦\83G,Lâ¦\84 ⊢ #i ![h,a] →
- â\88\83â\88\83I,K,V. â¬\87*[i] L â\89\98 K.â\93\91{I}V & â¦\83G,Kâ¦\84 ⊢ V ![h,a].
+ â\88\80i,L. â\9dªG,Lâ\9d« ⊢ #i ![h,a] →
+ â\88\83â\88\83I,K,V. â\87©*[i] L â\89\98 K.â\93\91[I]V & â\9dªG,Kâ\9d« ⊢ V ![h,a].
#h #a #G #i elim i -i
[ #L #H
elim (cnv_inv_zero … H) -H #I #K #V #HV #H destruct
qed-.
lemma cnv_inv_lref_pair (h) (a) (G):
- â\88\80i,L. â¦\83G,Lâ¦\84 ⊢ #i ![h,a] →
- â\88\80I,K,V. â¬\87*[i] L â\89\98 K.â\93\91{I}V â\86\92 â¦\83G,Kâ¦\84 ⊢ V ![h,a].
+ â\88\80i,L. â\9dªG,Lâ\9d« ⊢ #i ![h,a] →
+ â\88\80I,K,V. â\87©*[i] L â\89\98 K.â\93\91[I]V â\86\92 â\9dªG,Kâ\9d« ⊢ V ![h,a].
#h #a #G #i #L #H #I #K #V #HLK
elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #HX
lapply (drops_mono … HLY … HLK) -L #H destruct //
qed-.
lemma cnv_inv_lref_atom (h) (a) (b) (G):
- â\88\80i,L. â¦\83G,Lâ¦\84 â\8a¢ #i ![h,a] â\86\92 â¬\87*[b,ð\9d\90\94â\9d´iâ\9dµ] L ≘ ⋆ → ⊥.
+ â\88\80i,L. â\9dªG,Lâ\9d« â\8a¢ #i ![h,a] â\86\92 â\87©*[b,ð\9d\90\94â\9d¨iâ\9d©] L ≘ ⋆ → ⊥.
#h #a #b #G #i #L #H #Hi
elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #_
lapply (drops_gen b … HLY) -HLY #HLY
qed-.
lemma cnv_inv_lref_unit (h) (a) (G):
- â\88\80i,L. â¦\83G,Lâ¦\84 ⊢ #i ![h,a] →
- â\88\80I,K. â¬\87*[i] L â\89\98 K.â\93¤{I} → ⊥.
+ â\88\80i,L. â\9dªG,Lâ\9d« ⊢ #i ![h,a] →
+ â\88\80I,K. â\87©*[i] L â\89\98 K.â\93¤[I] → ⊥.
#h #a #G #i #L #H #I #K #HLK
elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #_
lapply (drops_mono … HLY … HLK) -L #H destruct
elim (cnv_inv_lref_drops … H1) -H1 #I0 #L0 #W #HL0 #HW
elim (lifts_inv_lref2 … H2) -H2 #i #Hf #H destruct
(**) (* this should be a lemma *)
- lapply (drops_split_div â\80¦ HLK (ð\9d\90\94â\9d´iâ\9dµ) ???) -HLK [4,8: * |*: // ] #Y0 #HK #HLY0
+ lapply (drops_split_div â\80¦ HLK (ð\9d\90\94â\9d¨iâ\9d©) ???) -HLK [4,8: * |*: // ] #Y0 #HK #HLY0
lapply (drops_conf … HL0 … HLY0 ??) -HLY0 [3,6: |*: /2 width=6 by after_uni_dx/ ] #HLY0
lapply (drops_tls_at … Hf … HLY0) -HLY0 #HLY0
elim (drops_inv_skip1 … HLY0) -HLY0 #Z #K0 #HLK0 #HZ #H destruct