
< previous page page_226 next page >
Page 226
We say that
α recognises L
if there is a subset such that
L
=
α
−1
(P)
. Usually, we shall just say
that the monoid
M
itself
recognises
the language
L
. In particular, the syntactic monoid
M(L)
recognises
L
by Lemma 10.2.4. We say that a language
L
is
recognisable (by a monoid)
if it is recognised by a
finite
monoid. Our first task is to show that this new type of recognisability agrees with our usual definition
via automata.
Theorem 10.2.5
A language is recognisable by a monoid if and only if it is recognisable in the
automata-theoretic sense.
Proof Let A=
(Q, A, i, δ, T)
be an automaton such that
L
(A)=
L,
and let
T
(A) be the transition monoid
of A. Denote by the function associating a string with the effect of the string on the set of
states
Q
. Thus . Put
,
the image of the language in the transition monoid. Clearly
. We show that in fact equality holds. Let . Then by definition there exists
such that . But and so because
x
and
y
have the same effect on the
states of A. Hence as required.
To prove the converse, suppose that
L
is recognised by a finite monoid. Specifically, there is a monoid
homomorphism
α: A
*→
M
and a subset such that
L
=
α
−1
(P)
. We shall prove that
L
is recognised
by a finite automaton. Define A=(
M, A,
1,
δ, P
)
,
where 1 is the identity of
M
and
δ(m, a)
=
mα(a)
. It is
clear that A is a finite automaton. If
u
is a string in
A
* then
δ
*
(m, u)
=
mα(u)
. We now determine
L
(A).
We have that iff iff . Hence
L
(A)=
L
.
A regular language may be recognised by many different monoids. The syntactic monoid occupies a
privileged position that can be characterised using a definition combining subsemigroups with
homomorphic images. Let
M
and
N
be semigroups. We say that
N divides M
if
N
is a homomorphic
image of a subsemigroup of
M;
that is, there is a subsemigroup and a surjective homomorphism
α: M′
→
N
. If
M
and
N
are both monoids, we say that
N
divides
M
if
N
is a monoid homomorphic image
of a submonoid of
M
.
Theorem 10.2.6
Let L be a language over the alphabet A. The monoid M recognises L if and only if
M(L) divides M where M(L) is the syntactic monoid of L.
Proof Suppose that
M
is a monoid that recognises
L
. Then by definition there is a monoid
homomorphism
α: A
*→
M
and a subset such that
L
=
α
−1
(B)
. We show first that . Let
α(x)
=
α(y)
and suppose that for some . Then and so
,
which
implies that
. A similar argument shows that implies that . We have therefore
proved that implies . Let
M′=
im
(α)
. By Proposition 9.2.12, there is a surjective
homomorphism from
M′
to
M(L)
. It follows that
M(L)
divides
M,
as required.
< previous page page_226 next page >