]> matita.cs.unibo.it Git - helm.git/blob - matita/legacy/coq.ma
1. buf fixed in eval_from_stream when first_statemente_only=true:
[helm.git] / matita / legacy / coq.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||       A.Asperti, C.Sacerdoti Coen,                          *)
8 (*      ||A||       E.Tassi, S.Zacchiroli                                 *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU Lesser General Public License Version 2.1         *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 set "baseuri" "cic:/matita/legacy/coq/".
16
17 default "equality"
18  cic:/Coq/Init/Logic/eq.ind
19  cic:/Coq/Init/Logic/sym_eq.con
20  cic:/Coq/Init/Logic/trans_eq.con
21  cic:/Coq/Init/Logic/eq_ind.con
22  cic:/Coq/Init/Logic/eq_ind_r.con
23  cic:/Coq/Init/Logic/f_equal.con
24  cic:/matita/legacy/coq/f_equal1.con.
25
26 default "true"
27  cic:/Coq/Init/Logic/True.ind. 
28 default "false"
29  cic:/Coq/Init/Logic/False.ind. 
30 default "absurd"
31  cic:/Coq/Init/Logic/absurd.con. 
32
33 (* aritmetic operators *)
34
35 interpretation "Coq's natural plus" 'plus x y = (cic:/Coq/Init/Peano/plus.con x y).
36 interpretation "Coq's real plus" 'plus x y = (cic:/Coq/Reals/Rdefinitions/Rplus.con x y).
37 interpretation "Coq's binary integer plus" 'plus x y = (cic:/Coq/ZArith/BinInt/Zplus.con x y).
38 interpretation "Coq's binary positive plus" 'plus x y = (cic:/Coq/NArith/BinPos/Pplus.con x y).
39 interpretation "Coq's natural minus" 'minus x y = (cic:/Coq/Init/Peano/minus.con x y).
40 interpretation "Coq's real minus" 'minus x y = (cic:/Coq/Reals/Rdefinitions/Rminus.con x y).
41 interpretation "Coq's binary integer minus" 'minus x y = (cic:/Coq/ZArith/BinInt/Zminus.con x y).
42 interpretation "Coq's binary positive minus" 'minus x y = (cic:/Coq/NArith/BinPos/Pminus.con x y).
43 interpretation "Coq's natural times" 'times x y = (cic:/Coq/Init/Peano/mult.con x y).
44 interpretation "Coq's real times" 'times x y = (cic:/Coq/Reals/Rdefinitions/Rmult.con x y).
45 interpretation "Coq's binary positive times" 'times x y = (cic:/Coq/NArith/BinPos/Pmult.con x y).
46 interpretation "Coq's binary integer times" 'times x y = (cic:/Coq/ZArith/BinInt/Zmult.con x y).
47 interpretation "Coq's real power" 'power x y = (cic:/Coq/Reals/Rfunctions/pow.con x y).
48 interpretation "Coq's integer power" 'power x y = (cic:/Coq/ZArith/Zpower/Zpower.con x y).
49 interpretation "Coq's real divide" 'divide x y = (cic:/Coq/Reals/Rdefinitions/Rdiv.con x y).
50 interpretation "Coq's real unary minus" 'uminus x = (cic:/Coq/Reals/Rdefinitions/Ropp.con x).
51 interpretation "Coq's binary integer negative sign" 'uminus x = (cic:/Coq/ZArith/BinInt/Z.ind#xpointer(1/1/3) x).
52 interpretation "Coq's binary integer unary minus" 'uminus x = (cic:/Coq/ZArith/BinInt/Zopp.con x).
53
54 (* logical operators *)
55
56 interpretation "Coq's logical and" 'and x y = (cic:/Coq/Init/Logic/and.ind#xpointer(1/1) x y).
57 interpretation "Coq's logical or" 'or x y = (cic:/Coq/Init/Logic/or.ind#xpointer(1/1) x y).
58 interpretation "Coq's logical not" 'not x = (cic:/Coq/Init/Logic/not.con x).
59 interpretation "Coq's exists" 'exists \eta.x = (cic:/Coq/Init/Logic/ex.ind#xpointer(1/1) _ x).
60
61 (* relational operators *)
62
63 interpretation "Coq's natural 'less or equal to'" 'leq x y = (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y).
64 interpretation "Coq's real 'less or equal to'" 'leq x y = (cic:/Coq/Reals/Rdefinitions/Rle.con x y).
65 interpretation "Coq's natural 'greater or equal to'" 'geq x y = (cic:/Coq/Init/Peano/ge.con x y).
66 interpretation "Coq's real 'greater or equal to'" 'geq x y = (cic:/Coq/Reals/Rdefinitions/Rge.con x y).
67 interpretation "Coq's natural 'less than'" 'lt x y = (cic:/Coq/Init/Peano/lt.con x y).
68 interpretation "Coq's real 'less than'" 'lt x y = (cic:/Coq/Reals/Rdefinitions/Rlt.con x y).
69 interpretation "Coq's natural 'greater than'" 'gt x y = (cic:/Coq/Init/Peano/gt.con x y).
70 interpretation "Coq's real 'greater than'" 'gt x y = (cic:/Coq/Reals/Rdefinitions/Rgt.con x y).
71
72 interpretation "Coq's leibnitz's equality" 'eq x y = (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y).
73 interpretation "Coq's not equal to (leibnitz)" 'neq x y = (cic:/Coq/Init/Logic/not.con (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y)).
74
75 interpretation "Coq's natural 'not less or equal than'"
76  'nleq x y = (cic:/Coq/Init/Logic/not.con 
77                (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y)).
78                
79 theorem f_equal1 : \forall A,B:Type.\forall f:A\to B.\forall x,y:A.
80   x = y \to (f y) = (f x).
81   intros.
82   symmetry.
83   apply cic:/Coq/Init/Logic/f_equal.con.
84   assumption.
85 qed.
86 (* aliases *)
87
88 (* FG: This is because "and" is a reserved keyword of the parser *)
89 alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)".
90