(* Advanced properties ******************************************************)
lemma csx_teqx_trans (h) (G):
- â\88\80L,T1. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83T1â¦\84 →
- â\88\80T2. T1 â\89\9b T2 â\86\92 â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83T2â¦\84.
+ â\88\80L,T1. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªT1â\9d« →
+ â\88\80T2. T1 â\89\9b T2 â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªT2â\9d«.
#h #G #L #T1 #H @(csx_ind … H) -T1 #T #_ #IH #T2 #HT2
@csx_intro #T1 #HT21 #HnT21 elim (teqx_cpx_trans … HT2 … HT21) -HT21
/4 width=5 by teqx_repl/
qed-.
lemma csx_cpx_trans (h) (G):
- â\88\80L,T1. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83T1â¦\84 →
- â\88\80T2. â¦\83G,Lâ¦\84 â\8a¢ T1 â¬\88[h] T2 â\86\92 â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83T2â¦\84.
+ â\88\80L,T1. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªT1â\9d« →
+ â\88\80T2. â\9dªG,Lâ\9d« â\8a¢ T1 â¬\88[h] T2 â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªT2â\9d«.
#h #G #L #T1 #H @(csx_ind … H) -T1 #T1 #HT1 #IHT1 #T2 #HLT12
elim (teqx_dec T1 T2) /3 width=4 by csx_teqx_trans/
qed-.
(* Basic_1: was just: sn3_cast *)
lemma csx_cast (h) (G):
- â\88\80L,W. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Wâ¦\84 →
- â\88\80T. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Tâ¦\84 â\86\92 â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83â\93\9dW.Tâ¦\84.
+ â\88\80L,W. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªWâ\9d« →
+ â\88\80T. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\9dW.Tâ\9d«.
#h #G #L #W #HW @(csx_ind … HW) -W
#W #HW #IHW #T #HT @(csx_ind … HT) -T
#T #HT #IHT @csx_intro
(* Basic_1: was just: sn3_abbr *)
(* Basic_2A1: was: csx_lref_bind *)
lemma csx_lref_pair_drops (h) (G):
- ∀I,L,K,V,i. ⇩*[i] L ≘ K.ⓑ{I}V →
- â¦\83G,Kâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Vâ¦\84 â\86\92 â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83#iâ¦\84.
+ ∀I,L,K,V,i. ⇩*[i] L ≘ K.ⓑ[I]V →
+ â\9dªG,Kâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªVâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dª#iâ\9d«.
#h #G #I #L #K #V #i #HLK #HV
@csx_intro #X #H #Hi elim (cpx_inv_lref1_drops … H) -H
[ #H destruct elim Hi //
(* Basic_1: was: sn3_gen_def *)
(* Basic_2A1: was: csx_inv_lref_bind *)
lemma csx_inv_lref_pair_drops (h) (G):
- ∀I,L,K,V,i. ⇩*[i] L ≘ K.ⓑ{I}V →
- â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83#iâ¦\84 â\86\92 â¦\83G,Kâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Vâ¦\84.
+ ∀I,L,K,V,i. ⇩*[i] L ≘ K.ⓑ[I]V →
+ â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dª#iâ\9d« â\86\92 â\9dªG,Kâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªVâ\9d«.
#h #G #I #L #K #V #i #HLK #Hi
-elim (lifts_total V (ð\9d\90\94â\9d´â\86\91iâ\9dµ))
+elim (lifts_total V (ð\9d\90\94â\9d¨â\86\91iâ\9d©))
/4 width=9 by csx_inv_lifts, csx_cpx_trans, cpx_delta_drops, drops_isuni_fwd_drop2/
qed-.
lemma csx_inv_lref_drops (h) (G):
- â\88\80L,i. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83#iâ¦\84 →
- â\88¨â\88¨ â\87©*[â\92»,ð\9d\90\94â\9d´iâ\9dµ] L ≘ ⋆
- | ∃∃I,K. ⇩*[i] L ≘ K.ⓤ{I}
- | ∃∃I,K,V. ⇩*[i] L ≘ K.ⓑ{I}V & ⦃G,K⦄ ⊢ ⬈*[h] 𝐒⦃V⦄.
+ â\88\80L,i. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dª#iâ\9d« →
+ â\88¨â\88¨ â\87©*[â\92»,ð\9d\90\94â\9d¨iâ\9d©] L ≘ ⋆
+ | ∃∃I,K. ⇩*[i] L ≘ K.ⓤ[I]
+ | ∃∃I,K,V. ⇩*[i] L ≘ K.ⓑ[I]V & ❪G,K❫ ⊢ ⬈*[h] 𝐒❪V❫.
#h #G #L #i #H elim (drops_F_uni L i) /2 width=1 by or3_intro0/
* * /4 width=9 by csx_inv_lref_pair_drops, ex2_3_intro, ex1_2_intro, or3_intro2, or3_intro1/
qed-.