In abstract algebra, a branch of mathematics, a monoid is an algebraic structure with a single, associative binary operation and an identity element. Monoids occur in a number of branches of mathematics and capture the idea of function composition; indeed, this notion is abstracted in category theory, where the monoid is a category with one object. Monoids are also commonly used to provide an algebraic foundation for computer science; in this case, the transition monoid and syntactic monoid are used in describing a finite state machine, whereas trace monoids and history monoids provide a foundation for process calculi and concurrent computing. Some of the more important results in the study of monoids are the Krohn-Rhodes theorem and the star height problem. The history of monoids, as well as a discussion of additional general properties, are found in the article on semigroups.
A monoid is a set M with binary operation * : M × M → M, obeying the following axioms:
One often sees the additional axiom
though, strictly speaking, this axiom is implied by the notion of a binary operation.
Alternatively, a monoid is a semigroup with an identity element; it is also be understood as a category with closure.
A monoid satisfies all the axioms of a group with the exception of having inverses. A monoid with inverses is a group.
By abuse of notation we sometimes refer to M itself as a monoid, implying the presence of identity and operation. A monoid can be denoted by the tuple (M, *) if the operation needs to be made explicit.
A subset N is said to be a generator of M if and only if M=N*. If N is finite, then M is said to be finitely generated.
Moreover, f can be considered as a function on the points given by
or, equivalently
Multiplication of elements in is then given by function composition.
Note also that when then the function f is a permutation of and gives the unique cyclic group of order n.
In a monoid, one can define positive integer powers of an element x : x1=x, and xn=x*...*x (n times) for n>1 . The rule of powers xn+p=xn * xp is obvious.
Directly from the definition, one can show that the identity element e is unique. Then, for any x , one can set x0=e and the rule of powers is still true with nonnegative exponents.
It is possible to define invertible elements: an element x is called invertible if there exists an element y such x*y = e and y*x = e. The element y is called the inverse of x . Associativity guarantees that inverses, if they exist, are unique.
If y is the inverse of x , one can define negative powers of x by setting x−1=y and x−n=y*...*y (n times) for n>1 . And the rule of exponents is still verified for all n,p rational integers. This is why the inverse of x is usually written x−1. The set of all invertible elements in a monoid M, together with the operation *, forms a group. In that sense, every monoid contains a group (if only the trivial one consisting of the identity alone).
However, not every monoid sits inside a group. For instance, it is perfectly possible to have a monoid in which two elements a and b exist such that a*b = a holds even though b is not the identity element. Such a monoid cannot be embedded in a group, because in the group we could multiply both sides with the inverse of a and would get that b = e, which isn't true. A monoid (M,*) has the cancellation property (or is cancellative) if for all a, b and c in M, a*b = a*c always implies b = c and b*a = c*a always implies b = c. A commutative monoid with the cancellation property can always be embedded in a group via the Grothendieck construction. That's how the additive group of the integers (a group with operation +) is constructed from the additive monoid of natural numbers (a commutative monoid with operation + and cancellation property). However, a non-commutative cancellative monoid need not be embeddable in a group.
If a monoid has the cancellation property and is finite, then it is in fact a group. Proof: Fix an element x in the monoid. Since the monoid is finite, xn = xm for some m > n > 0. But then, by cancellation we have that xm-n = e where e is the identity. Therefore x * xm-n-1 = e, so x has an inverse.
The right- and left-cancellative elements of a monoid each in turn form a submonoid (i.e. obviously include the identity and not so obviously are closed under the operation). This means that the cancellative elements of any commutative monoid can be extended to a group.
An inverse monoid, is a monoid where for every a in M, there exists a unique a-1 in M such that a=a*a-1*a and a-1=a-1*a*a-1. If an inverse monoid is cancellative, then it is a group.
Let M be a monoid. Then a (left) M-act (or left act over M) is a set X together with an operation • : M × X → X which is compatible with the monoid structure as follows:
This is the analogue in monoid theory of a (left) group action. Right M-acts are defined in a similar way. A monoid with an act is also known as an operator monoid. Important examples include transition systems of semiautomata. A transformation semigroup can be made into an operator monoid by adjoining the identity transformation.
A homomorphism between two monoids (M,*) and (M′,•) is a function f : M → M′ such that
where e and e′ are the identities on M and M′ respectively. Monoid homomorphisms are sometimes simply called monoid morphisms.
Not every semigroup homomorphism is a monoid homomorphism since it may not preserve the identity. Contrast this with the case of group homomorphisms: the axioms of group theory ensure that every semigroup homomorphism between groups preserves the identity. For monoids this isn't always true and it is necessary to state it as a separate requirement.
A bijective monoid homomorphism is called a monoid isomorphism. Two monoids are said to be isomorphic if there is an isomorphism between them.
such that it is reflexive, symmetric and transitive (just as every equivalence relation must be), and also has the property that if and for every and in M, then one has that .
A monoid congruence induces congruence classes
and the monoid operation * induces a binary operation on the congruence classes:
which is a monoid homomorphism. It is also clearly associative, and so the set of all congruence classes are a monoid as well. This monoid is called the quotient monoid, and may be written as
Several additional notations are common. Give a subset , one writes
for the set of congruence classes induced by L. In this notation, clearly . In general, however, is not a monoid. Going in the opposite direction, if is a subset of the quotient monoid, one writes
This is, of course, just the set-theoretic union of the members of X. In general, is not a monoid.
Clearly, one has and .
Monoids may be given a presentation, much in the same way that groups can be specified by means of a group presentation. One does this by specifying a set of generators Σ, and a set of relations on the free monoid Σ∗. One does this by extending (finite) binary relations on Σ∗ to monoid congruences, and then constructing the quotient monoid, as above.
Given a binary relation R ⊂ Σ∗ × Σ∗, one defines its symmetric closure as R ∪ R−1. This can be extended to a symmetric relation E ⊂ Σ∗ × Σ∗ by defining x ~E y if and only if x = sut and y = svt for some strings u, v, s, t ∈ Σ∗ with (u,v) ∈ R ∪ R−1. Finally, one takes the reflexive and transitive closure of E, which is then a monoid congruence.
In the typical situation, the relation R is simply given as a set of equations, so that . Thus, for example,
Likewise, monoid homomorphisms are just functors between single object categories. In this sense, category theory can be thought of as an extension of the concept of a monoid. Many definitions and theorems about monoids can be generalised to small categories with more than one object.
Monoids, just like other algebraic structures, also form their own category, Mon, whose objects are monoids and whose morphisms are monoid homomorphisms.
There is also a notion of monoid object which is an abstract definition of what is a monoid in a category.