src/HOL/AxClasses/Tutorial/MonoidGroupInsts.thy
author nipkow
Mon Oct 21 09:50:50 1996 +0200 (1996-10-21)
changeset 2115 9709f9188549
parent 1247 18b1441fb603
permissions -rw-r--r--
Added trans_tac (see Provers/nat_transitive.ML)
wenzelm@1247
     1
(*  Title:      HOL/AxClass/Tutorial/MonoidGroupInsts.thy
wenzelm@1247
     2
    ID:         $Id$
wenzelm@1247
     3
    Author:     Markus Wenzel, TU Muenchen
wenzelm@1247
     4
wenzelm@1247
     5
Add derived class inclusions monoid < semigroup and group < monoid to
wenzelm@1247
     6
type signature -- some kind of 'abstract instantiations'.
wenzelm@1247
     7
*)
wenzelm@1247
     8
wenzelm@1247
     9
MonoidGroupInsts = Monoid + Group +
wenzelm@1247
    10
wenzelm@1247
    11
(* monoids are semigroups *)
wenzelm@1247
    12
wenzelm@1247
    13
instance
wenzelm@1247
    14
  monoid < semigroup            (Monoid.assoc)
wenzelm@1247
    15
wenzelm@1247
    16
wenzelm@1247
    17
(* groups are monoids *)
wenzelm@1247
    18
wenzelm@1247
    19
instance
wenzelm@1247
    20
  group < monoid                (assoc, left_unit, right_unit)
wenzelm@1247
    21
wenzelm@1247
    22
end