- Free monoid
In
abstract algebra , the free monoid on a set "A" is themonoid whose elements are all the finite sequences (or strings) of zero or more elements from "A", with thebinary operation ofconcatenation . It is usually denoted "A"∗. Theidentity element is the unique sequence of zero letters, often called theempty string and denoted by ε or λ. The freesemigroup on "A" is the subsemigroup of "A"∗ containing all elements except the empty string. It is usually denoted "A"+.More generally, an abstract monoid (or semigroup) "S" is described as free if it is
isomorphic to the free monoid (or semigroup) on some set.As the name implies, free monoids and semigroups are those objects which satisfy the usual
universal property definingfree object s, in the respective categories of monoids and semigroups. It follows that every monoid (or semigroup) arises as a homomorphic image of a free monoid (or semigroup). The study of semigroups as images of free semigroups is calledcombinatorial semigroup theory .Free generators and rank
The members of a set "A" are called the free generators for "A"∗ and "A"+. The superscript * is then commonly understood to be the
Kleene star . More generally, if "S" is an abstract free monoid (semigroup), then a set of elements which maps onto the set of single-letter words under an isomorphism to a semigroup "A+" (monoid "A"∗) is called a "set of free generators" for "S".Each free semigroup (or monoid) "S" has exactly one set of free generators, the
cardinality of which is called the "rank" of "S".Two free monoids or semigroups are isomorphic if and only if they have the same rank. In fact, "every" set of generators for a free semigroup or monoid "S" contains the free generators. It follows that a free semigroup or monoid is finitely generated if and only if it has finite rank.
Examples
The monoid (N,+) of
natural numbers (including zero) under addition is a free monoid on a single generator (i.e. rank 1). The unique free generator is the number 1.If Σ is a "finite alphabet" (a set of symbols), then Σ∗ consists of all "words" over Σ in the sense of
formal language theory. Thus, the abstract study of formal languages can be thought of as the study of subsets of finitely generated free monoids. There are deep connections between the theory of semigroups and that of automata. For example, theregular language s over Σ are the homomorphic pre-images in Σ∗ of subsets of finite monoids.For example, if "A" = {"a", "b", "c"} elements of "A"∗ are of the form:{ε, "a", "ab", "ba", "caa", "cccbabbc"}
If "A" is a set, the "word length" function on "A"∗ is the unique
monoid homomorphism from "A"∗ to N that maps each element of "A" to 1.tring projection
The operation of ml|String_operations|String_projection|string projection is an
endomorphism . That is, given a letter "a" ∈ Σ and a string "s" ∈ Σ∗, define the string projection "p"a("s") by:
Note that string projection is well-defined even if the rank of the monoid is infinite, as the above recursive definition works for all strings of finite length. String projection is a
morphism in the category of free monoids, so that:
where is understood to be the free monoid of all finite strings that don't contain the letter "a". The identity morphism is , as clearly for all strings "s". Of course, it commutes with the operation of string concatenation, so that for all strings "s" and "t". There are many right inverses to string projection, and thus it is a
split epimorphism .String projection is commutative, as clearly
:
For free monoids of finite rank, this follows from the fact that free monoids of the same rank are isomorphic, as projection reduces the rank of the monoid by one.
String projection is
idempotent , as:
for all strings "s". Thus, projection is an idempotent, commutative operation, and so it forms a bounded
semilattice or a commutative band.The free commutative monoid
Given a set "A", the free commutative monoid on "A" is the set of all finite
multiset s with elements drawn from "A". This forms acommutative monoid with the binary operation of multiset union.For example, if "A" = {"a", "b", "c"} elements of the free commutative monoid on "A" are of the form:{ε, "a", "ab", "a"2"b", "ab"3"c"4}
The
fundamental theorem of arithmetic states that the monoid of positive integers under multiplication is a free commutative monoid on an infinite set of generators, theprime number s.ee also
*
String operations
Wikimedia Foundation. 2010.