equal
deleted
inserted
replaced
196 axclass plus < type |
196 axclass plus < type |
197 axclass minus < type |
197 axclass minus < type |
198 axclass times < type |
198 axclass times < type |
199 axclass inverse < type |
199 axclass inverse < type |
200 |
200 |
|
201 consts |
|
202 plus :: "['a::plus, 'a] => 'a" (infixl "+" 65) |
|
203 uminus :: "'a::minus => 'a" ("- _" [81] 80) |
|
204 minus :: "['a::minus, 'a] => 'a" (infixl "-" 65) |
|
205 abs :: "'a::minus => 'a" |
|
206 times :: "['a::times, 'a] => 'a" (infixl "*" 70) |
|
207 inverse :: "'a::inverse => 'a" |
|
208 divide :: "['a::inverse, 'a] => 'a" (infixl "'/" 70) |
|
209 |
201 global |
210 global |
202 |
211 |
203 consts |
212 consts |
204 "0" :: "'a::zero" ("0") |
213 "0" :: "'a::zero" ("0") |
205 "1" :: "'a::one" ("1") |
214 "1" :: "'a::one" ("1") |
206 "+" :: "['a::plus, 'a] => 'a" (infixl 65) |
|
207 - :: "['a::minus, 'a] => 'a" (infixl 65) |
|
208 uminus :: "['a::minus] => 'a" ("- _" [81] 80) |
|
209 * :: "['a::times, 'a] => 'a" (infixl 70) |
|
210 |
215 |
211 syntax |
216 syntax |
212 "_index1" :: index ("\<^sub>1") |
217 "_index1" :: index ("\<^sub>1") |
213 translations |
218 translations |
214 (index) "\<^sub>1" => (index) "\<^bsub>\<struct>\<^esub>" |
219 (index) "\<^sub>1" => (index) "\<^bsub>\<struct>\<^esub>" |
220 fun tr' c = (c, fn show_sorts => fn T => fn ts => |
225 fun tr' c = (c, fn show_sorts => fn T => fn ts => |
221 if T = dummyT orelse not (! show_types) andalso can Term.dest_Type T then raise Match |
226 if T = dummyT orelse not (! show_types) andalso can Term.dest_Type T then raise Match |
222 else Syntax.const Syntax.constrainC $ Syntax.const c $ Syntax.term_of_typ show_sorts T); |
227 else Syntax.const Syntax.constrainC $ Syntax.const c $ Syntax.term_of_typ show_sorts T); |
223 in [tr' "0", tr' "1"] end; |
228 in [tr' "0", tr' "1"] end; |
224 *} -- {* show types that are presumably too general *} |
229 *} -- {* show types that are presumably too general *} |
225 |
|
226 |
|
227 consts |
|
228 abs :: "'a::minus => 'a" |
|
229 inverse :: "'a::inverse => 'a" |
|
230 divide :: "['a::inverse, 'a] => 'a" (infixl "'/" 70) |
|
231 |
230 |
232 syntax (xsymbols) |
231 syntax (xsymbols) |
233 abs :: "'a::minus => 'a" ("\<bar>_\<bar>") |
232 abs :: "'a::minus => 'a" ("\<bar>_\<bar>") |
234 syntax (HTML output) |
233 syntax (HTML output) |
235 abs :: "'a::minus => 'a" ("\<bar>_\<bar>") |
234 abs :: "'a::minus => 'a" ("\<bar>_\<bar>") |
1406 False "HOL.False" |
1405 False "HOL.False" |
1407 "op =" "HOL.op_eq" |
1406 "op =" "HOL.op_eq" |
1408 "op -->" "HOL.op_implies" |
1407 "op -->" "HOL.op_implies" |
1409 "op &" "HOL.op_and" |
1408 "op &" "HOL.op_and" |
1410 "op |" "HOL.op_or" |
1409 "op |" "HOL.op_or" |
1411 "op +" "HOL.op_add" |
|
1412 "op -" "HOL.op_minus" |
|
1413 "op *" "HOL.op_times" |
|
1414 Not "HOL.not" |
1410 Not "HOL.not" |
1415 uminus "HOL.uminus" |
|
1416 arbitrary "HOL.arbitrary" |
1411 arbitrary "HOL.arbitrary" |
1417 |
1412 |
1418 code_syntax_const |
1413 code_syntax_const |
1419 "op =" (* an intermediate solution for polymorphic equality *) |
1414 "op =" (* an intermediate solution for polymorphic equality *) |
1420 ml (infixl 6 "=") |
1415 ml (infixl 6 "=") |