CS 3613: Theoretical Foundations of Computing CS 3613: Theoretical Foundations of Computing
Spring 2009
Homework 4: Regularity and Regular Expressions
Due Date: March 12, 2009
----------------------------------------------------
Notes:
  1. Read the notes above carefully.

  2. Let S = { 0, 1 }. Give a regular expression for each of the the following languages. Briefly and precisely annotate your answers.
    1. All strings in S* with at most three 0s.

    2. All strings in S* with a number of 0s divisible by three.

    3. All strings in S* with exactly one occurrence of the substring 000.



  3. Recall that for two regular expressions (over an alphabet) r and s, r = s means that L (r) = L (s). Prove or disprove the following for regular expressions r and s over an alphabet S.
    1. (r s + r)* r = r (s r + r)*

    2. (r + s)* = r* + s*

    3. ( r* s* )* = (r + s)*



  4. Do [Sip06] Chapter 1, exercise 1.21(a).

  5. Do [Sip06] Chapter 1, exercise 1.22(b).

  6. Do [Sip06] Chapter 1, problem 1.48.




File translated from TEX by TTH, version 3.35.
On 2 Mar 2009, 23:47.