doc-src/AxClass/Group/Semigroups.thy
author wenzelm
Sun, 21 May 2000 01:12:00 +0200
changeset 8890 9a44d8d98731
child 8903 78d6e47469e4
permissions -rw-r--r--
snapshot of new Isar'ized version;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8890
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     1
theory Semigroups = Main:;
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     2
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     3
text {*
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     4
 \noindent Associativity of binary operations:
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     5
*};
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     6
constdefs
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     7
  is_assoc :: "('a \\<Rightarrow> 'a \\<Rightarrow> 'a) \\<Rightarrow> bool"
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     8
  "is_assoc f == \\<forall>x y z. f (f x y) z = f x (f y z)";
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
     9
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    10
text {*
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    11
 \medskip\noindent Semigroups over \isa{(op~{\isasymOplus})}:
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    12
 %term (latex xsymbols symbols) "op \<Oplus>";
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    13
*};
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    14
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    15
consts
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    16
  plus :: "'a \\<Rightarrow> 'a \\<Rightarrow> 'a"    (infixl "\<Oplus>" 65);
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    17
axclass
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    18
  plus_semigroup < "term"
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    19
  assoc: "is_assoc (op \<Oplus>)";
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    20
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    21
text {*
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    22
 \medskip\noindent Semigroups over \isa{(op~{\isasymOtimes})}:
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    23
 %term (latex xsymbols symbols) "op \<Otimes>";
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    24
*};
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    25
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    26
consts
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    27
  times :: "'a \\<Rightarrow> 'a \\<Rightarrow> 'a"    (infixl "\<Otimes>" 65);
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    28
axclass
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    29
  times_semigroup < "term"
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    30
  assoc: "is_assoc (op \<Otimes>)";
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    31
9a44d8d98731 snapshot of new Isar'ized version;
wenzelm
parents:
diff changeset
    32
end;