inductive lsubv (h) (a) (G): relation lenv ≝
| lsubv_atom: lsubv h a G (⋆) (⋆)
-| lsubv_bind: ∀I,L1,L2. lsubv h a G L1 L2 → lsubv h a G (L1.ⓘ{I}) (L2.ⓘ{I})
-| lsubv_beta: â\88\80L1,L2,W,V. â¦\83G,L1â¦\84 ⊢ ⓝW.V ![h,a] →
+| lsubv_bind: ∀I,L1,L2. lsubv h a G L1 L2 → lsubv h a G (L1.ⓘ[I]) (L2.ⓘ[I])
+| lsubv_beta: â\88\80L1,L2,W,V. â\9d¨G,L1â\9d© ⊢ ⓝW.V ![h,a] →
lsubv h a G L1 L2 → lsubv h a G (L1.ⓓⓝW.V) (L2.ⓛW)
.
/2 width=6 by lsubv_inv_atom_sn_aux/ qed-.
fact lsubv_inv_bind_sn_aux (h) (a) (G): ∀L1,L2. G ⊢ L1 ⫃![h,a] L2 →
- ∀I,K1. L1 = K1.ⓘ{I} →
- ∨∨ ∃∃K2. G ⊢ K1 ⫃![h,a] K2 & L2 = K2.ⓘ{I}
- | â\88\83â\88\83K2,W,V. â¦\83G,K1â¦\84 ⊢ ⓝW.V ![h,a] & G ⊢ K1 ⫃![h,a] K2
+ ∀I,K1. L1 = K1.ⓘ[I] →
+ ∨∨ ∃∃K2. G ⊢ K1 ⫃![h,a] K2 & L2 = K2.ⓘ[I]
+ | â\88\83â\88\83K2,W,V. â\9d¨G,K1â\9d© ⊢ ⓝW.V ![h,a] & G ⊢ K1 ⫃![h,a] K2
& I = BPair Abbr (ⓝW.V) & L2 = K2.ⓛW.
#h #a #G #L1 #L2 * -L1 -L2
[ #J #K1 #H destruct
(* Basic_2A1: uses: lsubsv_inv_pair1 *)
lemma lsubv_inv_bind_sn (h) (a) (G):
- ∀I,K1,L2. G ⊢ K1.ⓘ{I} ⫃![h,a] L2 →
- ∨∨ ∃∃K2. G ⊢ K1 ⫃![h,a] K2 & L2 = K2.ⓘ{I}
- | â\88\83â\88\83K2,W,V. â¦\83G,K1â¦\84 ⊢ ⓝW.V ![h,a] & G ⊢ K1 ⫃![h,a] K2
+ ∀I,K1,L2. G ⊢ K1.ⓘ[I] ⫃![h,a] L2 →
+ ∨∨ ∃∃K2. G ⊢ K1 ⫃![h,a] K2 & L2 = K2.ⓘ[I]
+ | â\88\83â\88\83K2,W,V. â\9d¨G,K1â\9d© ⊢ ⓝW.V ![h,a] & G ⊢ K1 ⫃![h,a] K2
& I = BPair Abbr (ⓝW.V) & L2 = K2.ⓛW.
/2 width=3 by lsubv_inv_bind_sn_aux/ qed-.
qed-.
(* Basic_2A1: uses: lsubsv_inv_atom2 *)
-lemma lsubv_inv_atom2 (h) (a) (G):
+lemma lsubv_inv_atom_dx (h) (a) (G):
∀L1. G ⊢ L1 ⫃![h,a] ⋆ → L1 = ⋆.
/2 width=6 by lsubv_inv_atom_dx_aux/ qed-.
fact lsubv_inv_bind_dx_aux (h) (a) (G):
∀L1,L2. G ⊢ L1 ⫃![h,a] L2 →
- ∀I,K2. L2 = K2.ⓘ{I} →
- ∨∨ ∃∃K1. G ⊢ K1 ⫃![h,a] K2 & L1 = K1.ⓘ{I}
- | â\88\83â\88\83K1,W,V. â¦\83G,K1â¦\84 ⊢ ⓝW.V ![h,a] &
+ ∀I,K2. L2 = K2.ⓘ[I] →
+ ∨∨ ∃∃K1. G ⊢ K1 ⫃![h,a] K2 & L1 = K1.ⓘ[I]
+ | â\88\83â\88\83K1,W,V. â\9d¨G,K1â\9d© ⊢ ⓝW.V ![h,a] &
G ⊢ K1 ⫃![h,a] K2 & I = BPair Abst W & L1 = K1.ⓓⓝW.V.
#h #a #G #L1 #L2 * -L1 -L2
[ #J #K2 #H destruct
(* Basic_2A1: uses: lsubsv_inv_pair2 *)
lemma lsubv_inv_bind_dx (h) (a) (G):
- ∀I,L1,K2. G ⊢ L1 ⫃![h,a] K2.ⓘ{I} →
- ∨∨ ∃∃K1. G ⊢ K1 ⫃![h,a] K2 & L1 = K1.ⓘ{I}
- | â\88\83â\88\83K1,W,V. â¦\83G,K1â¦\84 ⊢ ⓝW.V ![h,a] &
+ ∀I,L1,K2. G ⊢ L1 ⫃![h,a] K2.ⓘ[I] →
+ ∨∨ ∃∃K1. G ⊢ K1 ⫃![h,a] K2 & L1 = K1.ⓘ[I]
+ | â\88\83â\88\83K1,W,V. â\9d¨G,K1â\9d© ⊢ ⓝW.V ![h,a] &
G ⊢ K1 ⫃![h,a] K2 & I = BPair Abst W & L1 = K1.ⓓⓝW.V.
/2 width=3 by lsubv_inv_bind_dx_aux/ qed-.