]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/core_notation.moo
more notation moved to core notation, unification of duplicated CProp connectives
[helm.git] / helm / software / matita / core_notation.moo
1 notation < "hvbox(\exists ident i opt (: ty) break . p)"
2   right associative with precedence 20
3 for @{ 'exists ${default
4   @{\lambda ${ident i} : $ty. $p}
5   @{\lambda ${ident i} . $p}}}.
6
7 notation > "\exists list1 ident x sep , opt (: T). term 19 Px"
8   with precedence 20
9   for ${ default
10           @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}:$T.$acc)} } }
11           @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } }
12        }.
13
14 notation "hvbox(\langle term 19 a, break term 19 b\rangle)" 
15 with precedence 90 for @{ 'pair $a $b}.
16
17 notation "hvbox(x break \times y)" with precedence 70
18 for @{ 'product $x $y}.
19
20 notation < "\fst \nbsp term 90 x" with precedence 69 for @{'pi1a $x}.
21 notation < "\snd \nbsp term 90 x" with precedence 69 for @{'pi2a $x}.
22
23 notation < "\fst \nbsp term 90 x \nbsp term 90 y" with precedence 69 for @{'pi1b $x $y}.
24 notation < "\snd \nbsp term 90 x \nbsp term 90 y" with precedence 69 for @{'pi2b $x $y}.
25
26 notation > "\fst" with precedence 90 for @{'pi1}.
27 notation > "\snd" with precedence 90 for @{'pi2}.
28
29 notation "hvbox(a break \to b)" 
30   right associative with precedence 20
31 for @{ \forall $_:$a.$b }.
32
33 notation < "hvbox(a break \to b)" 
34   right associative with precedence 20
35 for @{ \Pi $_:$a.$b }.
36
37 notation "hvbox(a break = b)" 
38   non associative with precedence 45
39 for @{ 'eq $a $b }.
40
41 notation "hvbox(a break \leq b)" 
42   non associative with precedence 45
43 for @{ 'leq $a $b }.
44
45 notation "hvbox(a break \geq b)" 
46   non associative with precedence 45
47 for @{ 'geq $a $b }.
48
49 notation "hvbox(a break \lt b)" 
50   non associative with precedence 45
51 for @{ 'lt $a $b }.
52
53 notation "hvbox(a break \gt b)" 
54   non associative with precedence 45
55 for @{ 'gt $a $b }.
56
57 notation "hvbox(a break \neq b)" 
58   non associative with precedence 45
59 for @{ 'neq $a $b }.
60
61 notation "hvbox(a break \nleq b)" 
62   non associative with precedence 45
63 for @{ 'nleq $a $b }.
64
65 notation "hvbox(a break \ngeq b)" 
66   non associative with precedence 45
67 for @{ 'ngeq $a $b }.
68
69 notation "hvbox(a break \nless b)" 
70   non associative with precedence 45
71 for @{ 'nless $a $b }.
72
73 notation "hvbox(a break \ngtr b)" 
74   non associative with precedence 45
75 for @{ 'ngtr $a $b }.
76
77 notation "hvbox(a break \divides b)"
78   non associative with precedence 45
79 for @{ 'divides $a $b }.
80
81 notation "hvbox(a break \ndivides b)"
82   non associative with precedence 45
83 for @{ 'ndivides $a $b }.
84
85 notation "hvbox(a break + b)" 
86   left associative with precedence 50
87 for @{ 'plus $a $b }.
88
89 notation "hvbox(a break - b)" 
90   left associative with precedence 50
91 for @{ 'minus $a $b }.
92
93 notation "hvbox(a break * b)" 
94   left associative with precedence 55
95 for @{ 'times $a $b }.
96
97 notation "hvbox(a break \middot b)" 
98   left associative with precedence 55
99   for @{ 'middot $a $b }.
100
101 notation "hvbox(a break \mod b)" 
102   left associative with precedence 55
103 for @{ 'module $a $b }.
104
105 notation "\frac a b" 
106   non associative with precedence 90
107 for @{ 'divide $a $b }.
108
109 notation "a \over b" 
110   left associative with precedence 55
111 for @{ 'divide $a $b }.
112
113 notation "hvbox(a break / b)" 
114   left associative with precedence 55
115 for @{ 'divide $a $b }.
116
117 notation "- term 60 a" with precedence 60 
118 for @{ 'uminus $a }.
119
120 notation "a !"
121   non associative with precedence 80
122 for @{ 'fact $a }.
123
124 notation "\sqrt a" 
125   non associative with precedence 60
126 for @{ 'sqrt $a }.
127
128 notation "hvbox(a break \lor b)" 
129   left associative with precedence 30
130 for @{ 'or $a $b }.
131
132 notation "hvbox(a break \land b)" 
133   left associative with precedence 35
134 for @{ 'and $a $b }.
135
136 notation "hvbox(\lnot a)" 
137   non associative with precedence 40
138 for @{ 'not $a }.
139
140 notation "hvbox(\Omega \sup term 90 A)" non associative with precedence 70
141 for @{ 'powerset $A }.
142
143 notation < "hvbox({ ident i | term 19 p })" with precedence 90
144 for @{ 'subset (\lambda ${ident i} : $nonexistent . $p)}.
145
146 notation > "hvbox({ ident i | term 19 p })" with precedence 90
147 for @{ 'subset (\lambda ${ident i}. $p)}.
148
149 notation "hvbox(a break ∈ b)" non associative with precedence 45
150 for @{ 'mem $a $b }.
151
152 notation "hvbox(a break ≬ b)" non associative with precedence 45
153 for @{ 'overlaps $a $b }. (* \between *)
154
155 notation "hvbox(a break ⊆ b)" non associative with precedence 45
156 for @{ 'subseteq $a $b }. (* \subseteq *)
157
158 notation "hvbox(a break ∩ b)" non associative with precedence 55
159 for @{ 'intersects $a $b }. (* \cap *)
160
161 notation "hvbox(a break ∪ b)" non associative with precedence 50
162 for @{ 'union $a $b }. (* \cup *)
163
164 notation "hvbox({ term 19 a })" with precedence 90 for @{ 'singl $a}.
165
166 notation "hvbox(a break \approx b)" non associative with precedence 45 
167   for @{ 'napart $a $b}.
168         
169 notation "hvbox(a break # b)" non associative with precedence 45 
170   for @{ 'apart $a $b}.
171     
172 notation "hvbox(a break \circ b)" 
173   left associative with precedence 55
174 for @{ 'compose $a $b }.
175
176 notation "(a \sup b)" left associative with precedence 60 for @{ 'exp $a $b}.
177 notation "s \sup (-1)" with precedence 60 for @{ 'invert $s }.
178 notation < "s \sup (-1) x" with precedence 60 for @{ 'invert_appl $s $x}. 
179
180
181 notation "\naturals" non associative with precedence 90 for @{'N}.
182 notation "\rationals" non associative with precedence 90 for @{'Q}.
183 notation "\reals" non associative with precedence 90 for @{'R}.
184 notation "\integers" non associative with precedence 90 for @{'Z}.
185 notation "\complexes" non associative with precedence 90 for @{'C}.
186
187 notation "\ee" with precedence 90 for @{ 'neutral }. (* ⅇ *)