Today:
Homework 4.
Reading questions.
For next time:
Read from Sipser and answer the questions below.
Prepare for a quiz.
Finish Homework 4.
At the top of page 56, Sipser defines E(R), which is the set of states that can be reached from R by following 0 or more null transitions.
In class, I called this set the null closure of R.
In nfa.py, I've provided NFA.null_closure, which takes a state and returns a set of states.
NFA.null_closure uses a breadth-first search (BFS), which you can read about at http://en.wikipedia.org/wiki/Breadth-first_search
Sipser, pages 67-82
1) For Example 1.56, can you find the equivalent two-state NFA?
2) What is the difference between a GNFA and an NFA?
[If you understand Figure 1.63 and the outline of the proof of Lemma 1.60, you can skim the formal presentation on pages 73-74.]
3) If a DFA has p states and recognizes a string with length n>p, what can we say about the sequence of states that are visited when the DFA processes the string?
4) What are the qualitative differences between Sipser's presentation of the "proof idea" on page 78 and the "proof" on page 79?
5) To prove that a language is not regular, you only have to find one string in the language with a certain set of properties: what are they?
[Take your time working through Examples 1.73 through 1.77. It takes a while to get comfortable with the logic.]
6) What is "pumping down"?