Monoid
In abstract algebra, a branch of mathematics, a monoid is an algebraic structure with a single associative binary operation and an identity element.
Monoids are semigroups with identity. They occur in several branches of mathematics.
For example, the functions from a set into itself form a monoid with respect to function composition. More generally, in category theory, the morphisms of an object to itself form a monoid, and, conversely, a monoid may be viewed as a category with a single object.
In computer science and computer programming, the set of strings built from a given set of characters is a free monoid. Transition monoids and syntactic monoids are used in describing finite-state machines. Trace monoids and history monoids provide a foundation for process calculi and concurrent computing.
In theoretical computer science, the study of monoids is fundamental for automata theory, and formal language theory.
See Semigroup for the history of the subject, and some other general properties of monoids.
Definition
Suppose that S is a set and • is some binary operation, then S with • is a monoid if it satisfies the following two axioms:; Associativity: For all a, b and c in S, the equation holds.
; Identity element: There exists an element e in S such that for every element a in S, the equations hold.
In other words, a monoid is a semigroup with an identity element. It can also be thought of as a magma with associativity and identity. The identity element of a monoid is unique. For this reason the identity is regarded as a constant, i. e. 0-ary operation. The monoid therefore is characterized by specification of the triple.
Depending on the context, the symbol for the binary operation may be omitted, so that the operation is denoted by juxtaposition; for example, the monoid axioms may be written and. This notation does not imply that it is numbers being multiplied.
A monoid in which each element has an inverse is a group.
Monoid structures
Submonoids
A submonoid of a monoid is a subset N of M that is closed under the monoid operation and contains the identity element e of M. Symbolically, N is a submonoid of M if, whenever, and. N is thus a monoid under the binary operation inherited from M.Generators
A subset S of M is said to be a generator of M if M is the smallest set containing S that is closed under the monoid operation, or equivalently M is the result of applying the finitary closure operator to S. If there is a generator of M that has finite cardinality, then M is said to be finitely generated. Not every set S will generate a monoid, as the generated structure may lack an identity element.Commutative monoid
A monoid whose operation is commutative is called a commutative monoid. Commutative monoids are often written additively. Any commutative monoid is endowed with its algebraic preordering, defined by if there exists z such that. An order-unit of a commutative monoid M is an element u of M such that for any element x of M, there exists v in the set generated by u such that. This is often used in case M is the positive cone of a partially ordered abelian group G, in which case we say that u is an order-unit of G.Partially commutative monoid
A monoid for which the operation is commutative for some, but not all elements is a trace monoid; trace monoids commonly occur in the theory of concurrent computation.Examples
- Out of the 16 possible binary Boolean operators, each of the four that has a two sided identity is also commutative and associative and thus makes the set a commutative monoid. Under the standard definitions, AND and XNOR have the identity True while XOR and OR have the identity False. The monoids from AND and OR are also idempotent while those from XOR and XNOR are not.
- The natural numbers,, form a commutative monoid under addition, or multiplication. A submonoid of under addition is called a numerical monoid.
- The positive integers,, form a commutative monoid under multiplication.
- Given a set, all subsets of form a commutative monoid under intersection operation.
- Given a set, all subsets of form a commutative monoid under union operation.
- Generalizing the previous example, every bounded semilattice is an idempotent commutative monoid.
- * In particular, any bounded lattice can be endowed with both a meet- and a join- monoid structure. The identity elements are the lattice's top and its bottom, respectively. Being lattices, Heyting algebras and Boolean algebras are endowed with these monoid structures.
- Every singleton set closed under a binary operation • forms the trivial monoid, which is also the trivial group.
- Every group is a monoid and every abelian group a commutative monoid.
- Any semigroup may be turned into a monoid simply by adjoining an element not in and defining for all. This conversion of any semigroup to the monoid is done by the free functor between the category of semigroups and the category of monoids.
- * Thus, an idempotent monoid may be formed by adjoining an identity element to the left zero semigroup over a set. The opposite monoid is formed from the right zero semigroup over.
- ** Adjoin an identity to the left-zero semigroup with two elements. Then the resulting idempotent monoid models the lexicographical order of a sequence given the orders of its elements, with e representing equality.
- The elements of any unital ring, with addition or multiplication as the operation.
- * The integers, rational numbers, real numbers or complex numbers, with addition or multiplication as operation.
- * The set of all by matrices over a given ring, with matrix addition or matrix multiplication as the operation.
- The set of all finite strings over some fixed alphabet forms a monoid with string concatenation as the operation. The empty string serves as the identity element. This monoid is denoted and is called the free monoid over.
- Given any monoid, the opposite monoid has the same carrier set and identity element as, and its operation is defined by. Any commutative monoid is the opposite monoid of itself.
- Given two sets and endowed with monoid structure. The associative operation and the identity element are defined pairwise.
- Fix a monoid. The set of all functions from a given set to is also a monoid. The identity element is a constant function mapping any value to the identity of ; the associative operation is defined pointwise.
- Fix a monoid with the operation and identity element, and consider its power set consisting of all subsets of. A binary operation for such subsets can be defined by. This turns into a monoid with identity element. In the same way the power set of a group is a monoid under the product of group subsets.
- Let be a set. The set of all functions forms a monoid under function composition. The identity is just the identity function. It is also called the full transformation monoid of. If is finite with elements, the monoid of functions on is finite with elements.
- Generalizing the previous example, let be a category and an object of. The set of all endomorphisms of, denoted, forms a monoid under composition of morphisms. For more on the relationship between category theory and monoids see below.
- The set of homeomorphism classes of compact surfaces with the connected sum. Its unit element is the class of the ordinary 2-sphere. Furthermore, if denotes the class of the torus, and b denotes the class of the projective plane, then every element c of the monoid has a unique expression the form where is a positive integer and, or. We have.
- Let be a cyclic monoid of order, that is,. Then for some. In fact, each such gives a distinct monoid of order, and every cyclic monoid is isomorphic to one of these.
Moreover, can be considered as a function on the points given byProperties
From the definition of a monoid, 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 that and. The element y is called the inverse of x. If y and z are inverses of x, then by associativity. Thus inverses, if they exist, are unique.
If y is the inverse of x, one can define negative powers of x by setting and for. And the rule of exponents is still verified for all integers. This is why the inverse of x is usually written. 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.
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 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, which isn't true. A monoid has the cancellation property if for all a, b and c in M, always implies and always implies. A commutative monoid with the cancellation property can always be embedded in a group via the Grothendieck construction. That is how the additive group of the integers is constructed from the additive monoid of natural numbers. 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, for some. But then, by cancellation we have that where e is the identity. Therefore,, so x has an inverse.
The right- and left-cancellative elements of a monoid each in turn form a submonoid. This means that the cancellative elements of any commutative monoid can be extended to a group.
It turns out that requiring the cancellative property in a monoid is not required to perform the Grothendieck construction – commutativity is sufficient. However, if the original monoid has an absorbing element then its Grothendieck group is the trivial group. Hence the homomorphism is, in general, not injective.
An inverse monoid is a monoid where for every a in M, there exists a unique a−1 in M such that and. If an inverse monoid is cancellative, then it is a group.
In the opposite direction, a zerosumfree monoid is an additively written monoid in which implies that and : equivalently, that no element other than zero has an additive inverse.
Acts and operator monoids
Let M be a monoid, with the binary operation denoted by • and the identity element denoted by e. Then a M-act is a set X together with an operation which is compatible with the monoid structure as follows:- for all x in X: ;
- for all a, b in M and x in X:.
Monoid homomorphisms
A homomorphism between two monoids and is a function such that- for all x, y in M
- ,
Not every semigroup homomorphism between monoids is a monoid homomorphism, since it may not map the identity to the identity of the target monoid, even though the identity is the identity of the image of homomorphism. So, a monoid homomorphism is a semigroup homomorphism between monoids that maps the identity of the first monoid to the identity of the second monoid.
In contrast, a semigroup homomorphism between groups is always a group homomorphism, as it necessarily preserves the identity.
A bijective monoid homomorphism is called a monoid isomorphism. Two monoids are said to be isomorphic if there is a monoid isomorphism between them.
Equational presentation
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 binary relations on Σ∗ to monoid congruences, and then constructing the quotient monoid, as above.Given a binary relation, one defines its symmetric closure as. This can be extended to a symmetric relation by defining if and only if and for some strings with. 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,
is the equational presentation for the bicyclic monoid, and
is the plactic monoid of degree 2. Elements of this plactic monoid may be written as for integers i, j, k, as the relations show that ba commutes with both a and b.
Relation to category theory
Monoids can be viewed as a special class of categories. Indeed, the axioms required of a monoid operation are exactly those required of morphism composition when restricted to the set of all morphisms whose source and target is a given object. That is,More precisely, given a monoid, one can construct a small category with only one object and whose morphisms are the elements of M. The composition of morphisms is given by the monoid operation •.
Likewise, monoid homomorphisms are just functors between single object categories. So this construction gives an equivalence between the category of monoids Mon and a full subcategory of the category of categories Cat. Similarly, the category of groups is equivalent to another full subcategory of Cat.
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. For example, a quotient of a category with one object is just a quotient monoid.
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. A monoid object in Set is just a monoid.
Monoids in computer science
In computer science, many abstract data types can be endowed with a monoid structure. In a common pattern, a sequence of elements of a monoid is "folded" or "accumulated" to produce a final value. For instance, many iterative algorithms need to update some kind of "running total" at each iteration; this pattern may be elegantly expressed by a monoid operation. Alternatively, the associativity of monoid operations ensures that the operation can be parallelized by employing a prefix sum or similar algorithm, in order to utilize multiple cores or processors efficiently.Given a sequence of values of type M with identity element and associative operation, the fold operation is defined as follows:
In addition, any data structure can be 'folded' in a similar way, given a serialization of its elements. For instance, the result of "folding" a binary tree might differ depending on pre-order vs. post-order tree traversal.
MapReduce
An application of monoids in computer science is so-called MapReduce programming model. MapReduce, in computing, consists of two or three operations. Given a dataset, "Map" consists of mapping arbitrary data to elements of a specific monoid. "Reduce" consists of folding those elements, so that in the end we produce just one element.For example, if we have a multiset, in a program it is represented as a map from elements to their numbers. Elements are called keys in this case. The number of distinct keys may be too big, and in this case the multiset is being sharded. To finalize reduction properly, the "Shuffling" stage regroups the data among the nodes. If we do not need this step, the whole Map/Reduce consists of mapping and reducing; both operation are parallelizable, the former due to its element-wise nature, the latter due to associativity of the monoid.
Complete monoids
A complete monoid is a commutative monoid equipped with an infinitary sum operation for any index set such that:and
A continuous monoid is an ordered commutative monoid in which every directed set has a least upper bound compatible with the monoid operation:
These two concepts are closely related: a continuous monoid is a complete monoid in which the infinitary sum may be defined as
where the supremum on the right runs over all finite subsets of and each sum on the right is a finite sum in the monoid.