X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Ftests%2Ffguidi.ma;h=5def3ec470f664e0ac00c32e1d0c49a97b81d697;hb=37bbd741fbba797bc7c64318f13edce28131cd91;hp=44e344ab202f65be837bb0bb2826b30f8a221e12;hpb=3ee4674162a39cb65b08d492278738008057566d;p=helm.git diff --git a/matita/tests/fguidi.ma b/matita/tests/fguidi.ma index 44e344ab2..5def3ec47 100644 --- a/matita/tests/fguidi.ma +++ b/matita/tests/fguidi.ma @@ -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; auto. +apply eq_gen_S_S. auto. 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. *)