# Questions and Answers on Homework Assignment #1

#### HW#1 is due on paper in class, Friday 13 February 2009

Question text is in black, my answers in blue.

• Question 1.1, posted 7 February: For Problem 1.64, when it said "at most k", does it include k?

Yes, "at most k" always means "≤ k". But actually the statement of (a) is true even if he had made the stronger statement "less than k" or "< k".

If it does include k, then I think Part b to Problem 1.64 has to be true: If ~A is nonempty, ~A contains some string of length at most k. (This finite automaton has to have a circuit by the pigeonhole theorem.)

Which finite automaton? You are not told that a DFA or even an NFA with k states exists and has a language of A-bar. You are told only that an NFA with k states, N, exists and has language L(N) = A. There's no mistake in the question -- if there were guaranteed to be a string of length ≤ k in A-bar, then parts (c) and (d) would make no sense.

If a finite automaton with k states that recognizes all string of length at most k, then it recognizes all strings generated from the alphabet and, therefore, ~A is empty. If A does not contain all string of length at most k, then ~A contain some string of length at most k.

I think you are still mixing up DFA's and NFA's, as in an earlier email. What you say would be true if N were a DFA, but it's an NFA. We've now seen in lecture how to convert NFA's to DFA's, but in general this increases the number of states from k to 2^k.

I just was not sure if it does include k because including k would make the statement true, and it would be impossible to find a counterexample to something that is really true.

See above. You're right that what you need is to find a k-state NFA that can accept any string of length <= k, but where there is some longer string that it cannot accept. For k=1 this is impossible, as if a 1-state NFA can accept all 1-letter strings its state must be accepting with loops for every letter, and it can accept anything. So you need k to be at least 2, and possibly larger -- note that you just need some example for some k to solve part (b). Parts (a) and (c) of this problem are easy, but (b) is hard. And (d) is harder, which is why I didn't assign it.