In abstract algebra, a branch of mathematics, a monoid is a set equipped with an associative binary operation and an

semigroup
In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative internal binary operation on it.
The binary operation of a semigroup is most often denoted multiplicatively: ''x''·''y'', or simply ''xy'', ...

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

Moreover, can be considered as a function on the points $\backslash $ given by $$\backslash begin\; 0\; \&\; 1\; \&\; 2\; \&\; \backslash cdots\; \&\; n-2\; \&\; n-1\; \backslash \backslash \; 1\; \&\; 2\; \&\; 3\; \&\; \backslash cdots\; \&\; n-1\; \&\; k\backslash end$$ or, equivalently $$f(i)\; :=\; \backslash begin\; i+1,\; \&\; \backslash text\; 0\; \backslash le\; i\; <\; n-1\; \backslash \backslash \; k,\; \&\; \backslash text\; i\; =\; n-1.\; \backslash end$$ Multiplication of elements in $\backslash langle\; f\backslash rangle$ is then given by function composition. When $k\; =\; 0$ then the function is a permutation of $\backslash ,$ and gives the unique

^{−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.

_{''M''} and ''e''_{''N''} are the identities on ''M'' and ''N'' respectively. Monoid homomorphisms are sometimes simply called monoid morphisms.
Not every

^{∗}. One does this by extending (finite) 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 $R=\backslash $. Thus, for example,
: $\backslash langle\; p,q\backslash ,\backslash vert\backslash ;\; pq=1\backslash rangle$
is the equational presentation for the bicyclic monoid, and
: $\backslash langle\; a,b\; \backslash ,\backslash vert\backslash ;\; aba=baa,\; bba=bab\backslash rangle$
is the

Encoding Map-Reduce As A Monoid With Left Folding

. 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

identity element
In mathematics, an identity element, or neutral element, of a binary operation operating on a set is an element of the set that leaves unchanged every element of the set when the operation is applied. This concept is used in algebraic structures su ...

. For example, the nonnegative integer
An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...

s with addition form a monoid, the identity element being 0.
Monoids are semigroup
In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative internal binary operation on it.
The binary operation of a semigroup is most often denoted multiplicatively: ''x''·''y'', or simply ''xy'', ...

s with identity. Such algebraic structures occur in several branches of mathematics.
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
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includi ...

and computer programming, the set of strings built from a given set of characters
Character or Characters may refer to:
Arts, entertainment, and media Literature
* ''Character'' (novel), a 1936 Dutch novel by Ferdinand Bordewijk
* ''Characters'' (Theophrastus), a classical Greek set of character sketches attributed to The ...

is a free monoid In abstract algebra, the free monoid on a set is the monoid whose elements are all the finite sequences (or strings) of zero or more elements from that set, with string concatenation as the monoid operation and with the unique sequence of zero ele ...

. Transition monoid In mathematics and theoretical computer science, a semiautomaton is a deterministic finite automaton having inputs but no output. It consists of a set ''Q'' of states, a set Σ called the input alphabet, and a function ''T'': ''Q'' × Σ → ''Q'' ...

s and syntactic monoid In mathematics and computer science, the syntactic monoid M(L) of a formal language L is the smallest monoid that recognizes the language L.
Syntactic quotient
The free monoid on a given set is the monoid whose elements are all the strings of ze ...

s are used in describing finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...

s. Trace monoid In computer science, a trace is a set of strings, wherein certain letters in the string are allowed to commute, but others are not. It generalizes the concept of a string, by not forcing the letters to always be in a fixed order, but allowing certa ...

s and history monoids provide a foundation for process calculi
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...

and concurrent computing.
In theoretical computer science, the study of monoids is fundamental for automata theory
Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word ''automata'' comes from the Greek word αὐτόματο� ...

( Krohn–Rhodes theory), and formal language theory
In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.
The alphabet of a formal language consists of symb ...

( star height problem).
See semigroup
In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative internal binary operation on it.
The binary operation of a semigroup is most often denoted multiplicatively: ''x''·''y'', or simply ''xy'', ...

for the history of the subject, and some other general properties of monoids.
Definition

A set ''S'' equipped with a binary operation , which we will denote •, 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 equalities and hold. In other words, a monoid is asemigroup
In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative internal binary operation on it.
The binary operation of a semigroup is most often denoted multiplicatively: ''x''·''y'', or simply ''xy'', ...

with an identity element
In mathematics, an identity element, or neutral element, of a binary operation operating on a set is an element of the set that leaves unchanged every element of the set when the operation is applied. This concept is used in algebraic structures su ...

. 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 (or nullary) operation. The monoid therefore is characterized by specification of the triple
Triple is used in several contexts to mean "threefold" or a " treble":
Sports
* Triple (baseball), a three-base hit
* A basketball three-point field goal
* A figure skating jump with three rotations
* In bowling terms, three strikes in a row
* ...

(''S'', • , ''e'').
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
A group is a number of persons or things that are located, gathered, or classed together.
Groups of people
* Cultural group, a group whose members share the same cultural identity
* Ethnic group, a group whose members share the same ethnic ide ...

.
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 . In this case, ''N'' is a monoid under the binary operation inherited from ''M''. On the other hand, if ''N'' is subset of a monoid that is closed under the monoid operation, and is a monoid for this inherited operation, then ''N'' is not always a submonoid, since the identity elements may differ. For example, thesingleton set
In mathematics, a singleton, also known as a unit set or one-point set, is a set with exactly one element. For example, the set \ is a singleton whose single element is 0.
Properties
Within the framework of Zermelo–Fraenkel set theory, the ...

is closed under multiplication, and is not a submonoid of the (multiplicative) monoid of the nonnegative integers.
Generators

A subset ''S'' of ''M'' is said to ''generate'' ''M'' if the smallest submonoid of ''M'' containing ''S'' is ''M''. If there is a finite set that generates ''M'', then ''M'' is said to be a finitely generated monoid.Commutative monoid

A monoid whose operation iscommutative
In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Most familiar as the name of ...

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 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
In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary r ...

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 atrace monoid In computer science, a trace is a set of strings, wherein certain letters in the string are allowed to commute, but others are not. It generalizes the concept of a string, by not forcing the letters to always be in a fixed order, but allowing certa ...

; trace monoids commonly occur in the theory of concurrent computation.
Examples

* Out of the 16 possible binary Boolean operators, four have a two-sided identity that is also commutative and associative. These four each make 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 alsoidempotent
Idempotence (, ) is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application. The concept of idempotence arises in a number of pl ...

while those from XOR and XNOR are not.
* The set of natural number
In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country").
Numbers used for counting are called ''cardinal ...

s $\backslash N\; =\; \backslash $ is a commutative monoid under addition (identity element 0) or multiplication (identity element 1). A submonoid of under addition is called a numerical monoid.
* The set of positive integers $\backslash N\; \backslash setminus\; \backslash $ is a commutative monoid under multiplication (identity element 1).
* Given a set , the set of subsets of is a commutative monoid under intersection (identity element is itself).
* Given a set , the set of subsets of is a commutative monoid under union (identity element is the empty set).
* Generalizing the previous example, every bounded semilattice
In mathematics, a join-semilattice (or upper semilattice) is a partially ordered set that has a join (a least upper bound) for any nonempty finite subset. Dually, a meet-semilattice (or lower semilattice) is a partially ordered set which has a ...

is an idempotent
Idempotence (, ) is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application. The concept of idempotence arises in a number of pl ...

commutative monoid.
** In particular, any bounded lattice
Lattice may refer to:
Arts and design
* Latticework, an ornamental criss-crossed framework, an arrangement of crossing laths or other thin strips of material
* Lattice (music), an organized grid model of pitch ratios
* Lattice (pastry), an orna ...

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 algebra In mathematics, a Heyting algebra (also known as pseudo-Boolean algebra) is a bounded lattice (with join and meet operations written ∨ and ∧ and with least element 0 and greatest element 1) equipped with a binary operation ''a'' → ''b'' of '' ...

s and Boolean algebras are endowed with these monoid structures.
* Every singleton set
In mathematics, a singleton, also known as a unit set or one-point set, is a set with exactly one element. For example, the set \ is a singleton whose single element is 0.
Properties
Within the framework of Zermelo–Fraenkel set theory, the ...

closed under a binary operation • forms the trivial (one-element) monoid, which is also the trivial group.
* Every group
A group is a number of persons or things that are located, gathered, or classed together.
Groups of people
* Cultural group, a group whose members share the same cultural identity
* Ethnic group, a group whose members share the same ethnic ide ...

is a monoid and every abelian group a commutative monoid.
* Any free functor
In mathematics, the idea of a free object is one of the basic concepts of abstract algebra. Informally, a free object over a set ''A'' can be thought of as being a "generic" algebraic structure over ''A'': the only equations that hold between elem ...

between the category of semigroups and the category of monoids.
** Thus, an idempotent monoid (sometimes known as ''find-first'') may be formed by adjoining an identity element to the left zero semigroup over a set . The opposite monoid (sometimes called ''find-last'') is formed from the right zero semigroup In mathematics, a null semigroup (also called a zero semigroup) is a semigroup with an absorbing element, called zero, in which the product of any two elements is zero. If every element of a semigroup is a left zero then the semigroup is called a ...

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 underlying set of any ring, with addition or multiplication as the operation. (By definition, a ring has a multiplicative identity 1.)
** The integer
An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...

s, rational numbers, real numbers or complex number
In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...

s, with addition or multiplication as operation.
** The set of all by matrices
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** ''The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...

over a given ring, with matrix addition
In mathematics, matrix addition is the operation of adding two matrices by adding the corresponding entries together. However, there are other operations which could also be considered addition for matrices, such as the direct sum and the Kroneck ...

or matrix multiplication
In mathematics, particularly in linear algebra, matrix multiplication is a binary operation that produces a matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the number of rows in the s ...

as the operation.
* The set of all finite strings over some fixed alphabet forms a monoid with string concatenation
In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenati ...

as the operation. The empty string serves as the identity element. This monoid is denoted and is called the ''free monoid In abstract algebra, the free monoid on a set is the monoid whose elements are all the finite sequences (or strings) of zero or more elements from that set, with string concatenation as the monoid operation and with the unique sequence of zero ele ...

'' over . It is not commutative if has at least two elements.
* 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 (or, in general, any finite number of monoids, , their Cartesian product is also a monoid (respectively, ). 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
In mathematics, the power set (or powerset) of a set is the set of all subsets of , including the empty set and itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is post ...

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
Category, plural categories, may refer to:
Philosophy and general uses
*Categorization, categories in cognitive science, information science and generally
* Category of being
* ''Categories'' (Aristotle)
* Category (Kant)
* Categories (Peirce) ...

and an object of . The set of all endomorphism
In mathematics, an endomorphism is a morphism from a mathematical object to itself. An endomorphism that is also an isomorphism is an automorphism. For example, an endomorphism of a vector space is a linear map , and an endomorphism of a gr ...

s 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
In the mathematical field of topology, a homeomorphism, topological isomorphism, or bicontinuous function is a bijective and continuous function between topological spaces that has a continuous inverse function. Homeomorphisms are the isomor ...

classes of compact surfaces with the connected sum
In mathematics, specifically in topology, the operation of connected sum is a geometric modification on manifolds. Its effect is to join two given manifolds together near a chosen point on each. This construction plays a key role in the classifi ...

. 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 $\backslash langle\; f\backslash rangle$ be a cyclic monoid of order , that is, $\backslash langle\; f\backslash rangle\; =\; \backslash left\backslash $. Then $f^n\; =\; f^k$ for some $0\; \backslash le\; k\; <\; n$. 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 $\backslash $ given by $$\backslash begin\; 0\; \&\; 1\; \&\; 2\; \&\; \backslash cdots\; \&\; n-2\; \&\; n-1\; \backslash \backslash \; 1\; \&\; 2\; \&\; 3\; \&\; \backslash cdots\; \&\; n-1\; \&\; k\backslash end$$ or, equivalently $$f(i)\; :=\; \backslash begin\; i+1,\; \&\; \backslash text\; 0\; \backslash le\; i\; <\; n-1\; \backslash \backslash \; k,\; \&\; \backslash text\; i\; =\; n-1.\; \backslash end$$ Multiplication of elements in $\backslash langle\; f\backslash rangle$ is then given by function composition. When $k\; =\; 0$ then the function is a permutation of $\backslash ,$ and gives the unique

cyclic group
In group theory, a branch of abstract algebra in pure mathematics, a cyclic group or monogenous group is a group, denoted C''n'', that is generated by a single element. That is, it is a set of invertible elements with a single associative bina ...

of order .
Properties

The monoid axioms imply that the identity element is unique: If and are identity elements of a monoid, then .Products and powers

For each nonnegative integer , one can define the product $p\_n\; =\; \backslash textstyle\; \backslash prod\_^n\; a\_i$ of any sequence $(a\_1,\backslash ldots,a\_n)$ of elements of a monoid recursively: let and let for . As a special case, one can define nonnegative integer powers of an element of a monoid: and for . Then for all .Invertible elements

An element is calledinvertible
In mathematics, the concept of an inverse element generalises the concepts of opposite () and reciprocal () of numbers.
Given an operation denoted here , and an identity element denoted , if , one says that is a left inverse of , and that is ...

if there exists an element such that and . The element is called the inverse of . Inverses, if they exist, are unique: If and are inverses of , then by associativity .
If is invertible, say with inverse , then one can define negative powers of by setting for each ; this makes the equation hold for all .
The set of all invertible elements in a monoid, together with the operation •, forms a group
A group is a number of persons or things that are located, gathered, or classed together.
Groups of people
* Cultural group, a group whose members share the same cultural identity
* Ethnic group, a group whose members share the same ethnic ide ...

.
Grothendieck group

Not every monoid sits inside a group. For instance, it is perfectly possible to have a monoid in which two elements and exist such that holds even though is not the identity element. Such a monoid cannot be embedded in a group, because in the group multiplying both sides with the inverse of would get that , which is not true. A monoid has thecancellation property
In mathematics, the notion of cancellative is a generalization of the notion of invertible.
An element ''a'' in a magma has the left cancellation property (or is left-cancellative) if for all ''b'' and ''c'' in ''M'', always implies that .
An ...

(or is cancellative) if for all , and in , the equality implies , and the equality implies .
A commutative monoid with the cancellation property can always be embedded in a group via the ''Grothendieck group 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.
The right- and left-cancellative elements of a monoid each in turn form a submonoid (i.e. are closed under the operation and obviously include the identity). This means that the cancellative elements of any commutative monoid can be extended to a group.
The cancellative property in a monoid is not necessary to perform the Grothendieck construction – commutativity is sufficient. However, if a commutative monoid does not have the cancellation property, the homomorphism of the monoid into its Grothendieck group is not injective. More precisely, if , then and have the same image in the Grothendieck group, even if . In particular, if the monoid has an absorbing element In mathematics, an absorbing element (or annihilating element) is a special type of element of a set with respect to a binary operation on that set. The result of combining an absorbing element with any element of the set is the absorbing element i ...

, then its Grothendieck group is the trivial group.
Types of monoids

An inverse monoid is a monoid where for every ''a'' in ''M'', there exists a unique ''a''Acts and operator monoids

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 which is compatible with the monoid structure as follows: * for all ''x'' in ''X'': ; * for all ''a'', ''b'' in ''M'' and ''x'' in ''X'': . This is the analogue in monoid theory of a (left)group action
In mathematics, a group action on a space is a group homomorphism of a given group into the group of transformations of the space. Similarly, a group action on a mathematical structure is a group homomorphism of a group into the automorphism ...

. 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 In algebra, a transformation semigroup (or composition semigroup) is a collection of transformations ( functions from a set to itself) that is closed under function composition. If it includes the identity function, it is a monoid, called a transfo ...

can be made into an operator monoid by adjoining the identity transformation.
Monoid homomorphisms

Ahomomorphism
In algebra, a homomorphism is a structure-preserving map between two algebraic structures of the same type (such as two groups, two rings, or two vector spaces). The word ''homomorphism'' comes from the Ancient Greek language: () meaning "same" ...

between two monoids and is a function such that
* for all ''x'', ''y'' in ''M''
* ,
where ''e''semigroup homomorphism
In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative internal binary operation on it.
The binary operation of a semigroup is most often denoted multiplicatively: ''x''·''y'', or simply ''xy'', ...

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. For example, consider $M\_n$, the set of residue class
In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to modular arithmetic was developed by Carl Friedrich Gauss in his bo ...

es modulo $n$ equipped with multiplication. In particular, the class of $1$ is the identity. Function $f\backslash colon\; M\_3\backslash to\; M\_6$ given by $f(k)=3k$ is a semigroup homomorphism as $3k\backslash cdot\; 3l\; =\; 9kl\; =\; 3kl$ in $M\_6$. However, $f(1)=3\; \backslash neq\; 1$, 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 and the latter condition cannot be omitted.
In contrast, a semigroup homomorphism between groups is always a group homomorphism
In mathematics, given two groups, (''G'', ∗) and (''H'', ·), a group homomorphism from (''G'', ∗) to (''H'', ·) is a function ''h'' : ''G'' → ''H'' such that for all ''u'' and ''v'' in ''G'' it holds that
: h(u*v) = h(u) \cdot h(v)
w ...

, as it necessarily preserves the identity (because, in a group, the identity is the only element such that ).
A bijective
In mathematics, a bijection, also known as a bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other ...

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 agroup presentation
In mathematics, a presentation is one method of specifying a group. A presentation of a group ''G'' comprises a set ''S'' of generators—so that every element of the group can be written as a product of powers of some of these generators—and ...

. One does this by specifying a set of generators Σ, and a set of relations on the free monoid In abstract algebra, the free monoid on a set is the monoid whose elements are all the finite sequences (or strings) of zero or more elements from that set, with string concatenation as the monoid operation and with the unique sequence of zero ele ...

Σplactic monoid In mathematics, the plactic monoid is the monoid of all words in the alphabet of positive integers modulo Knuth equivalence. Its elements can be identified with semistandard Young tableaux. It was discovered by (who called it the tableau algebra ...

of degree 2 (it has infinite order). Elements of this plactic monoid may be written as $a^ib^j(ba)^k$ 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 ofcategories
Category, plural categories, may refer to:
Philosophy and general uses
*Categorization, categories in cognitive science, information science and generally
*Category of being
* ''Categories'' (Aristotle)
*Category (Kant)
* Categories (Peirce)
* ...

. 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,
: ''A monoid is, essentially, the same thing as a category with a single object.''
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 functor
In mathematics, specifically category theory, a functor is a mapping between categories. Functors were first considered in algebraic topology, where algebraic objects (such as the fundamental group) are associated to topological spaces, and m ...

s between single object categories. 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
In mathematics, the category Grp (or Gp) has the class of all groups for objects and group homomorphisms for morphisms. As such, it is a concrete category. The study of this category is known as group theory.
Relation to other categories
There a ...

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
In category theory, a branch of mathematics, a monoid (or monoid object, or internal monoid, or algebra) in a monoidal category is an object ''M'' together with two morphisms
* ''μ'': ''M'' ⊗ ''M'' → ''M'' called ''multiplication'',
* ''η' ...

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, asequence
In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is calle ...

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 In computer science, the prefix sum, cumulative sum, inclusive scan, or simply scan of a sequence of numbers is a second sequence of numbers , the sums of prefixes ( running totals) of the input sequence:
:
:
:
:...
For instance, the prefix sums ...

or similar algorithm, in order to utilize multiple cores or processors efficiently.
Given a sequence of values of type ''M'' with identity element $\backslash varepsilon$ and associative operation $\backslash bullet$, the ''fold'' operation is defined as follows:
: $\backslash mathrm:\; M^\; \backslash rarr\; M\; =\; \backslash ell\; \backslash mapsto\; \backslash begin\; \backslash varepsilon\; \&\; \backslash mbox\; \backslash ell\; =\; \backslash mathrm\; \backslash \backslash \; m\; \backslash bullet\; \backslash mathrm\; \backslash ,\; \backslash ell\text{'}\; \&\; \backslash mbox\; \backslash ell\; =\; \backslash mathrm\; \backslash ,\; m\; \backslash ,\; \backslash ell\text{'}\; \backslash end$
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 the so-calledMapReduce
MapReduce is a programming model and an associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster.
A MapReduce program is composed of a ''map'' procedure, which performs filtering ...

programming model (seEncoding Map-Reduce As A Monoid With Left Folding

. 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 mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the multiplicity of that e ...

, 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
In mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the multiplicity of that e ...

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 operations 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 aninfinitary
In mathematics and logic, an operation is finitary if it has finite arity, i.e. if it has a finite number of input values. Similarly, an infinitary operation is one with an infinite number of input values.
In standard mathematics, an operatio ...

sum operation $\backslash Sigma\_I$ for any index set
In mathematics, an index set is a set whose members label (or index) members of another set. For instance, if the elements of a set may be ''indexed'' or ''labeled'' by means of the elements of a set , then is an index set. The indexing consists ...

such thatDroste, M., & Kuich, W. (2009). Semirings and Formal Power Series. ''Handbook of Weighted Automata'', 3–28. , pp. 7–10
: $\backslash sum\_\; =0;\backslash quad\; \backslash sum\_\; =\; m\_j;\backslash quad\; \backslash sum\_\; =\; m\_j+m\_k\; \backslash quad\; \backslash text\; j\backslash neq\; k$
and
: $\backslash sum\_\; =\; \backslash sum\_\; m\_i\; \backslash quad\; \backslash text\; \backslash bigcup\_\; I\_j=I\; \backslash text\; I\_j\; \backslash cap\; I\_\; =\; \backslash emptyset\; \backslash quad\; \backslash text\; j\backslash neq\; j\text{'}$.
An ordered commutative monoid is a commutative monoid together with a partial ordering
In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary r ...

such that for every , and implies for all .
A continuous monoid is an ordered commutative monoid in which every directed subset has a least upper bound
In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest lo ...

, and these least upper bounds are compatible with the monoid operation:
: $a\; +\; \backslash sup\; S\; =\; \backslash sup(a\; +\; S)$
for every and directed subset of .
If is a continuous monoid, then for any index set and collection of elements , one can define
: $\backslash sum\_I\; a\_i\; =\; \backslash sup\_\; \backslash ;\; \backslash sum\_E\; a\_i,$
and together with this infinitary sum operation is a complete monoid.
See also

*Green's relations In mathematics, Green's relations are five equivalence relations that characterise the elements of a semigroup in terms of the principal ideals they generate. The relations are named for James Alexander Green, who introduced them in a paper of 1951 ...

* Monad (functional programming)
* Semiring
In abstract algebra, a semiring is an algebraic structure similar to a ring, but without the requirement that each element must have an additive inverse.
The term rig is also used occasionally—this originated as a joke, suggesting that rigs ar ...

and Kleene algebra
* Star height problem
* Vedic square
* Frobenioid In arithmetic geometry, a Frobenioid is a category with some extra structure that generalizes the theory of line bundles on models of finite extensions of global fields. Frobenioids were introduced by . The word "Frobenioid" is a portmanteau of Fro ...

Notes

References

* * * * *External links

* * * {{PlanetMath, urlname=Monoid , title=Monoid , id=389 Algebraic structures Category theory Semigroup theory