]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/tests/simpl.ma
ocaml 3.09 transition
[helm.git] / helm / matita / tests / simpl.ma
index dbc4e9c06e54cfbf1c50d7d2345f2d31dd0c236c..1001d2351f0b97a50da92ef8a48cad25b17b4c47 100644 (file)
 set "baseuri" "cic:/matita/tests/simpl/".
 include "coq.ma".
 
-alias id "not" = "cic:/Coq/Init/Logic/not.con".
 alias symbol "eq" (instance 0) = "Coq's leibnitz's equality".
+alias id "plus" = "cic:/Coq/Init/Peano/plus.con".
+alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)".
+alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
+alias id "not" = "cic:/Coq/Init/Logic/not.con".
+alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
+alias id "plus_comm" = "cic:/Coq/Arith/Plus/plus_comm.con".
+
 theorem a : 
  \forall A:Set.
  \forall x,y : A.
  not (x = y) \to not(y = x).
 intros.
-simplify.
+unfold not. (* simplify. *)
 intro. apply H.
 symmetry.
 exact H1.
 qed.
+
+theorem t: let f \def \lambda x,y. x y in f (\lambda x.S x) O = S O.
+ intros. simplify. change in \vdash (? ? (? %) ?) with O. 
+ reflexivity. qed.
+
+theorem X: \forall x:nat. let myplus \def plus x in myplus (S O) = S x.
+ intros. simplify. change in \vdash (? ? (% ?) ?) with (plus x).
+
+rewrite > plus_comm. reflexivity. qed.
+theorem R: \forall x:nat. let uno \def x + O in S O + uno = 1 + x.
+ intros. simplify.
+  change in \vdash (? ? (? %) ?) with (x + O).
+  rewrite > plus_comm. reflexivity. qed.