§ Krohn-Rhodes decomposition
We denote partial functions with X⇀Y and total functions
with X→Y.
A set X equipped with a binary operator
⋆:X×X→X which is closed and associative
is a semigroup.
§ Partial function semigroup
For a ground set X, the set of partial functions Pf(X)≡{f:X⇀X}
along with function composition forms a semigroup. This is in fact stronger
than a semigroup. There exists:
- An identify function ex:X→X;eX(x)=x
- A zero function θx:X⇀X;θx(x)=undef, where by undef we mean that it is undefined .
§ Transformation semigroup(TS)
Let Q be a set. Let S⊆Pf(Q) be a sub-semigroup of Pf(Q).
Then the semigroup X≡(Q,S) is called as the
transformation semigroup (X) of states Q.
- The elements of Q are called states of X
- while the elements of S are called actions of X.
- The set Q itself is called as the underlying set of X.
- For a fixed transformation semigroup X, we will write QX and SXto refer to its states and actions.
We call X≡(Q,S) as a transformation monoid if S contains 1Q(q)=q.
§ Subtlety of being a transformation monoid.
There is some subttlety here. Just because S is a monoid does not mean that
it that is a transformation monoid . It must have the identity element of
Pf(Q) to be called a transformation monoid. For example, consider the
set Q≡a,b and the transformation semigroup S≡f≡α↦b.
Now the set S is indeed a monoid with identity element as f:Q→Q.
however, f=1Q , andh ence, S is a not a transformation monoid .
§ Examples of transformation semigroups
- (X,{θ(x)=undef}). The semigroup with the empty transformation.
- (X,∅), the semigroup with no transformations.
§ Semigroup action
We sometimes wish to represent a semigroup using an action/transformation semigroup
on a ground set X. So, given some semigroup (T,×) that needs to be represented,
if we can find a morphism r:T→Pf(X) ( r for representation)
such that:
- r(t1+t2)=r(t1)∘r(t2). [ r is a semigroup morphism ].
- t1=t2⟹∃x∈X such that r(t1)(x)=r(t2)(x). [Faithfulness ].
Put more simply, t1=t2⟹r(t1)=r(t2) where we define
function equality extensionally: f=g≡∀x,f(x)=g(x).
§ Embedding actions into the transformation semigroup
We often wish to represent some semigroup S as the transformation semigroup
of some set of states Q. We can achieve this by proving a morphism:
- r:S→Pf(Q) that is faithful.
Then, we can treat elements of S as elements of Pf(Q).
§ Completion of a transformation semigroup
Given a transformation semigroup X≡(Q,S) we can complete it
by adding a new sink state ⊥, and then converting all partial
functions in S to total functions that transition to ⊥. We have that
⊥⋅s=s⋅⊥ ∀s∈S.
We denote the completion as Xc≡(Qc,Sc).
§ Coverings
Let X≡(QX,SX) and Y≡(QY,SY) be transformation
semigroups. Let ϕ⊆QY×QX be a relation. Let sx∈SX
and sy∈SY. Then, if the following diagram commutes:
a↓x→→b↓y
If sx(ϕ(qy))=ϕ(ty(qy)) then we say that ty covers sx relative to ϕ.
We imagine the ty lying above sx, being projected down by ϕ.
If a fixed ϕ, for all sx∈SX there exists a ty∈SY such that
t covers s relative to ϕ, then we say that ϕ: is a
relation of automata .
- If ϕ:QY→QX is surjective, then we say that ϕ is a relational covering and write: X◃ϕY.
- If ϕ⊆QY×QX is both surjective and partial, then we say that ϕ is a covering and write: X≺ϕY
- If X≺ϕY, we say that Y dominates X, or Y covers X, or X divides Y.
§ Checking coverings and generating subsets
We note that for a given covering ϕ, if sx is covered by ty
and px is covered by qy, then sx∘tx is covered by ty∘qy.
Thus, to check if X is covered by Y, we simply need to check if
some generating subset of X is covered by Y.
§ Checking coverings of representations
Let us assume we have a representation of a transformation semigroup
given with a semigroup Σ, a transformation semigroup
X≡(QX,SX), and a representation r:Σ→SX that is
faithful.
Now, to check that X is covered by another Y, it suffices to check that
there exists a ty∈Y for each σ∈X such that r(σ) is
covered by this ty.
§ Companion relation
Given a relation ϕ:Y→X, then we define:
Σ≡{(s,t):t∈TY covers s∈SX}
Recall compositions of elements are covered by a composition
of their coverings. Hence, if (s,t),(s′,t′)∈Σ, then
(ss′,tt′)∈Σ. thus, Σ is a subsemigroup of SX×SY.
We can regard Σ as the graph of a relation ϕ′⊆QY×QX.
This will be called as companion relation of ϕ.
§ Wreath products
Let X≡(QX,SX) and Y≡(QY,SY). We're going to define a large
product X≀Y.
We begn with the set W≡SXQY×SY, where
SXQY≡{f:QY→SX}.
The wreath product then becomes:
X≀Y≡(QX×QY,W)
with the action of W on an element of QX×QY being defined as:
(f:QY→SX,sy:SY)(qx:QX,qY:QY)≡(f(qy)(qx),sy(qy))
it's a "follow the types" sort of definition, where we edit the right component
as ry↦ty(ry) since that's all we can do. In the case of
the left component, we have a qx, and we need to produce another element
in QX, so we "must use f". The only way to use f is to feed it
a ty. This forces us into the above definition.
§ Composition of wreath products
To show that its closed under composition, let's consider (f,sy),(g,ty)∈W
with f,g:QYg→SX, and sy,ty∈SY. The result is
going to be:
(f,sy)(g,ty)=(λqy.f(qy)∘g(qy),ty∘uy)
§ Equivalences of subsets of states
Let X=(Q,S) be a transition system. Given subsets (a,b,⊆Q),
we shall write b≤a if either b⊆a or there exists some s∈S
such that b⊆sa, where s(a)≡{s(ai):ai∈a}. We can
define an equivalence relation a∼b⟺a≤b∧b≤a.
§ Note
b≤a⟹∣b∣≤∣a∣, since
b≤a means that b⊆s(a). Note that s is actually a
function s:Q→Q, and a function mapped over a set can only
ever decrease the number of elements in a set, since a function can only
xglomp elements together; it can never break an element apart into two.
Hence, b⊆sa⊆a, and thus ∣b∣≤∣a∣.
Similiarly, a≤b⟹∣a∣≤∣b∣. Therefore, b∼a means
that ∣b∣=∣a∣.
§ Theorem
for all a,b∈QX such that
a b such that b⊆s(a), we show that b=s(a), and there exists
a t∈SX such that a=t(b).
§ Proof
Since b⊆s(a)⊆a and ∣b∣=∣a∣, b=s(a).
Therefore s is a permutation. Hence, s is invertible and there exists
an inverse permutation t such that a=t(b). We now need to show that
t∈SX. To do this, first note that if the order of the permutation
s is n, then t=sn−1, since t∘s=sn−1∘s=1S.
Since the semigroup S is closed under composition t=sn−1 is in S,
since it is s composed with itself (n−1) times.
§ Subset families of interest
We will be interest in a family of subsets of QX called A, of the form:
- all sets of the form s(Q) for all s∈SX
- the set Q
- the empty set ∅
- all the singleton sets {q} for all q∈Q.
In the above set, we have ≤ and ∼ as defined above.
We note that the set A is closed under the action of all s∈SX.
For example, the empty set is taken to the empty set. All singleton
sets are taken to other singleton sets. For the full set Q, we add
the sets s(Q) for all s∈SX.
§ Height function
A height function for a transition system X≡(QX,SX) is a function
h:A→Z such that:
- h(∅)=−1.
- h({q})=0∀q∈Q.
- a∼b⟹h(a)=h(b) for all a,b∈A.
- b<a⟹h(b)<h(a) for all a,b∈A.
The notation b<a≡(b≤a)∧¬(a≤b).
(3) + (4) imply that two elements of the same height are either equivalent
or incomparable.
§ Pavings and bricks
for a∈A such that ∣a∣>1, we denote by Ba the set of all b∈A
what are maximal subsets of a. That is, if b∈Ba then b⊊a,
and ∃c,b⊊c⊊a. Equivalently, if there
exists a c such that b⊆c⊆a, then b=c or b=a.
Note that we can assert that a=∪b∈Bab. This is because Ba
contains all the singletons of QX. so we can begin by writing a as
a union of singletons, and then merging elements of Ba into larger elements
of B, terminating when we cannot merge any more elements of Ba.
- The set Ba is called as the paving of a.
- The elements of Ba are called as the bricks of a.
§ Group of permutations for a∈A
Let us assume that there exists a s∈S such that s(a)=a. Let Aa
be the set of all elements in A contained in a:
Aa={Ai:Ai∈A,Ai⊆a}.
Recall that the set A was closed under the action of all s, and hence,
since s is a permutation of a, this naturally extends into a
permutation of Aa: sAa=Aa. Now note that this induces a permutation
of the set Ba. This creates a transition system:
Ga≡{s∈S:sa=a}Ha≡(Ba,Ga)
We have already shown how if s∈S defines a permutation of some set X
by its action, then its inverse also exists in S. So, this means that
Ga is in fact a transition group that acts on Ba.
It might turn out that Ga=∅. However, if Ga=∅,
then as stated above, Ga is a group.
We will call such a transition group a generalized transition group , since
either Ga=∅ or Ga is a group.
Now, the generalized transition group Ha is called as the
holonomy transition system of a, and the group Ga is called as
the holonomy group of a.
We have that Ga≺S since Ga is a quotient of the sub-semigroup
{s∣s∈S,as=a}. (TODO: so what? why does this mean that it's ≺?)
§ Theorem:
If a∼b, then Ha≃Hb (similar subsets have isomorphic holonomy transition systems).
§ Proof:
Let us assume that a=b. since a∼b, we have elements
of the form s,s−1∈S such that b=s(a), a=s−1(b).
Recall that for ba∈Ba is such that for a member g∈Ga,
g(ba)=ba. Bb must have the element s(ba) [TODO! ]
§ Holonomy decomposition
Let X≡(Q,S) be a transition system and let h be a height
function for X, such that h(Q)>0. For a fixed i,
let a1,a2,…ak be the representatives of equivalence classes of
elements of A of height equal to i. We define:
Hi∨≡Ha1∨Ha2⋯∨Han
§ Inductive hypothesis for coverings
We will say a relational covering X◃ϕY is of rank i
with respect to a given height function h if ϕ relates states in Y
to subsets of states in x that are members of A and have rank at most i.
Formally, for each p∈QY, we have that ϕ(p)∈A and h(ϕ(p))≤i.
We prove that if X◃ϕY is a relational covering of rank i,
then X◃ϕHi∨≀Y is a relational covering
of rank i−1.
The proof is a proof by induction.
§ Base case:
Start with the relational covering with QY={0},SY={id},
and the cover ϕ(0)=QX. Clearly, this has rank n since the height
of QX is n, and ϕ is inded a covering, since the only transition
that Y can make (stay at the same state) is simulated by any transition
in SX [TODO: is this really the argument? ]
For induction, assume X◃ϕY is a relational covering of rank i
with respect to some height function h. X≡(QX,SX) and
Y≡(QY,SY). We define
- QYi≡{qy:qy∈QY,h(ϕ(qy))=i}
- QY<≡{qy:qy∈QY,h(ϕ(qy))<i}
We know that A contains elements of height exactly i. Let a1,a2,…ak
be representatives of sets of of height i in A. Thus, for each qyi∈QYi,
we have that:
- ϕ(qyi)=aj for a unique 1≤j≤k.
- We select elements u,u∈S such that u(ϕ(qyi))=ajand u(aj)=ϕ(qyi).
We will show how to establish a relational covering:
- X◃ϕ≀Hi∨Y using a relation:
- ϕ⊆[(Ba1∪Ba2∪…Bak)×QY]×QX
§ References