src/HOL/AxClasses/Tutorial/MonoidGroupInsts.thy
author wenzelm
Fri, 01 Sep 1995 14:27:36 +0200
changeset 1247 18b1441fb603
permissions -rw-r--r--
Various axiomatic type class demos;

(*  Title:      HOL/AxClass/Tutorial/MonoidGroupInsts.thy
    ID:         $Id$
    Author:     Markus Wenzel, TU Muenchen

Add derived class inclusions monoid < semigroup and group < monoid to
type signature -- some kind of 'abstract instantiations'.
*)

MonoidGroupInsts = Monoid + Group +

(* monoids are semigroups *)

instance
  monoid < semigroup            (Monoid.assoc)


(* groups are monoids *)

instance
  group < monoid                (assoc, left_unit, right_unit)

end