author | wenzelm |
Mon, 29 Nov 1999 15:52:49 +0100 | |
changeset 8039 | a901bafe4578 |
parent 1247 | 18b1441fb603 |
permissions | -rw-r--r-- |
1247 | 1 |
(* Title: HOL/AxClass/Tutorial/MonoidGroupInsts.thy |
2 |
ID: $Id$ |
|
3 |
Author: Markus Wenzel, TU Muenchen |
|
4 |
||
5 |
Add derived class inclusions monoid < semigroup and group < monoid to |
|
6 |
type signature -- some kind of 'abstract instantiations'. |
|
7 |
*) |
|
8 |
||
9 |
MonoidGroupInsts = Monoid + Group + |
|
10 |
||
11 |
(* monoids are semigroups *) |
|
12 |
||
13 |
instance |
|
14 |
monoid < semigroup (Monoid.assoc) |
|
15 |
||
16 |
||
17 |
(* groups are monoids *) |
|
18 |
||
19 |
instance |
|
20 |
group < monoid (assoc, left_unit, right_unit) |
|
21 |
||
22 |
end |