1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| A.Asperti, C.Sacerdoti Coen, *)
8 (* ||A|| E.Tassi, S.Zacchiroli *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU Lesser General Public License Version 2.1 *)
13 (**************************************************************************)
16 cic:/Coq/Init/Logic/eq.ind
17 cic:/Coq/Init/Logic/sym_eq.con
18 cic:/Coq/Init/Logic/trans_eq.con
19 cic:/Coq/Init/Logic/eq_ind.con
20 cic:/Coq/Init/Logic/eq_ind_r.con
21 cic:/Coq/Init/Logic/eq_rec.con
22 cic:/Coq/Init/Logic/eq_rec_r.con
23 cic:/Coq/Init/Logic/eq_rect.con
24 cic:/Coq/Init/Logic/eq_rect_r.con
25 cic:/Coq/Init/Logic/f_equal.con
26 cic:/matita/legacy/coq/f_equal1.con.
29 cic:/Coq/Init/Logic/True.ind.
31 cic:/Coq/Init/Logic/False.ind.
33 cic:/Coq/Init/Logic/absurd.con.
35 (* aritmetic operators *)
37 interpretation "Coq's natural plus" 'plus x y = (cic:/Coq/Init/Peano/plus.con x y).
38 interpretation "Coq's real plus" 'plus x y = (cic:/Coq/Reals/Rdefinitions/Rplus.con x y).
39 interpretation "Coq's binary integer plus" 'plus x y = (cic:/Coq/ZArith/BinInt/Zplus.con x y).
40 interpretation "Coq's binary positive plus" 'plus x y = (cic:/Coq/NArith/BinPos/Pplus.con x y).
41 interpretation "Coq's natural minus" 'minus x y = (cic:/Coq/Init/Peano/minus.con x y).
42 interpretation "Coq's real minus" 'minus x y = (cic:/Coq/Reals/Rdefinitions/Rminus.con x y).
43 interpretation "Coq's binary integer minus" 'minus x y = (cic:/Coq/ZArith/BinInt/Zminus.con x y).
44 interpretation "Coq's binary positive minus" 'minus x y = (cic:/Coq/NArith/BinPos/Pminus.con x y).
45 interpretation "Coq's natural times" 'times x y = (cic:/Coq/Init/Peano/mult.con x y).
46 interpretation "Coq's real times" 'times x y = (cic:/Coq/Reals/Rdefinitions/Rmult.con x y).
47 interpretation "Coq's binary positive times" 'times x y = (cic:/Coq/NArith/BinPos/Pmult.con x y).
48 interpretation "Coq's binary integer times" 'times x y = (cic:/Coq/ZArith/BinInt/Zmult.con x y).
49 interpretation "Coq's real power" 'power x y = (cic:/Coq/Reals/Rfunctions/pow.con x y).
50 interpretation "Coq's integer power" 'power x y = (cic:/Coq/ZArith/Zpower/Zpower.con x y).
51 interpretation "Coq's real divide" 'divide x y = (cic:/Coq/Reals/Rdefinitions/Rdiv.con x y).
52 interpretation "Coq's real unary minus" 'uminus x = (cic:/Coq/Reals/Rdefinitions/Ropp.con x).
53 interpretation "Coq's binary integer negative sign" 'uminus x = (cic:/Coq/ZArith/BinInt/Z.ind#xpointer(1/1/3) x).
54 interpretation "Coq's binary integer unary minus" 'uminus x = (cic:/Coq/ZArith/BinInt/Zopp.con x).
56 (* logical operators *)
58 interpretation "Coq's logical and" 'and x y = (cic:/Coq/Init/Logic/and.ind#xpointer(1/1) x y).
59 interpretation "Coq's logical or" 'or x y = (cic:/Coq/Init/Logic/or.ind#xpointer(1/1) x y).
60 interpretation "Coq's logical not" 'not x = (cic:/Coq/Init/Logic/not.con x).
61 interpretation "Coq's exists" 'exists \eta.x = (cic:/Coq/Init/Logic/ex.ind#xpointer(1/1) _ x).
63 (* relational operators *)
65 interpretation "Coq's natural 'less or equal to'" 'leq x y = (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y).
66 interpretation "Coq's real 'less or equal to'" 'leq x y = (cic:/Coq/Reals/Rdefinitions/Rle.con x y).
67 interpretation "Coq's natural 'greater or equal to'" 'geq x y = (cic:/Coq/Init/Peano/ge.con x y).
68 interpretation "Coq's real 'greater or equal to'" 'geq x y = (cic:/Coq/Reals/Rdefinitions/Rge.con x y).
69 interpretation "Coq's natural 'less than'" 'lt x y = (cic:/Coq/Init/Peano/lt.con x y).
70 interpretation "Coq's real 'less than'" 'lt x y = (cic:/Coq/Reals/Rdefinitions/Rlt.con x y).
71 interpretation "Coq's natural 'greater than'" 'gt x y = (cic:/Coq/Init/Peano/gt.con x y).
72 interpretation "Coq's real 'greater than'" 'gt x y = (cic:/Coq/Reals/Rdefinitions/Rgt.con x y).
74 interpretation "Coq's leibnitz's equality" 'eq x y = (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y).
75 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)).
77 interpretation "Coq's natural 'not less or equal than'"
78 'nleq x y = (cic:/Coq/Init/Logic/not.con
79 (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y)).
81 theorem f_equal1 : \forall A,B:Type.\forall f:A\to B.\forall x,y:A.
82 x = y \to (f y) = (f x).
85 apply cic:/Coq/Init/Logic/f_equal.con.
90 (* FG: This is because "and" is a reserved keyword of the parser *)
91 alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)".