(* Advanced properties ******************************************************)
fact csx_appl_beta_aux (h) (G):
- â\88\80p,L,U1. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83U1â¦\84 →
- ∀V,W,T1. U1 = ⓓ{p}ⓝW.V.T1 → ⦃G,L⦄ ⊢ ⬈*[h] 𝐒⦃ⓐV.ⓛ{p}W.T1⦄.
+ â\88\80p,L,U1. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªU1â\9d« →
+ ∀V,W,T1. U1 = ⓓ[p]ⓝW.V.T1 → ❪G,L❫ ⊢ ⬈*[h] 𝐒❪ⓐV.ⓛ[p]W.T1❫.
#h #G #p #L #X #H @(csx_ind … H) -X
#X #HT1 #IHT1 #V #W #T1 #H1 destruct
@csx_intro #X #H1 #H2
(* Basic_1: was just: sn3_beta *)
lemma csx_appl_beta (h) (G):
- â\88\80p,L,V,W,T. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83â\93\93{p}â\93\9dW.V.Tâ¦\84 â\86\92 â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83â\93\90V.â\93\9b{p}W.Tâ¦\84.
+ â\88\80p,L,V,W,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\93[p]â\93\9dW.V.Tâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\90V.â\93\9b[p]W.Tâ\9d«.
/2 width=3 by csx_appl_beta_aux/ qed.
(* Advanced forward lemmas **************************************************)
fact csx_fwd_bind_dx_unit_aux (h) (G):
- â\88\80L,U. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Uâ¦\84 →
- ∀p,I,J,V,T. U = ⓑ{p,I}V.T → ⦃G,L.ⓤ{J}⦄ ⊢ ⬈*[h] 𝐒⦃T⦄.
+ â\88\80L,U. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªUâ\9d« →
+ ∀p,I,J,V,T. U = ⓑ[p,I]V.T → ❪G,L.ⓤ[J]❫ ⊢ ⬈*[h] 𝐒❪T❫.
#h #G #L #U #H elim H -H #U0 #_ #IH #p #I #J #V #T #H destruct
@csx_intro #T2 #HLT2 #HT2
-@(IH (ⓑ{p, I}V.T2)) -IH /2 width=4 by cpx_bind_unit/ -HLT2
+@(IH (ⓑ[p, I]V.T2)) -IH /2 width=4 by cpx_bind_unit/ -HLT2
#H elim (teqx_inv_pair … H) -H /2 width=1 by/
qed-.
lemma csx_fwd_bind_dx_unit (h) (G):
- â\88\80p,I,L,V,T. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83â\93\91{p,I}V.Tâ¦\84 →
- â\88\80J. â¦\83G,L.â\93¤{J}â¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Tâ¦\84.
+ â\88\80p,I,L,V,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\91[p,I]V.Tâ\9d« →
+ â\88\80J. â\9dªG,L.â\93¤[J]â\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d«.
/2 width=6 by csx_fwd_bind_dx_unit_aux/ qed-.
lemma csx_fwd_bind_unit (h) (G):
- â\88\80p,I,L,V,T. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83â\93\91{p,I}V.Tâ¦\84 →
- â\88\80J. â¦\83G,Lâ¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Vâ¦\84 â\88§ â¦\83G,L.â\93¤{J}â¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Tâ¦\84.
+ â\88\80p,I,L,V,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\91[p,I]V.Tâ\9d« →
+ â\88\80J. â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªVâ\9d« â\88§ â\9dªG,L.â\93¤[J]â\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d«.
/3 width=4 by csx_fwd_pair_sn, csx_fwd_bind_dx_unit, conj/ qed-.
(* Properties with restricted refinement for local environments *************)
lemma csx_lsubr_conf (h) (G):
- â\88\80L1,T. â¦\83G,L1â¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Tâ¦\84 â\86\92 â\88\80L2. L1 â«\83 L2 â\86\92 â¦\83G,L2â¦\84 â\8a¢ â¬\88*[h] ð\9d\90\92â¦\83Tâ¦\84.
+ â\88\80L1,T. â\9dªG,L1â\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d« â\86\92 â\88\80L2. L1 â«\83 L2 â\86\92 â\9dªG,L2â\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d«.
#h #G #L1 #T #H
@(csx_ind … H) -T #T1 #_ #IH #L2 #HL12
@csx_intro #T2 #HT12 #HnT12