| author | paulson |
| Fri, 29 Mar 1996 10:54:44 +0100 | |
| changeset 1629 | b5e43a60443a |
| parent 1247 | 18b1441fb603 |
| child 2907 | 0e272e4c7cb2 |
| permissions | -rw-r--r-- |
(* Title: HOL/AxClasses/Tutorial/Group.thy ID: $Id$ Author: Markus Wenzel, TU Muenchen Define classes "semigroup", "group", "agroup". *) Group = Sigs + (* semigroups *) axclass semigroup < term assoc "(x <*> y) <*> z = x <*> (y <*> z)" (* groups *) axclass group < semigroup left_unit "1 <*> x = x" left_inv "inv x <*> x = 1" (* abelian groups *) axclass agroup < group commut "x <*> y = y <*> x" end