+lemma cpms_delta (h) (n) (G): ∀K,V1,V2. ❪G,K❫ ⊢ V1 ➡*[h,n] V2 →
+ ∀W2. ⇧[1] V2 ≘ W2 → ❪G,K.ⓓV1❫ ⊢ #0 ➡*[h,n] W2.
+#h #n #G #K #V1 #V2 #H @(cpms_ind_dx … H) -V2
+[ /3 width=3 by cpm_cpms, cpm_delta/
+| #n1 #n2 #V #V2 #_ #IH #HV2 #W2 #HVW2
+ elim (lifts_total V (𝐔❨1❩)) #W #HVW
+ /5 width=11 by cpms_step_dx, cpm_lifts_bi, drops_refl, drops_drop/
+]
+qed.
+
+lemma cpms_ell (h) (n) (G): ∀K,V1,V2. ❪G,K❫ ⊢ V1 ➡*[h,n] V2 →
+ ∀W2. ⇧[1] V2 ≘ W2 → ❪G,K.ⓛV1❫ ⊢ #0 ➡*[h,↑n] W2.
+#h #n #G #K #V1 #V2 #H @(cpms_ind_dx … H) -V2
+[ /3 width=3 by cpm_cpms, cpm_ell/
+| #n1 #n2 #V #V2 #_ #IH #HV2 #W2 #HVW2
+ elim (lifts_total V (𝐔❨1❩)) #W #HVW >plus_S1
+ /5 width=11 by cpms_step_dx, cpm_lifts_bi, drops_refl, drops_drop/
+]
+qed.
+
+lemma cpms_lref (h) (n) (I) (G): ∀K,T,i. ❪G,K❫ ⊢ #i ➡*[h,n] T →
+ ∀U. ⇧[1] T ≘ U → ❪G,K.ⓘ[I]❫ ⊢ #↑i ➡*[h,n] U.
+#h #n #I #G #K #T #i #H @(cpms_ind_dx … H) -T
+[ /3 width=3 by cpm_cpms, cpm_lref/
+| #n1 #n2 #T #T2 #_ #IH #HT2 #U2 #HTU2
+ elim (lifts_total T (𝐔❨1❩)) #U #TU
+ /5 width=11 by cpms_step_dx, cpm_lifts_bi, drops_refl, drops_drop/
+]
+qed.
+
+lemma cpms_cast_sn (h) (n) (G) (L):
+ ∀U1,U2. ❪G,L❫ ⊢ U1 ➡*[h,n] U2 →
+ ∀T1,T2. ❪G,L❫ ⊢ T1 ➡[h,n] T2 →
+ ❪G,L❫ ⊢ ⓝU1.T1 ➡*[h,n] ⓝU2.T2.
+#h #n #G #L #U1 #U2 #H @(cpms_ind_sn … H) -U1 -n
+[ /3 width=3 by cpm_cpms, cpm_cast/
+| #n1 #n2 #U1 #U #HU1 #_ #IH #T1 #T2 #H
+ elim (cpm_fwd_plus … H) -H #T #HT1 #HT2
+ /3 width=3 by cpms_step_sn, cpm_cast/
+]
+qed.
+