author | paulson |
Sun, 15 Feb 2004 10:46:37 +0100 | |
changeset 14387 | e96d5c42c4b0 |
parent 12338 | de0f4a63baa5 |
child 14981 | e73f8140af78 |
permissions | -rw-r--r-- |
10134 | 1 |
(* Title: HOL/AxClasses/Semigroups.thy |
2 |
ID: $Id$ |
|
3 |
Author: Markus Wenzel, TU Muenchen |
|
10681 | 4 |
License: GPL (GNU GENERAL PUBLIC LICENSE) |
10134 | 5 |
*) |
6 |
||
7 |
theory Semigroups = Main: |
|
8 |
||
9 |
consts |
|
10 |
times :: "'a => 'a => 'a" (infixl "[*]" 70) |
|
11 |
||
12338
de0f4a63baa5
renamed class "term" to "type" (actually "HOL.type");
wenzelm
parents:
10681
diff
changeset
|
12 |
axclass semigroup < type |
10134 | 13 |
assoc: "(x [*] y) [*] z = x [*] (y [*] z)" |
14 |
||
15 |
||
16 |
consts |
|
17 |
plus :: "'a => 'a => 'a" (infixl "[+]" 70) |
|
18 |
||
12338
de0f4a63baa5
renamed class "term" to "type" (actually "HOL.type");
wenzelm
parents:
10681
diff
changeset
|
19 |
axclass plus_semigroup < type |
10134 | 20 |
assoc: "(x [+] y) [+] z = x [+] (y [+] z)" |
21 |
||
22 |
end |