Converting an
±
NFA to an DFA
Theorem:
For every
±
NFA
E
, there exists an DFA
D
such that
L
(
D
) =
L
(
E
)
.
The proof uses a modified subset construction, where every subset is
±
closed.
Given
E
= (
Q,
Σ
, q
0
, δ
E
, F
E
)
, we can define
D
= (2
Q
,
Σ
,
ECLOSE
(
q
0
)
, δ
D
, F
D
)
as follows:
F
D
=
{
S
⊆
Q

S
∩
F
6
=
∅}
δ
D
(
S, a
) =
ECLOSE
(
S
s
∈
S
δ
E
(
s, a
))
Note:
δ
D
has no
±
transitions!
5
±
elimination example
q0
q1
1
q2
0
0
e
1
e
converts to the DFA:
{q0}
{q1,q2}
0,1
0,1
6
±
elimination Proof (not presented in lecture)
Lemma:
If
D
is the DFA obtained from the
±

NF A N
by the
±
elimination,
then
ˆ
δ
D
(
ECLOSE
(
q
0
)
, x
) =
ˆ
δ
E
(
q
0
, x
)
for all
x
∈
Σ
*
.
Proof:
By induction on strings:
Basis:
ˆ
δ
D
(
ECLOSE
(
q
0
)
, ±
)
=
ECLOSE
(
q
0
)
Def of
ˆ
δ
for DFA
=
ˆ
δ
E
(
q
0
, ±
)
def of
ˆ
δ
for
±
NFA
Induction:
ˆ
δ
D
(
ECLOSE
(
q
0
)
, xa
)
=
δ
D
(
ˆ
δ
D
(
ECLOSE
(
q
0
)
, x
)
, a
)
Def of
ˆ
δ
for DFA
=
δ
D
(
ˆ
δ
E
(
q
0
, x
)
, a
)
Ind. Hyp.