
< previous page page_236 next page >
Page 236
of
A
*. The languages
, ε,
and
a,
where
,
will be called ‘basic languages.’ We say that a language
L
over an alphabet
A
is
star-free
if there is a star-free generalised regular expression
s
over
A
such that
L
=
L(s)
. In other words, a language is star-free if it can be constructed from the basic languages using
only the Boolean operations and the product but not the Kleene star. To help understand this definition,
we begin with an example.
Example 11.1.1 Is the language
(ab)
* star-free? On the face of it, the answer might appear to be ‘no,’
but this would be incorrect. To show that a language is star-free we have to show that it can be written
without using the Kleene star, and to show that it is not star-free we have to show that this is
impossible. Observe that a string in
(ab)
* does not contain the strings
aa
and
bb
as factors, and it
cannot begin with a
b
nor end with an
a
. In fact, this precisely describes the strings in
(ab)
*. Thus
If
X
and
Y
are sets, then we can rewrite
X
\
Y
as
X
n
Y′
. Clearly we can rewrite
A
* as . If we make these
changes in our expression above, we see that
(ab)
*
is
star-free.
This example shows that determining whether a recognisable language can be described by a star-free
regular expression may be no easy matter. To gain some insight into this problem, therefore, we shall
begin by restricting our attention first to the simplest class of recognisable languages: those over one-
letter alphabets. Let
A
=
{a}
. We know from Theorem 5.2.2 that a recognisable language over such an
alphabet has the form
X
+
Y(ap)
*
,
where
X
and
Y
are finite languages. Our analysis of this language will
depend on whether
p
=0, 1 or
p
>1. If
p
=0, then
X
+
Y(ap)
*=
X
+
Y
is just a finite language, which is
evidently star-free. Its minimal automaton will be similar to that of the next case. If
p
=1, then we can
write this language as which shows that it is star-free. The corresponding minimal automaton
consists of a set of
m
+1 states labelled 0,…,
m
with the state 0 as the initial state. The transition
monoid of this automaton consists of the function mapping 0 to 0 if there is only one state, or in the
case of more than one state, all powers of the function that maps
i
to
i
+1 for
i
=0,…,
m
−1 and that
maps
m
to
m
.
Example 11.1.2 Consider the language
a
+
a
3 +
a
4
a
*. The minimal automaton for this language is
Observe that
< previous page page_236 next page >