theorem eq_gen_S_S: \forall m,n. (S m) = (S n) \to m = n.
intros. cut (pred (S m)) = (pred (S n)).
-assumption. elim H. auto. (* bug paramodulation *)
+assumption. elim H. auto paramodulation.
qed.
theorem eq_gen_S_S_cc: \forall m,n. m = n \to (S m) = (S n).
-intros. elim H. auto. (* bug paramodulation *)
+intros. elim H. auto paramodulation.
qed.
inductive le: nat \to nat \to Prop \def
qed.
theorem le_gen_x_O: \forall x. (le x O) \to (x = O).
-intros. apply le_gen_x_O_aux. exact O. auto paramodulation. auto. (* bug paramodulation *)
+intros. apply le_gen_x_O_aux. exact O. auto paramodulation. auto paramodulation.
qed.
theorem le_gen_x_O_cc: \forall x. (x = O) \to (le x O).
theorem le_gen_S_x_aux: \forall m,x,y. (le y x) \to (y = S m) \to
(\exists n. x = (S n) \land (le m n)).
intros 4. elim H.
-apply eq_gen_S_O. exact m. elim H1. auto. (* bug paramodulation *)
+apply eq_gen_S_O. exact m. elim H1. auto paramodulation.
cut n = m. elim Hcut. apply ex_intro. exact n1. auto paramodulation. auto. (* paramodulation non trova la prova *)
qed.
theorem le_gen_S_x: \forall m,x. (le (S m) x) \to
(\exists n. x = (S n) \land (le m n)).
-intros. apply le_gen_S_x_aux. exact (S m). auto paramodulation. auto. (* bug paramodulation *)
+intros. apply le_gen_S_x_aux. exact (S m). auto paramodulation. auto paramodulation.
qed.
theorem le_gen_S_x_cc: \forall m,x. (\exists n. x = (S n) \land (le m n)) \to
(le (S m) x).
-intros. elim H. elim H1. cut (S x1) = x. elim Hcut. auto paramodulation. elim H2. auto. (* bug paramodulation *)
+intros. elim H. elim H1. cut (S x1) = x. elim Hcut. auto paramodulation. elim H2. auto paramodulation.
qed.
theorem le_gen_S_S: \forall m,n. (le (S m) (S n)) \to (le m n).