+definition k : A → A ≝ λx.a.
+definition k1 : A → A ≝ λx.a.
+
+axiom P : A → Prop.
+
+include "nat/plus.ma".
+
+ntheorem pappo : ∀n:nat.n = S n + n → S n = (S (S n)).
+#m; #H; napply (let pippo ≝ (S m) in ?);
+nchange in match (S m) in ⊢ (?) with pippo;
+
+nletin pippo ≝ (S m) in H ⊢ (?);
+
+nwhd in H:(???%);
+nchange in match (S ?) in H:% ⊢ (? → %) with (pred (S ?));
+ntaint;
+
+ngeneralize in match m in ⊢ %; in ⊢ (???% → ??%?);
+STOP
+ncases (O) in m : % (*H : (??%?)*) ⊢ (???%);
+nelim (S m) in H : (??%?) ⊢ (???%);
+STOP;
+
+ntheorem pippo : ∀x:A. P (k x).
+nchange in match (k x) in ⊢ (∀_.%) with (k1 x); STOP
+
+ntheorem prova : (A → A → C) → C.
+napply (λH.?);
+napply (H ? ?); nchange A xxx;