src/HOL/AxClasses/Tutorial/Semigroup.thy
author wenzelm
Wed, 17 Mar 1999 16:53:32 +0100
changeset 6393 b8dafa978382
parent 1247 18b1441fb603
permissions -rw-r--r--
fixed axclass_tac;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1247
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     1
(*  Title:      HOL/AxClasses/Tutorial/Semigroup.thy
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     2
    ID:         $Id$
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     3
    Author:     Markus Wenzel, TU Muenchen
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     4
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     5
Define class "semigroup".
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     6
*)
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     7
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     8
Semigroup = HOL +
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
     9
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    10
consts
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    11
  "<*>"         :: "['a, 'a] => 'a"             (infixl 70)
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    12
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    13
axclass
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    14
  semigroup < term
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    15
  assoc         "(x <*> y) <*> z = x <*> (y <*> z)"
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    16
18b1441fb603 Various axiomatic type class demos;
wenzelm
parents:
diff changeset
    17
end