Semigroup action

In algebra and theoretical computer science, an action or act of a semigroup on a set is a rule which associates to each element of the semigroup a transformation of the set in such a way that the product of two elements of the semigroup (using the semigroup operation) is associated with the composite of the two corresponding transformations. The terminology conveys the idea that the elements of the semigroup are acting as transformations of the set. From an algebraic perspective, a semigroup action is a generalization of the notion of a group action in group theory. From the computer science point of view, semigroup actions are closely related to automata: the set models the state of the automaton and the action models transformations of that state in response to inputs.

An important special case is a monoid action or act, in which the semigroup is a monoid and the identity element of the monoid acts as the identity transformation of a set. From a category theoretic point of view, a monoid is a category with one object, and an act is a functor from that category to the category of sets. This immediately provides a generalization to monoid acts on objects in categories other than the category of sets.

Another important special case is a transformation semigroup. This is a semigroup of transformations of a set, and hence it has a tautological action on that set. This concept is linked to the more general notion of a semigroup by an analogue of Cayley's theorem.

(A note on terminology: the terminology used in this area varies, sometimes significantly, from one author to another. See the article for details.)

Formal definitions
Let S be a semigroup. Then a (left) semigroup action (or act) of S is a set X together with an operation • : S × X → X which is compatible with the semigroup operation ∗ as follows: This is the analogue in semigroup theory of a (left) group action, and is equivalent to a semigroup homomorphism into the set of functions on X. Right semigroup actions are defined in a similar way using an operation • : X × S → X satisfying (x • a) • b = x • (a ∗ b).
 * for all s, t in S and x in X, s • (t • x) = (s ∗ t) • x.

If M is a monoid, then a (left) monoid action (or act) of M is a (left) semigroup action of M with the additional property that where e is the identity element of M. This correspondingly gives a monoid homomorphism. Right monoid actions are defined in a similar way. A monoid M with an action on a set is also called an operator monoid.
 * for all x in X: e • x = x

A semigroup action of S on X can be made into monoid act by adjoining an identity to the semigroup and requiring that it acts as the identity transformation on X.

Terminology and notation
If S is a semigroup or monoid, then a set X on which S acts as above (on the left, say) is also known as a (left) S-act, S-set, S-action, S-operand, or left act over S. Some authors do not distinguish between semigroup and monoid actions, by regarding the identity axiom (e • x = x) as empty when there is no identity element, or by using the term unitary S-act for an S-act with an identity.

The defining property of an act is analogous to the associativity of the semigroup operation, and means that all parentheses can be omitted. It is common practice, especially in computer science, to omit the operations as well so that both the semigroup operation and the action are indicated by juxtaposition. In this way strings of letters from S act on X, as in the expression stx for s, t in S and x in X.

It is also quite common to work with right acts rather than left acts. However, every right S-act can be interpreted as a left act over the opposite semigroup, which has the same elements as S, but where multiplication is defined by reversing the factors, s • t = t • s, so the two notions are essentially equivalent. Here we primarily adopt the point of view of left acts.

Acts and transformations
It is often convenient (for instance if there is more than one act under consideration) to use a letter, such as $$T$$, to denote the function
 * $$ T\colon S\times X \to X$$

defining the $$S$$-action and hence write $$T(s, x)$$ in place of $$s\cdot x$$. Then for any $$s$$ in $$S$$, we denote by
 * $$ T_s\colon X \to X$$

the transformation of $$X$$ defined by
 * $$ T_s(x) = T(s,x).$$

By the defining property of an $$S$$-act, $$T$$ satisfies
 * $$ T_{s*t} = T_s\circ T_t.$$

Further, consider a function $$s\mapsto T_s$$. It is the same as $$\operatorname{curry}(T):S\to(X\to X)$$ (see Currying). Because $$\operatorname{curry}$$ is a bijection, semigroup actions can be defined as functions $$S\to(X\to X)$$ which satisfy
 * $$ \operatorname{curry}(T)(s*t) = \operatorname{curry}(T)(s)\circ \operatorname{curry}(T)(t).$$

That is, $$T$$ is a semigroup action of $$S$$ on $$X$$ if and only if $$\operatorname{curry}(T)$$ is a semigroup homomorphism from $$S$$ to the full transformation monoid of $$X$$.

