author | wenzelm |
Sun, 21 May 2000 21:48:39 +0200 | |
changeset 8903 | 78d6e47469e4 |
parent 8890 | 9a44d8d98731 |
child 8906 | fc7841f31388 |
permissions | -rw-r--r-- |
theory Semigroups = Main:; constdefs is_assoc :: "('a \\<Rightarrow> 'a \\<Rightarrow> 'a) \\<Rightarrow> bool" "is_assoc f \\<equiv> \\<forall>x y z. f (f x y) z = f x (f y z)"; consts plus :: "'a \\<Rightarrow> 'a \\<Rightarrow> 'a" (infixl "\<Oplus>" 65); axclass plus_semigroup < "term" assoc: "is_assoc (op \<Oplus>)"; consts times :: "'a \\<Rightarrow> 'a \\<Rightarrow> 'a" (infixl "\<Otimes>" 65); axclass times_semigroup < "term" assoc: "is_assoc (op \<Otimes>)"; end;