4

In my textbook, it presents the theorem, "A language L is accepted by some DFA if and only if l is accepted by some NFA". My textbook explains that the "if" portion of the proof is given by the subset construction and theorem if $D=(Q_D, \sigma, \delta_D, {q0}, F_D)$ is the DFA constructed from NFA $N=(Q_N, \sigma, \delta_N, {q0}, F_N)$ by the subset construction, then L(N) = L(D).

However, it leaves it up to the reader to prove the "only if" portion - essentitally, if $\hat\delta_D(q,a) = p$ then $\hat\delta_N(q,a) = {p}$. It suggests that we mu prove this by induction on $|w|$.

I understand how to complete the basis part of this inductive proof, I think.

If w is the empty string, then $$\delta_D(q,\epsilon) = q$$ and $$\delta_N(q,\epsilon) = {q}$$ by definition of the extended transition function.

However, I'm lost as to how to finish the proof. I've come up the starts of something, but I don't know if I'm even in the right direction:

Assume the statement is true for strings shorter than y and break y into $xa$ where $a$ is last symbol of $y$ and x is the string of symbols before a.

$\delta_N(q_0, y) = \bigcup\limits_{i=1}\delta_n(p_i, a)$

$\delta_D(q_0, y) = \delta(\hat\delta(q_), x), a)$

maddie
  • 237
  • 3
  • 11

1 Answers1

1

For the full proof we should give the definition of the automata: $N = (Q, \Sigma, \delta_N, q_0, F)$ is the original NFA. We yield a DFA via subset or powerset construction: $D = (2^Q, \Sigma, \delta_D, \{q_0\}, \{P \subseteq Q \mid F \cap P \neq \varnothing\})$, with $\delta_D(P, a) = \{q \in Q \mid \exists p \in P. q \in \delta_N(p, a)\}$.

Now for the induction:
Base case: $\hat{\delta}_D(\{q_0\}, \varepsilon) = \{q_0\}$ by definition and $\hat{\delta}_N(\{q_0\}, \varepsilon) = \{q_0\}$.
Induction step: Let the statement be true for all $w \in \Sigma^n$, i.e. we land in some set $P \subseteq Q$ (which is a state in $D$). Consider some word $wa \in \Sigma^{n+1}$: $\hat{\delta}_D(\{q_0\}, wa) = \delta_D(\hat{\delta}_D(\{q_0\}, w), a) = \delta_D(P, a) = P^\prime$ with $P^\prime$ as given in powerset construction. By induction hypothesis we have that $\hat{\delta}_N(\{q_0\}, w) = P$ and $\hat{\delta}_N(\{q_0\}, wa) = \{q \in Q \mid \exists p \in P. q \in \delta_N(p, a)\} = P^\prime$.


Original answer for the other direction of the proof

I think you are overcomplicating things here. What you want to show is that if there is a language $L$ recognized by some DFA $\mathcal{A} = (Q, \Sigma, \delta, q_0, F)$, then there is an equivalent NFA. From your post I assume, your textbook defines NFAs with transition functions $\delta^\prime\colon Q \times \Sigma \to 2^Q$ (an other possible way would be transitions relations $\Delta \subseteq Q \times \Sigma \times Q$).

So, given DFA $\mathcal{A}$, you can just define the NFA $\mathcal{A}^\prime = (Q, \Sigma, \delta^\prime, q_0, F)$ with $\delta^\prime(p, a) = \{\delta(p, a)\}$ for all $p \in Q, a \in \Sigma$, i.e. always map to the singleton with the only possible state that the DFA would reach (i.e. the transition graph is the same). It is obvious that $\mathcal{A}^\prime$ recognizes the same language as $\mathcal{A}$.

In summary, you may say that DFAs are just NFAs where the transition function maps each state and symbol to a singleton (or rephrasing for transition relations: DFAs are just NFAs where the transition relation ist total and functional).

ttnick
  • 2,034
  • 10
  • 19