intros. auto.
qed.
+(* teorema di prova che non compila per via del let *)
+theorem le_gen_S_x_2: \forall m,x. (le (S m) x) \to let k \def (S O) in
+ (\exists n. x = (S n) \land (le m n) \land k = k).
+intros.
+lapply le_gen_S_x to H using H0. elim H0. elim H1.
+exists. exact x1. auto.
+qed.
+
(* proof of le_gen_S_S with lapply *)
theorem le_gen_S_S_2: \forall m,n. (le (S m) (S n)) \to (le m n).
intros.
-lapply le_gen_S_x to H. elim Hcut1. elim H1.
-lapply eq_gen_S_S to H2. rewrite left Hcut3. assumption.
+lapply le_gen_S_x_2 to H using H0. elim H0. elim H1.
+lapply eq_gen_S_S to H2 using H4. rewrite left H4. assumption.
qed.
\ No newline at end of file