include "basic_2/static/lsubr.ma".
-(* RESTRICTED LOCAL ENVIRONMENT REFINEMENT **********************************)
+(* RESTRICTED REFINEMENT FOR LOCAL ENVIRONMENTS *****************************)
(* Auxiliary inversion lemmas ***********************************************)
-fact lsubr_inv_bind1_aux: ∀L1,L2. L1 ⊑ L2 → ∀I,K1,X. L1 = K1.ⓑ{I}X →
+fact lsubr_inv_pair1_aux: ∀L1,L2. L1 ⫃ L2 → ∀I,K1,X. L1 = K1.ⓑ{I}X →
∨∨ L2 = ⋆
- | â\88\83â\88\83K2. K1 â\8a\91 K2 & L2 = K2.ⓑ{I}X
- | â\88\83â\88\83K2,V,W. K1 â\8a\91 K2 & L2 = K2.ⓛW &
+ | â\88\83â\88\83K2. K1 â«\83 K2 & L2 = K2.ⓑ{I}X
+ | â\88\83â\88\83K2,V,W. K1 â«\83 K2 & L2 = K2.ⓛW &
I = Abbr & X = ⓝW.V.
#L1 #L2 * -L1 -L2
[ #L #J #K1 #X #H destruct /2 width=1 by or3_intro0/
]
qed-.
-lemma lsubr_inv_bind1: ∀I,K1,L2,X. K1.ⓑ{I}X ⊑ L2 →
+lemma lsubr_inv_pair1: ∀I,K1,L2,X. K1.ⓑ{I}X ⫃ L2 →
∨∨ L2 = ⋆
- | â\88\83â\88\83K2. K1 â\8a\91 K2 & L2 = K2.ⓑ{I}X
- | â\88\83â\88\83K2,V,W. K1 â\8a\91 K2 & L2 = K2.ⓛW &
+ | â\88\83â\88\83K2. K1 â«\83 K2 & L2 = K2.ⓑ{I}X
+ | â\88\83â\88\83K2,V,W. K1 â«\83 K2 & L2 = K2.ⓛW &
I = Abbr & X = ⓝW.V.
-/2 width=3 by lsubr_inv_bind1_aux/ qed-.
+/2 width=3 by lsubr_inv_pair1_aux/ qed-.
(* Main properties **********************************************************)
[ #L1 #X #H
lapply (lsubr_inv_atom1 … H) -H //
| #I #L1 #L #V #_ #IHL1 #X #H
- elim (lsubr_inv_bind1 … H) -H // *
- #L2 [2: #V2 #W2 ] #HL2 #H1 [ #H2 #H3 ] destruct /3 width=1 by lsubr_bind, lsubr_abst/
+ elim (lsubr_inv_pair1 … H) -H // *
+ #L2 [2: #V2 #W2 ] #HL2 #H1 [ #H2 #H3 ] destruct /3 width=1 by lsubr_pair, lsubr_beta/
| #L1 #L #V1 #W #_ #IHL1 #X #H
elim (lsubr_inv_abst1 … H) -H // *
- #L2 #HL2 #H destruct /3 width=1 by lsubr_abst/
+ #L2 #HL2 #H destruct /3 width=1 by lsubr_beta/
]
qed-.