src/HOL/AxClasses/Tutorial/Semigroup.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/AxClasses/Tutorial/Semigroup.thy
wenzelm@1247
     2
    ID:         $Id$
wenzelm@1247
     3
    Author:     Markus Wenzel, TU Muenchen
wenzelm@1247
     4
wenzelm@1247
     5
Define class "semigroup".
wenzelm@1247
     6
*)
wenzelm@1247
     7
wenzelm@1247
     8
Semigroup = HOL +
wenzelm@1247
     9
wenzelm@1247
    10
consts
wenzelm@1247
    11
  "<*>"         :: "['a, 'a] => 'a"             (infixl 70)
wenzelm@1247
    12
wenzelm@1247
    13
axclass
wenzelm@1247
    14
  semigroup < term
wenzelm@1247
    15
  assoc         "(x <*> y) <*> z = x <*> (y <*> z)"
wenzelm@1247
    16
wenzelm@1247
    17
end