]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/tests/fguidi.ma
auto proof are printed in procedural style
[helm.git] / matita / tests / fguidi.ma
index 44e344ab202f65be837bb0bb2826b30f8a221e12..165f9ce302fd35e0c2aaa9776bfe652f3996484b 100644 (file)
@@ -13,7 +13,7 @@
 (**************************************************************************)
 
 set "baseuri" "cic:/matita/tests/fguidi/".
-include "legacy/coq.ma".
+include "../legacy/coq.ma".
 
 alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
 alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
@@ -42,11 +42,11 @@ definition pred: nat \to nat \def
       ]. 
 
 theorem eq_gen_S_O: \forall x. (S x = O) \to \forall P:Prop. P.
-intros. apply False_ind. cut (is_S O). auto new. elim H. exact I.
+intros. apply False_ind. cut (is_S O). elim Hcut. rewrite < H. apply I.
 qed.
 
 theorem eq_gen_S_O_cc: (\forall P:Prop. P) \to \forall x. (S x = O).
-intros. auto new.
+intros. apply H.
 qed.
 
 theorem eq_gen_S_S: \forall m,n. (S m) = (S n) \to m = n. 
@@ -63,7 +63,7 @@ inductive le: nat \to nat \to Prop \def
    | le_succ: \forall m, n. (le m n) \to (le (S m) (S n)).
 
 theorem le_refl: \forall x. (le x x).
-intros. elim x. auto paramodulation. auto paramodulation.
+intros. elim x; auto new.
 qed.
 
 theorem le_gen_x_O_aux: \forall x, y. (le x y) \to (y =O) \to 
@@ -76,14 +76,16 @@ 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).
-intros. elim H. auto paramodulation.
+intros. elim H. auto new.
 qed.
 
 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
+intros 4. elim H; clear H x y.
 apply eq_gen_S_O. exact m. elim H1. auto paramodulation.
-cut (n = m). elim Hcut. apply ex_intro. exact n1. auto paramodulation. auto new. (* paramodulation non trova la prova *)
+clear H2. cut (n = m).
+elim Hcut. apply ex_intro. exact n1. split; autobatch.
+apply eq_gen_S_S. autobatch.
 qed.
 
 theorem le_gen_S_x: \forall m,x. (le (S m) x) \to 
@@ -93,22 +95,23 @@ 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 paramodulation.
+intros. elim H. elim H1. cut ((S x1) = x). elim Hcut. auto new.
+elim H2. auto paramodulation.
 qed.
 
 theorem le_gen_S_S: \forall m,n. (le (S m) (S n)) \to (le m n).
 intros.
-lapply le_gen_S_x to H using H0. elim H0. elim H1. 
-lapply eq_gen_S_S to H2 using H4. rewrite > H4. assumption.
+lapply le_gen_S_x to H as H0. elim H0. elim H1. 
+lapply eq_gen_S_S to H2 as H4. rewrite > H4. assumption.
 qed.
 
 theorem le_gen_S_S_cc: \forall m,n. (le m n) \to (le (S m) (S n)).
-intros. auto paramodulation.
+intros. auto new.
 qed.
 
 (*
 theorem le_trans: \forall x,y. (le x y) \to \forall z. (le y z) \to (le x z).
 intros 1. elim x; clear H. clear x. 
 auto paramodulation.
-fwd H1 [H]. decompose H.
+fwd H1 [H]. decompose.
 *)