]> matita.cs.unibo.it Git - helm.git/blob - helm/matita/tests/simpl.ma
simplify and let-in
[helm.git] / helm / 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 "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
24
25 theorem a : 
26  \forall A:Set.
27  \forall x,y : A.
28  not (x = y) \to not(y = x).
29 intros.
30 simplify.
31 intro. apply H.
32 symmetry.
33 exact H1.
34 qed.
35
36 theorem t: let f \def \lambda x,y. x y in f (\lambda x.S x) O = S O.
37  intros. simplify. change in \vdash (? ? (? %) ?) with O. 
38  reflexivity. qed.
39  
40 theorem X: \forall x:nat. let myplus \def plus x in myplus (S O) = S x.
41  intros. simplify. change in \vdash (? ? (% ?) ?) with plus x.
42  rewrite > plus_comm. reflexivity. qed.
43  
44 theorem R: \forall x:nat. let uno \def x + O in S O + uno = 1 + x.
45  intros. simplify.
46   change in \vdash (? ? (? %) ?) with x + O.
47   rewrite > plus_comm. reflexivity. qed.
48