author | nipkow |
Thu, 10 May 2001 17:28:40 +0200 | |
changeset 11295 | 66925f23ac7f |
parent 10681 | ec76e17f73c5 |
child 12338 | de0f4a63baa5 |
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 |
||
12 |
axclass semigroup < "term" |
|
13 |
assoc: "(x [*] y) [*] z = x [*] (y [*] z)" |
|
14 |
||
15 |
||
16 |
consts |
|
17 |
plus :: "'a => 'a => 'a" (infixl "[+]" 70) |
|
18 |
||
19 |
axclass plus_semigroup < "term" |
|
20 |
assoc: "(x [+] y) [+] z = x [+] (y [+] z)" |
|
21 |
||
22 |
end |