(* Advanced inversion lemmas ************************************************)
(* Basic_2A1: includes: cpr_inv_atom1 *)
-lemma cpr_inv_atom1_drops: â\88\80h,I,G,L,T2. â¦\83G,Lâ¦\84 â\8a¢ â\93ª{I} ➡[h] T2 →
- ∨∨ T2 = ⓪{I}
- | ∃∃K,V,V2,i. ⇩*[i] L ≘ K.ⓓV & ⦃G,K⦄ ⊢ V ➡[h] V2 &
- ⇧*[↑i] V2 ≘ T2 & I = LRef i.
+lemma cpr_inv_atom1_drops: â\88\80h,I,G,L,T2. â\9dªG,Lâ\9d« â\8a¢ â\93ª[I] ➡[h] T2 →
+ ∨∨ T2 = ⓪[I]
+ | ∃∃K,V,V2,i. ⇩[i] L ≘ K.ⓓV & ❪G,K❫ ⊢ V ➡[h] V2 &
+ ⇧[↑i] V2 ≘ T2 & I = LRef i.
#h #I #G #L #T2 #H elim (cpm_inv_atom1_drops … H) -H *
[ /2 width=1 by or_introl/
| #s #_ #_ #H destruct
(* Basic_1: includes: pr0_gen_lref pr2_gen_lref *)
(* Basic_2A1: includes: cpr_inv_lref1 *)
-lemma cpr_inv_lref1_drops: â\88\80h,G,L,T2,i. â¦\83G,Lâ¦\84 ⊢ #i ➡[h] T2 →
+lemma cpr_inv_lref1_drops: â\88\80h,G,L,T2,i. â\9dªG,Lâ\9d« ⊢ #i ➡[h] T2 →
∨∨ T2 = #i
- | ∃∃K,V,V2. ⇩*[i] L ≘ K. ⓓV & ⦃G,K⦄ ⊢ V ➡[h] V2 &
- ⇧*[↑i] V2 ≘ T2.
+ | ∃∃K,V,V2. ⇩[i] L ≘ K. ⓓV & ❪G,K❫ ⊢ V ➡[h] V2 &
+ ⇧[↑i] V2 ≘ T2.
#h #G #L #T2 #i #H elim (cpm_inv_lref1_drops … H) -H *
[ /2 width=1 by or_introl/
| /3 width=6 by ex3_3_intro, or_intror/