.Open One Associative Operator
A set of elements with a single operation on it is one of the commonest structures on modern
mathematics -- especially when the operation is associative:
a * (b*c) = (a*b)*c.
In $MATHS we document three forms depending on whether the operation has a unit:
a *1 = 1* a = a.
Further, whether it has an inverse
a*x=x*a = 1.
. Semigroup
A set of elements that have an associative operator is called a semigroup.
The formal structure is defined as:
SEMIGROUP::=Net{Set:Sets, op:$associative(Set)}.
Detailed properties are documented in
.See ./math_32_Semigroups.html
We also use the same word to refer to the set of elements, when there
exists such an operation:
semigroup::={ Set:Sets || (Set,op) in $ $SEMIGROUP},
The same word (semigroup) with different capitalization indicates the
collection of tpls (Set, op) that form semigroups:
Semigroup::=$ $SEMIGROUP.
()|- (A,B) in Semigroup iff A in Sets and op in $associative(A).
It is also helpful to have the following abreviations:
For op, semigroup(op) ::={ Set:Sets || (Set,op) in $ $SEMIGROUP},
For *:infix(T1), semigroup(*) ::={S:@T1||SEMIGROUP(Set=>S,op=>*)}
The above set of definitions is typical of the various ways the name of an
algebraic system can be used. This package defining `semigroup` and
`Semigroup` in terms of `SEMIGROUP` can be quickly introduced by
asserting:
|- $ALGEBRA($SEMIGROUP, Semigroup, semigroup).
A semigroup is said to be Abelian if its operator commutes.
ABELIAN::=Net{Set:Sets, op:$commutative(Set)}.
ABELIAN_SEMIGROUP::=$SEMIGROUP and $ABELIAN.
Abelian_semigroup::=$ $ABELIAN_SEMIGROUP.
Abelian semigroups are also called
COMMUTATIVE_SEMIGROUPS::=http://www.csci.csusb.edu/dick/maths/math_32_Semigroups.html#Commutative_Semigroups.
A lattice is actually two semilattices - where a semilattice is a semigroup
with an idempotent operation:
SEMILATTICE::=$SEMIGROUP and $ABELIAN and Net{op in $idempotents(S)}.
|- $ALGEBRA($SEMILATTICE, Semilattice, semilattice).
For more on semigroups see
.See http://www/dick/maths/math_32_Semigroups.html
. Monoid
A monoid is a semigroup with a unit. See
MONOIDS::=http://www/dick/maths/math_33_Monoids.html
for detailed results.
(MONOIDS)|- MONOID::=$SEMIGROUP and Net{ u:$units(Set,op). ...}.
|-$ALGEBRA($MONOID, Monoid, monoid).
. Group
A group is a monoid with an invertable operation.
.See http://www/dick/maths/math_34_Groups.html
()|- GROUP::=$MONOID and Net{ i:Set->Set, for all x:Set(x op x.i= x.i op x =u). ...}.
|- $ALGEBRA(GROUP, Group, group).
.Close One Associative Operator
. Links
associative::=http://www/dick/maths/math_11_STANDARD.html#associative.
commutative::=http://www/dick/maths/math_11_STANDARD.html#commutative.
units::=http://www/dick/maths/math_11_STANDARD.html#units.
zeroes::=http://www/dick/maths/math_11_STANDARD.html#zeroes.
idempotents::=http://www/dick/maths/math_11_STANDARD.html#idempotents.
ALGEBRA::=http://www.csci.csusb.edu/dick/maths/math_43_Algebras.html#ALGEBRA.