For other uses, see Monoid (disambiguation).
Not to be confused with monad.

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 studied in semigroup theory as they are semigroups with identity. Monoids occur in several branches of mathematics; for instance, they can be regarded as categories with a single object. Thus, they capture the idea of function composition within a set. Monoids are also commonly used in computer science, both in its foundational aspects and in practical programming. The set of strings built from a given set of characters is a free monoid. The transition monoid and syntactic monoid are used in describing finite state machines, 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.


Suppose that S is a set and • is some binary operation S × SS, then S with • is a monoid if it satisfies the following two axioms:

For all a, b and c in S, the equation (ab) • c = a • (bc) holds.
Identity element
There exists an element e in S such that for every element a in S, the equations ea = ae = a 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.[1] A monoid in which each element has an inverse is a group.

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.

Monoid structures


A submonoid of a monoid (M, •) is a subset N of M that is closed under the monoid operation and contains the identity element e of M.[2][3] Symbolically, N is a submonoid of M if NM, xyN whenever x, yN, and eN. N is thus a monoid under the binary operation inherited from M.


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 (or, less commonly, an abelian monoid). Commutative monoids are often written additively. Any commutative monoid is endowed with its algebraic preordering ≤, defined by xy if there exists z such that x + z = y.[4] An order-unit of a commutative monoid M is an element u of M such that for any element x of M, there exists a positive integer n such that xnu. 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.


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 = xnxp is obvious.

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 xy = e and yx = e. The element y is called the inverse of x. If y and z are inverses of x, then by associativity y = (zx)y = z(xy) = z. Thus inverses, if they exist, are unique.[8]

If y is the inverse of x, one can define negative powers of x by setting x−1 = y and xn = 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 (possibly only the trivial group consisting of only the identity).

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 ab = 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, ab = ac always implies b = c and ba = ca always implies b = c. 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 (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 xmn = e where e is the identity. Therefore, xxmn − 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.

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 a = aa−1a and a−1 = a−1aa−1. 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 a + b = 0 implies that a = 0 and b = 0:[9] equivalently, that no element other than zero has an additive inverse.

Acts and operator monoids

Main article: monoid act

Let M be a monoid, with the binary operation denoted by • and the identity element denoted by e. Then a (left) M-act (or left act over M) is a set X together with an operation  : M × XX 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.

Monoid homomorphisms

Example monoid homomorphism x ↦ 2x from (N, +, 0) to (N, ×, 1). It is injective, but not surjective.

A homomorphism between two monoids (M, ∗) and (N, •) is a function f : MN such that

where eM and eN are the identities on M and N respectively. Monoid homomorphisms are sometimes simply called monoid morphisms.

Not every semigroup homomorphism is a monoid homomorphism, since it may not map the identity to the identity of the target monoid, even though the element it maps the identity to will be an identity of the image of the mapping. In contrast, a semigroup homomorphism between groups is always a group homomorphism, as it necessarily preserves the identity. Since for monoids this isn't always true, it is necessary to state this as a separate requirement.

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 (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 RR−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) ∈ RR−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,

is the equational presentation for the bicyclic monoid, and

is the plactic monoid of degree 2 (it has infinite order). 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

Group-like structures
Totalityα Associativity Identity Invertibility Commutativity
Semicategory Unneeded Required Unneeded Unneeded Unneeded
Category Unneeded Required Required Unneeded Unneeded
Groupoid Unneeded Required Required Required Unneeded
Magma Required Unneeded Unneeded Unneeded Unneeded
Quasigroup Required Unneeded Unneeded Required Unneeded
Loop Required Unneeded Required Required Unneeded
Semigroup Required Required Unneeded Unneeded Unneeded
Monoid Required Required Required Unneeded Unneeded
Group Required Required Required Required Unneeded
Abelian Group Required Required Required Required Required
Closure, which is used in many sources, is an equivalent axiom to totality, though defined differently.

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.[10] That is,

A monoid is, essentially, the same thing as a category with a single object.

More precisely, given a monoid (M, •), 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.[10] So this construction gives an equivalence between the category of (small) monoids Mon and a full subcategory of the category of (small) 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.[10]

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.

Complete monoids

A complete monoid is a commutative monoid equipped with an infinitary sum operation for any index set I such that:[11][12][13][14]


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 E of I and each sum on the right is a finite sum in the monoid.[14]

See also



  1. If both e1 and e2 satisfy the above equations, then e1 = e1e2 = e2.
  2. Jacobson (2009)
  3. Some authors omit the requirement that a submonoid must contain the identity element from its definition, requiring only that it have an identity element, which can be distinct from that of M.
  4. Gondran, Michel; Minoux, Michel (2008). Graphs, Dioids and Semirings: New Models and Algorithms. Operations Research/Computer Science Interfaces Series. 41. Dordrecht: Springer-Verlag. p. 13. ISBN 978-0-387-75450-5. Zbl 1201.16038.
  5. Rhodes, John; Steinberg, Benjamin (2009), The q-theory of Finite Semigroups: A New Approach, Springer Monographs in Mathematics, 71, Springer, p. 22, ISBN 9780387097817.
  6. Jacobson (2009), p. 29, examples 1, 2, 4 & 5.
  7. Jacobson (2009), p. 35
  8. Jacobson, I.5. p. 22
  9. Wehrung, Friedrich (1996). "Tensor products of structures with interpolation". Pacific Journal of Mathematics. 176 (1): 267–285. Zbl 0865.06010.
  10. 1 2 3 Awodey, Steve (2006). Category Theory. Oxford Logic Guides. 49. Oxford University Press. p. 10. ISBN 0-19-856861-4. Zbl 1100.18001.
  11. Droste, M., & Kuich, W. (2009). Semirings and Formal Power Series. Handbook of Weighted Automata, 3–28. doi:10.1007/978-3-642-01492-5_1, pp. 7-10
  12. Hebisch, Udo (1992). "Eine algebraische Theorie unendlicher Summen mit Anwendungen auf Halbgruppen und Halbringe". Bayreuther Mathematische Schriften (in German). 40: 21–152. Zbl 0747.08005.
  13. Kuich, Werner (1990). "ω-continuous semirings, algebraic systems and pushdown automata". In Paterson, Michael S. Automata, Languages and Programming: 17th International Colloquium, Warwick University, England, July 16-20, 1990, Proceedings. Lecture Notes in Computer Science. 443. Springer-Verlag. pp. 103–110. ISBN 3-540-52826-1.
  14. 1 2 Kuich, Werner (2011). "Algebraic systems and pushdown automata". In Kuich, Werner. Algebraic foundations in computer science. Essays dedicated to Symeon Bozapalidis on the occasion of his retirement. Lecture Notes in Computer Science. 7020. Berlin: Springer-Verlag. pp. 228–256. ISBN 978-3-642-24896-2. Zbl 1251.68135.


This article is issued from Wikipedia - version of the 12/4/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.