-(* Basic properties with r-transition ***************************************)
-
-(* Basic_1: was: pr3_refl *)
-lemma cprs_refl: ∀h,G,L. reflexive … (cpms h G L 0).
-/2 width=1 by cpm_cpms/ qed.
+lemma cpms_inv_cast1 (h) (n) (G) (L):
+ ∀W1,T1,X2. ⦃G, L⦄ ⊢ ⓝW1.T1 ➡*[n,h] X2 →
+ ∨∨ ∃∃W2,T2. ⦃G, L⦄ ⊢ W1 ➡*[n,h] W2 & ⦃G, L⦄ ⊢ T1 ➡*[n,h] T2 & X2 = ⓝW2.T2
+ | ⦃G, L⦄ ⊢ T1 ➡*[n,h] X2
+ | ∃∃m. ⦃G, L⦄ ⊢ W1 ➡*[m,h] X2 & n = ↑m.
+#h #n #G #L #W1 #T1 #X2 #H @(cpms_ind_dx … H) -n -X2
+[ /3 width=5 by or3_intro0, ex3_2_intro/
+| #n1 #n2 #X #X2 #_ * [ * || * ]
+ [ #W #T #HW1 #HT1 #H #HX2 destruct
+ elim (cpm_inv_cast1 … HX2) -HX2 [ * || * ]
+ [ #W2 #T2 #HW2 #HT2 #H destruct
+ /4 width=5 by cpms_step_dx, ex3_2_intro, or3_intro0/
+ | #HX2 /3 width=3 by cpms_step_dx, or3_intro1/
+ | #m #HX2 #H destruct <plus_n_Sm
+ /4 width=3 by cpms_step_dx, ex2_intro, or3_intro2/
+ ]
+ | #HX #HX2 /3 width=3 by cpms_step_dx, or3_intro1/
+ | #m #HX #H #HX2 destruct
+ /4 width=3 by cpms_step_dx, ex2_intro, or3_intro2/
+ ]
+]
+qed-.