CS 390 Solutions to Homework 4


Textbook pp. 112 - 115:

3.1 (c) 110

3.2 (d) 010

3.3 (b) Below r1 = r and r2 = s.
tex2html_wrap_inline110
= tex2html_wrap_inline112
For (r1 + r2)* represent all strings consisting of concatenation of any number of strings of r1 and r2 in any order. Hence r1(r1 + r2)* represent all strings of r1(r1 + r2)*(r1(r1 + r2)*)*.
Conversely r1(r1 + r2)*(r1(r1 + r2)*)* represent all strings of r1(r1 + r2)*, because you don't have to use anything from (r1(r1 + r2)*)*.

3.8 (b) tex2html_wrap_inline138

3.9 (d) tex2html_wrap_inline142
(f) tex2html_wrap_inline146

3.10 (a) Strings of 0's and 1's containing an odd number of 1's.

3.17 (d) (I) \Lambda
(II) a(a+bb*a)*
(III) a(a+bb*a)*b(b)* = a(a+b)*b
(IV) b(a + b)*