a. Let A be a finite-state automaton with input alphabet
∑
, and suppose
L
(
A
)
is the language accepted by A. The complement of
L
(
A
)
is the set of all strings over
∑
that are not in
L
(
A
)
. Show that the complement of a regular language is regular by proving the following:
L
(
A
)
is the language accepted by a finite-state automaton A, then there is a finite-state automaton
A
′
that accepts the complement of
L
(
A
)
.
b. Show that the intersection of any two regular languages is regular as follows: First prove that if
L
(
A
1
)
and
L
(
A
2
)
are languages accepted by automata
A
1
and
A
2
, respectively, then there is an automaton A that accepts
(
L
(
A
1
)
)
c
∪
(
A
(
A
2
)
)
c
. Then use one of Dc Morgan’s laws for sets, the double complement law for sets, and the result of part (a) to prove that there is an automaton that accepts
L
(
A
1
)
∩
L
(
A
2
)
.