Statement
Theorem: Let M be an NFA-ε and P(M) the result of subset construction. Then L(M)=L(P(M)).
We prove two directions:
- Soundness: L(P(M))⊆L(M)
- Completeness: L(M)⊆L(P(M))
Examinable Proof: Soundness
Claim: If P(M) accepts w, then M accepts w.
Proof:
Suppose P(M) accepts w=a1a2⋯an.
There is a DFA computation:
s′a1S1a2⋯anSn
where Sn∩F=∅.
Build an NFA computation:
We show by induction on i that for each Si, and for each q∈Si, there is an NFA path from s to q on input a1⋯ai.
Base (i=0): s′=E(s). Every q∈s′ is reachable from s via ε∗.
Step: Suppose for each q′∈Si−1, there is an NFA path s⇒a1⋯ai−1q′.
For q∈Si: By construction, q∈δ′(Si−1,ai).
So there exists q′∈Si−1 with q′aiq′′ε∗q for some q′′.
By IH, s⇒a1⋯ai−1q′. Thus s⇒a1⋯aiq.
Conclusion: Since Sn∩F=∅, there exists qf∈F∩Sn reachable from s via w. Hence M accepts w.
Examinable Proof: Completeness
Claim: If M accepts w, then P(M) accepts w.
Proof:
Suppose M accepts w=a1⋯an.
There exists an NFA computation:
s=q0a1q1a2⋯anqn∈F
(where each step may involve ε-transitions).
Build the DFA computation:
Define DFA states S0,S1,…,Sn where Si= the set of NFA states reachable from s on input a1⋯ai via any path.
Formally: Si=δ′(Si−1,ai) with S0=E(s)=s′.
Key lemma: By construction, qi∈Si for all i.
Proof of lemma: By induction on i.
- q0∈E(s)=S0 (by definition of NFA computation starting at s).
- If qi−1∈Si−1 and qi−1aiqi, then qi∈δ′(Si−1,ai)=Si.
Conclusion: qn∈Sn. Since qn∈F, we have Sn∩F=∅. Thus P(M) accepts w.
Equivalence of NFA, NFA-ε, and DFA
Corollary
(NFA languages)=(NFA-ε languages)=(DFA languages)
All three formalisms recognise exactly the same class of languages: the regular languages.
Proof
- NFA subset of NFA-ε: trivial (NFA is NFA-ε with empty τ)
- NFA-ε subset of DFA: subset construction (theorem above)
- DFA subset of NFA: trivial (DFA is special case of NFA)
Summary
- Soundness: DFA path gives NFA path by tracking which NFA states are reachable
- Completeness: NFA path traced through DFA by tracking sets
- All three automata types (NFA, NFA-ε, DFA) recognise the same languages