# CMPSCI 401: Theory of Computation

### David Mix Barrington

### Spring, 2013

# Homework Assignment #1

#### Posted Monday 28 January 2013

#### Due on paper in class, Wednesday 6 February 2013

There are twelve questions for 100 total points.
All but one are
the textbook, *Introduction to the Theory of Computation*
by Michael Sipser (second edition).
The number in parentheses following each problem
is its individual point value.

Students are responsible for understanding and following
the academic honesty
policies indicated on this page.
Additions in green made 3 February 2013.

- Problem 0.12 (5).
- Problem A-1 (10): The Fibonacci numbers are defined inductively
by the rules F(0) = 0, F(1) = 1, and for n ≥ 2, F(n) = F(n-1) +
F(n-2).
Prove, by induction on all non-negative integers n, that F(n) is
given by the closed form (1/√5)(((1 +
√5)/2)
^{n} - ((1 - √5)/2)^{n}).
- Problem A-2 (10):
Prove that if R is a regular expression that does not use the star
operation,
then the language L(R) is finite. (Note: This should be an
induction on all such regular expressions, with base cases for
∅ and the letters, and inductive cases for concatenation and &union;.)
- Exercise 1.5 parts d, e, f only (5).
- Exercise 1.6 parts e, f, g, h only (5).
- Exercise 1.7 parts b, c, d, e only (5).
- Exercise 1.14 (10). In part (a), argue
*why* this
construction works -- why is the language of the new machine the
complement of the language of the old machine? In part (b), you
first need to give any example where the construction does *not*
give the complement. Don't forget the additional question about
languages of NFA's.
- Exercise 1.16 (5). You may use any valid method.
- Exercise 1.28 part (a) (5).
- Exercise 1.19 (5). You may use either the book's method or mine.
- Problem 1.36 (10).
- Problem 1.37 (10). The language C
_{3}, for example,
can be listed {ε, 11, 110, 1001, 1100, 1111,
10010,...}.
I'm not that concerned with the technicalities of binary strings,
like leading zeros or the meaning of the empty string. But if you'd
like, here is a simple definition -- the empty string represents 0
and
if the binary string w represents n, then w0 represents 2n and w1
represents 2n + 1.
- Problem 1.38 (10). (Hint: If L is the language of an all-NFA,
can you make an NFA whose language is the complement of L?)
- Problem 1.46 parts a, c, and d only (10). You may use either my
method
(based on the Myhill-Nerode Theorem) or the Regular Language Pumping Lemma.

Last modified 3 February 2013