]> matita.cs.unibo.it Git - helm.git/blob - helm/matita/core_notation.ma
merged transformations on top of notation code
[helm.git] / helm / matita / core_notation.ma
1 notation "hvbox(a break \to b)" 
2   right associative with precedence 20
3 for @{ \forall $_:$a.$b }.
4
5 notation < "hvbox(a break \to b)" 
6   right associative with precedence 20
7 for @{ \Pi $_:$a.$b }.
8
9 notation "hvbox(a break = b)" 
10   non associative with precedence 45
11 for @{ 'eq $a $b }.
12
13 notation "hvbox(a break \leq b)" 
14   non associative with precedence 45
15 for @{ 'leq $a $b }.
16
17 notation "hvbox(a break \geq b)" 
18   non associative with precedence 45
19 for @{ 'geq $a $b }.
20
21 notation "hvbox(a break \lt b)" 
22   non associative with precedence 45
23 for @{ 'lt $a $b }.
24
25 notation "hvbox(a break \gt b)" 
26   non associative with precedence 45
27 for @{ 'gt $a $b }.
28
29 notation "hvbox(a break \neq b)" 
30   non associative with precedence 45
31 for @{ 'neq $a $b }.
32
33 notation "hvbox(a break + b)" 
34   left associative with precedence 50
35 for @{ 'plus $a $b }.
36
37 notation "hvbox(a break - b)" 
38   left associative with precedence 50
39 for @{ 'minus $a $b }.
40
41 notation "hvbox(a break * b)" 
42   left associative with precedence 55
43 for @{ 'times $a $b }.
44
45 notation "hvbox(a break / b)" 
46   left associative with precedence 55
47 for @{ 'divide $a $b }.
48
49 notation "\frac a b" 
50   non associative with precedence 90
51 for @{ 'divide $a $b }.
52
53 notation "a \over b" 
54   left associative with precedence 55
55 for @{ 'divide $a $b }.
56
57 notation "- a" 
58   non associative with precedence 60
59 for @{ 'uminus $a }.
60
61 notation "\sqrt a" 
62   non associative with precedence 60
63 for @{ 'sqrt $a }.
64
65 notation "hvbox(a break \lor b)" 
66   left associative with precedence 30
67 for @{ 'or $a $b }.
68
69 notation "hvbox(a break \land b)" 
70   left associative with precedence 35
71 for @{ 'and $a $b }.
72
73 notation "hvbox(\lnot a)" 
74   left associative with precedence 40
75 for @{ 'not $a }.
76
77 (* aritmetic operators *)
78
79 interpretation "natural plus" 'plus x y = (cic:/Coq/Init/Peano/plus.con x y).
80 interpretation "real plus" 'plus x y = (cic:/Coq/Reals/Rdefinitions/Rplus.con x y).
81 interpretation "binary integer plus" 'plus x y = (cic:/Coq/ZArith/BinInt/Zplus.con x y).
82 interpretation "binary positive plus" 'plus x y = (cic:/Coq/NArith/BinPos/Pplus.con x y).
83 interpretation "natural minus" 'minus x y = (cic:/Coq/Init/Peano/minus.con x y).
84 interpretation "real minus" 'minus x y = (cic:/Coq/Reals/Rdefinitions/Rminus.con x y).
85 interpretation "binary integer minus" 'minus x y = (cic:/Coq/ZArith/BinInt/Zminus.con x y).
86 interpretation "binary positive minus" 'minus x y = (cic:/Coq/NArith/BinPos/Pminus.con x y).
87 interpretation "natural times" 'times x y = (cic:/Coq/Init/Peano/mult.con x y).
88 interpretation "real times" 'times x y = (cic:/Coq/Reals/Rdefinitions/Rmult.con x y).
89 interpretation "binary positive times" 'times x y = (cic:/Coq/NArith/BinPos/Pmult.con x y).
90 interpretation "binary integer times" 'times x y = (cic:/Coq/ZArith/BinInt/Zmult.con x y).
91 interpretation "real power" 'power x y = (cic:/Coq/Reals/Rfunctions/pow.con x y).
92 interpretation "integer power" 'power x y = (cic:/Coq/ZArith/Zpower/Zpower.con x y).
93 interpretation "real divide" 'divide x y = (cic:/Coq/Reals/Rdefinitions/Rdiv.con x y).
94 interpretation "real unary minus" 'uminus x = (cic:/Coq/Reals/Rdefinitions/Ropp.con x).
95 interpretation "binary integer negative sign" 'uminus x = (cic:/Coq/ZArith/BinInt/Z.ind#xpointer(1/1/3) x).
96 interpretation "binary integer unary minus" 'uminus x = (cic:/Coq/ZArith/BinInt/Zopp.con x).
97
98 (* logical operators *)
99
100 interpretation "logical and" 'and x y = (cic:/Coq/Init/Logic/and.ind#xpointer(1/1) x y).
101 interpretation "logical or" 'or x y = (cic:/Coq/Init/Logic/or.ind#xpointer(1/1) x y).
102 interpretation "logical not" 'not x = (cic:/Coq/Init/Logic/not.con x).
103 interpretation "exists" 'exists x y = (cic:/Coq/Init/Logic/ex.ind#xpointer(1/1) x y).
104
105 (* relational operators *)
106
107 interpretation "natural 'less or equal to'" 'leq x y = (cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y).
108 interpretation "real 'less or equal to'" 'leq x y = (cic:/Coq/Reals/Rdefinitions/Rle.con x y).
109 interpretation "natural 'greater or equal to'" 'geq x y = (cic:/Coq/Init/Peano/ge.con x y).
110 interpretation "real 'greater or equal to'" 'geq x y = (cic:/Coq/Reals/Rdefinitions/Rge.con x y).
111 interpretation "natural 'less than'" 'lt x y = (cic:/Coq/Init/Peano/lt.con x y).
112 interpretation "real 'less than'" 'lt x y = (cic:/Coq/Reals/Rdefinitions/Rlt.con x y).
113 interpretation "natural 'greater than'" 'gt x y = (cic:/Coq/Init/Peano/gt.con x y).
114 interpretation "real 'greater than'" 'gt x y = (cic:/Coq/Reals/Rdefinitions/Rgt.con x y).
115
116 interpretation "leibnitz's equality" 'eq x y = (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y).
117 interpretation "not equal to (leibnitz)" 'neq x y = (cic:/Coq/Init/Logic/not.con (cic:/Coq/Init/Logic/eq.ind#xpointer(1/1) _ x y)).
118