-lemma cpce_inv_zero_sn (h) (G) (K) (X2):
- ∀I. ⦃G,K.ⓘ{I}⦄ ⊢ #0 ⬌η[h] X2 →
- ∨∨ ∧∧ ∀n,p,W,V,U. I = BPair Abst W → ⦃G,K⦄ ⊢ W ➡*[n,h] ⓛ{p}V.U → ⊥ & #0 = X2
- | ∃∃n,p,W,V1,V2,W2,U. ⦃G,K⦄ ⊢ W ➡*[n,h] ⓛ{p}V1.U & ⦃G,K⦄ ⊢ V1 ⬌η[h] V2
- & ⇧*[1] V2 ≘ W2 & I = BPair Abst W & +ⓛW2.ⓐ#0.#1 = X2.
-#h #G #Y0 #X2 #Z
-@(insert_eq_0 … (Y0.ⓘ{Z})) #Y
+lemma cpce_inv_unit_sn (h) (I) (G) (K):
+ ∀X2. ⦃G,K.ⓤ{I}⦄ ⊢ #0 ⬌η[h] X2 → #0 = X2.
+#h #I0 #G #K0 #X2
+@(insert_eq_0 … (K0.ⓤ{I0})) #Y
+@(insert_eq_0 … (#0)) #X1
+* -G -Y -X1 -X2
+[ #G #L #s #_ #_ //
+| #G #i #_ #_ //
+| #I #G #K #_ #_ //
+| #G #K #V #_ #_ //
+| #G #K #W #_ #_ #_ //
+| #n #p #G #K #W #W1 #W2 #V #V1 #V2 #U #_ #_ #_ #_ #_ #_ #H destruct
+| #I #G #K #T #U #i #_ #_ #H #_ destruct
+| #G #L #l #_ #_ //
+| #p #I #G #K #V1 #V2 #T1 #T2 #_ #_ #H #_ destruct
+| #I #G #L #V1 #V2 #T1 #T2 #_ #_ #H #_ destruct
+]
+qed-.
+
+lemma cpce_inv_ldef_sn (h) (G) (K) (V):
+ ∀X2. ⦃G,K.ⓓV⦄ ⊢ #0 ⬌η[h] X2 → #0 = X2.
+#h #G #K0 #V0 #X2
+@(insert_eq_0 … (K0.ⓓV0)) #Y
+@(insert_eq_0 … (#0)) #X1
+* -G -Y -X1 -X2
+[ #G #L #s #_ #_ //
+| #G #i #_ #_ //
+| #I #G #K #_ #_ //
+| #G #K #V #_ #_ //
+| #G #K #W #_ #_ #_ //
+| #n #p #G #K #W #W1 #W2 #V #V1 #V2 #U #_ #_ #_ #_ #_ #_ #H destruct
+| #I #G #K #T #U #i #_ #_ #H #_ destruct
+| #G #L #l #_ #_ //
+| #p #I #G #K #V1 #V2 #T1 #T2 #_ #_ #H #_ destruct
+| #I #G #L #V1 #V2 #T1 #T2 #_ #_ #H #_ destruct
+]
+qed-.
+
+lemma cpce_inv_ldec_sn (h) (G) (K) (W):
+ ∀X2. ⦃G,K.ⓛW⦄ ⊢ #0 ⬌η[h] X2 →
+ ∨∨ ∧∧ ∀n,p,V,U. ⦃G,K⦄ ⊢ W ➡*[n,h] ⓛ{p}V.U → ⊥ & #0 = X2
+ | ∃∃n,p,W1,W2,V,V1,V2,U. ⦃G,K⦄ ⊢ W ➡*[n,h] ⓛ{p}V.U
+ & ⦃G,K⦄ ⊢ W ⬌η[h] W1 & ⇧*[1] W1 ≘ W2
+ & ⦃G,K⦄ ⊢ V ⬌η[h] V1 & ⇧*[1] V1 ≘ V2
+ & ⓝW2.+ⓛV2.ⓐ#0.#1 = X2.
+#h #G #K0 #W0 #X2
+@(insert_eq_0 … (K0.ⓛW0)) #Y