COMP 3803 — Assignment 2
Due: Sunday February 28, 23:59.
Assignment Policy:
• Your assignment must be submitted as one single PDF file through cuLearn.
Use the following format to name your file:
LastName StudentId a2.pdf
• Late assignments will not be accepted. I will not reply to emails of the
type “my internet connection broke down at 23:57” or “my scanner stopped
working at 23:58”, or “my dog ate my laptop charger”.
• You are encouraged to collaborate on assignments, but at the level of discussion only.
When writing your solutions, you must do so in your own words.
• Past experience has shown conclusively that those who do not put adequate effort into
the assignments do not learn the material and have a probability near 1 of doing poorly
on the exams.
• When writing your solutions, you must follow the guidelines below.
– You must justify your answers.
– The answers should be concise, clear and neat.
– When presenting proofs, every step should be justified.
Question 1: Write your name and student number.
Question 2: Give regular expressions describing the following languages. In all cases, the
alphabet is {0, 1}. Justify your answers.
• {w : w contains an even number of 0s and each 0 is followed by at least one 1}.
• {w : w contains exactly two 0s and at least two 1s}.
• {w : every odd position in w is 1}.
1
Question 3: Use the construction given in class to convert the regular expression
((0 ∪ 1)(11)∗ ∪ 0)∗
to an NFA. The alphabet is {0, 1}.
Question 4: Use the construction given in class to convert the following DFA to a regular
expression.
a, b a
1 2
b
a
b
Question 5: Let R be a regular expression and let A be the language described by R.
Explain how to obtain a regular expression that describes the complement A of A. You may
use any result that was proven in class and Assignment 1.
Question 6: Prove that the following languages are not regular.
1. {an bn c2n : n ≥ 0}.
n n
2. {a3 : n ≥ 0}. (Remark: a3 is the string consisting of 3n many a’s.)
3. {uvu : u ∈ {a, b}∗ , u 6= , v ∈ {a, b}∗ }.
4. {am bn : m ≥ 0, n ≥ 0, m 6= n}. (Using the Pumping Lemma for this one is a bit tricky.
You can avoid using the Pumping Lemma by combining results about the closure under
regular operations.)
Question 7: Let A be a language consisting of finitely many strings.
1. Prove that A is a regular language.
2. Let n be the maximum length of any string in A. Prove that every deterministic finite
automaton (DFA) that accepts A has at least n + 1 states. (Hint: How is the pumping
length chosen in the proof of the Pumping Lemma?)