src/HOL/AxClasses/Semigroups.thy
author wenzelm
Mon, 06 Nov 2000 22:52:35 +0100
changeset 10405 9a23abbc81fa
parent 10134 537206cc738f
child 10681 ec76e17f73c5
permissions -rw-r--r--
added rewrite_goal_tac; resolveq_cases_tac: generalized args; tuned atomize; assm_tac: include reflexive_thm;

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

theory Semigroups = Main:

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

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


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

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

end