S-homomorphisms
Let X and X′ be S-acts. Then an S-homomorphism from X to X′ is a map
 * $$F\colon X\to X'$$

such that
 * $$F(sx) =s F(x)$$ for all $$s\in S$$ and $$x\in X$$.

The set of all such S-homomorphisms is commonly written as $$\mathrm{Hom}_S(X,X')$$.

M-homomorphisms of M-acts, for M a monoid, are defined in exactly the same way.

S-Act and M-Act
For a fixed semigroup S, the left S-acts are the objects of a category, denoted S-Act, whose morphisms are the S-homomorphisms. The corresponding category of right S-acts is sometimes denoted by Act-S. (This is analogous to the categories R-Mod and Mod-R of left and right modules over a ring.)

For a monoid M, the categories M-Act and Act-M are defined in the same way.

Examples

 * Any semigroup $$(S, *)$$ has an action on $$S$$, where $$\cdot = *$$. The action property holds due to the associativity of $$*$$.
 * More generally, for any semigroup homomorphism $$F\colon (S, *) \rightarrow (T, \oplus)$$, the semigroup $$(S, *)$$ has an action on $$T$$ given by $$s \cdot t = F(s) \oplus t$$.
 * For any set $$X$$, let $$X^*$$ be the set of sequences of elements of $$X$$. The semigroup $$(\mathbb{N}, \times)$$ has an action on $$X^*$$ given by $$n \cdot s = s^n$$ (where $$s^n$$ denotes $$s$$ repeated $$n$$ times).
 * The semigroup $$(\mathbb{N}, \times)$$ has a right action $$(\mathbb{N}, \cdot)$$, given by $$x \cdot y = x^y$$.

Transformation semigroups
A correspondence between transformation semigroups and semigroup actions is described below. If we restrict it to faithful semigroup actions, it has nice properties.

Any transformation semigroup can be turned into a semigroup action by the following construction. For any transformation semigroup $$S$$ of $$X$$, define a semigroup action $$T$$ of $$S$$ on $$X$$ as $$T(s, x) = s(x)$$ for $$ s\in S, x\in X$$. This action is faithful, which is equivalent to $$curry(T)$$ being injective.

Conversely, for any semigroup action $$T$$ of $$S$$ on $$X$$, define a transformation semigroup $$S' = \{T_s \mid s \in S\}$$. In this construction we "forget" the set $$S$$. $$S'$$ is equal to the image of $$curry(T)$$. Let us denote $$curry(T)$$ as $$f$$ for brevity. If $$f$$ is injective, then it is a semigroup isomorphism from $$S$$ to $$S'$$. In other words, if $$T$$ is faithful, then we forget nothing important. This claim is made precise by the following observation: if we turn $$S'$$ back into a semigroup action $$T'$$ of $$S'$$ on $$X$$, then $$T'(f(s), x) = T(s, x)$$ for all $$s \in S, x \in X$$. $$T$$ and $$T'$$ are "isomorphic" via $$f$$, i.e., we essentially recovered $$T$$. Thus, some authors see no distinction between faithful semigroup actions and transformation semigroups.

Semiautomata
Transformation semigroups are of essential importance for the structure theory of finite state machines in automata theory. In particular, a semiautomaton is a triple (Σ,X,T), where Σ is a non-empty set called the input alphabet, X is a non-empty set called the set of states and T is a function
 * $$T\colon \Sigma\times X \to X$$

called the transition function. Semiautomata arise from deterministic automata by ignoring the initial state and the set of accept states.

Given a semiautomaton, let Ta: X → X, for a ∈ Σ, denote the transformation of X defined by Ta(x) = T(a,x). Then the semigroup of transformations of X generated by {Ta : a ∈ Σ} is called the characteristic semigroup or transition system of (Σ,X,T). This semigroup is a monoid, so this monoid is called the characteristic or transition monoid. It is also sometimes viewed as a Σ∗-act on X, where Σ∗ is the free monoid of strings generated by the alphabet Σ, and the action of strings extends the action of Σ via the property
 * $$T_{vw} = T_w \circ T_v.$$

Krohn–Rhodes theory
Krohn–Rhodes theory, sometimes also called algebraic automata theory, gives powerful decomposition results for finite transformation semigroups by cascading simpler components.