author | wenzelm |
Mon, 29 Nov 1999 15:52:49 +0100 | |
changeset 8039 | a901bafe4578 |
parent 2907 | 0e272e4c7cb2 |
child 8920 | af5e09b6c208 |
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_inverse "inverse x <*> x = 1" (* abelian groups *) axclass agroup < group commut "x <*> y = y <*> x" end