src/HOL/AxClasses/Semigroups.thy
author urbanc
Tue, 13 Dec 2005 18:11:21 +0100
changeset 18396 b3e7da94b51f
parent 16417 9bc16273c2d4
permissions -rw-r--r--
added a fresh_left lemma that contains all instantiation for the various atom-types.

(*  Title:      HOL/AxClasses/Semigroups.thy
    ID:         $Id$
    Author:     Markus Wenzel, TU Muenchen
*)

theory Semigroups imports Main begin

consts
  times :: "'a => 'a => 'a"    (infixl "[*]" 70)

axclass semigroup < type
  assoc: "(x [*] y) [*] z = x [*] (y [*] z)"


consts
  plus :: "'a => 'a => 'a"    (infixl "[+]" 70)

axclass plus_semigroup < type
  assoc: "(x [+] y) [+] z = x [+] (y [+] z)"

end