Given an NFA say $N=(Q,\Sigma, q_0, \partial, F_Q)$, where $\partial: Q\times(\Sigma\cup\{\varepsilon\})\to\mathcal{P}(Q)$. It's confusing about the behavior of say $\partial(q, a)=\emptyset$ for any given $a\in \Sigma\cup\{\varepsilon\}$ because of the following details are not clear:
For any single transition route/path/thread:
- Is it valid for the machine to consume $a$ in the first place? (continue to 2. if the answer is yes)
- What's the state after consuming $a$? (continue to 3. if your answer is "stay at $q$")
- If it stays at $q$, is it valid for the machine to continue processing the remaining symbols? (continue to 4. if your answer is yes)
- What's the difference of it between $\partial(q, a)=\{q\}$?
Can anyone elaborate on these points? I need rigorous explanation instead of just intuition. It will be great if you can provide some references. Thanks!
To show my own effort on this, the following is my current idea:
- No, and the empty set means there is no transition for $q$ on $a$. More specifically, we cannot find a state from $\emptyset$ for the machine to arrive. (so this "answer" invalidates my questions 2,3,4.)
People told me that it will stay at $q$, but it's weird because:
If there is a machine intended to accept only the string $abcd$ and it has $\partial(Q_d, \sigma)=\emptyset$ for every $\sigma\in(\Sigma\cup\{\varepsilon\})$, where $Q_d$ is the state after consuming $d$, then it will accidentally accept any string of the form $abcd\sigma^*$, i.e. $\sigma$ can repeat from zero to any finite number. I think this result is unwanted.