]> matita.cs.unibo.it Git - helm.git/blob - matita/tests/simpl.ma
Missing optimization implemented: before starting to analyze the disambiguation
[helm.git] / matita / tests / simpl.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 set "baseuri" "cic:/matita/tests/simpl/".
16 include "legacy/coq.ma".
17
18 alias symbol "eq" (instance 0) = "Coq's leibnitz's equality".
19 alias id "plus" = "cic:/Coq/Init/Peano/plus.con".
20 alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)".
21 alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
22 alias id "not" = "cic:/Coq/Init/Logic/not.con".
23 alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
24 alias id "plus_comm" = "cic:/Coq/Arith/Plus/plus_comm.con".
25
26 theorem t: let f \def \lambda x,y. x y in f (\lambda x.S x) O = S O.
27  intros. simplify. change in \vdash (? ? (? ? %) ?) with O. 
28  reflexivity. qed.
29
30 theorem X: \forall x:nat. let myplus \def plus x in myplus (S O) = S x.
31  intros. simplify. change in \vdash (? ? (% ?) ?) with (plus x).
32
33 rewrite > plus_comm. reflexivity. qed.
34
35 theorem R: \forall x:nat. let uno \def x + O in S O + uno = 1 + x.
36  intros. simplify.
37   change in \vdash (? ? (? %) ?) with (x + O).
38   rewrite > plus_comm. reflexivity. qed.
39