X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Ftests%2Ffguidi.ma;h=565a5c49aa88077cfabdc1b0c996959fdbe56f6f;hb=f263e4ec717d5ec2e7f9c057855f8223f81baae8;hp=c0662e78f9986fc3b6d59124efb9272f44aca417;hpb=06ef12ecdaa09ed6e9c2b00554010e6b59f77744;p=helm.git diff --git a/helm/matita/tests/fguidi.ma b/helm/matita/tests/fguidi.ma index c0662e78f..565a5c49a 100644 --- a/helm/matita/tests/fguidi.ma +++ b/helm/matita/tests/fguidi.ma @@ -1,4 +1,4 @@ -set "baseuri" "cic:/matita/tests/". +set "baseuri" "cic:/matita/tests/fguidi/". 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)". @@ -7,12 +7,12 @@ alias id "le" = "cic:/matita/fguidi/le.ind#xpointer(1/1)". alias id "False_ind" = "cic:/Coq/Init/Logic/False_ind.con". alias id "I" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1/1)". alias id "ex_intro" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1/1)". +alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". +alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". alias symbol "and" (instance 0) = "logical and". alias symbol "eq" (instance 0) = "leibnitz's equality". alias symbol "exists" (instance 0) = "exists". -alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". -alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". definition is_S: nat \to Prop \def \lambda n. match n with @@ -53,7 +53,7 @@ qed. theorem le_gen_x_O_aux: \forall x, y. (le x y) \to (y =O) \to (x = O). -intros 3. elim H. auto. apply eq_gen_S_O. exact x2. auto. +intros 3. elim H. auto. apply eq_gen_S_O. exact e3. auto. qed. theorem le_gen_x_O: \forall x. (le x O) \to (x = O). @@ -68,7 +68,7 @@ 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. -cut x1 = m. elim Hcut. apply ex_intro. exact x2. auto. auto. +cut e4 = m. elim Hcut. apply ex_intro. exact e3. auto. auto. qed. theorem le_gen_S_x: \forall m,x. (le (S m) x) \to @@ -82,25 +82,17 @@ intros. elim H. elim H1. cut (S x1) = x. elim Hcut. auto. elim H2. auto. qed. theorem le_gen_S_S: \forall m,n. (le (S m) (S n)) \to (le m n). -intros. cut (\exists p. (S n) = (S p) \land (le m p)). -elim Hcut. elim H1. cut x = n. -elim Hcut1. auto. symmetry. auto. auto. +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. qed. theorem le_gen_S_S_cc: \forall m,n. (le m n) \to (le (S m) (S n)). intros. auto. qed. - -theorem le_gen_S_x_2: \forall m,x. (le (S m) x) \to - \exists n. x = (S n) \land (le m n). -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_2 to H using H0. elim H0. elim H1. -lapply eq_gen_S_S to H2 using H4. rewrite > H4. assumption. -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 x. auto. +clear H. fwd H1 [H]. decompose H. +*) \ No newline at end of file