In each case below, find a string of minimum length in {a,b}*notin the language corresponding to the given regular expression.

a. b*(ab)*a*

b. (a* + b*)(a* + b*)(a* + b*)

c. a*(baa*)*b*

d. b*(a + ba)*b*

================================================== ================================================== ================

I'm confused. Is the question asking me to give a string that shouldn't be in the expression? Well here are my attempts. Someone please let me know if I'm right or wrong:

My Attempted Solutions

a.ba. a,b,and null are in the expression for strings of length 1 or less. For strings of length 2 or less, we have bb, aa, and ab but NOT ba.

If the answer above is correct why? The commutative law says ab=ba. So for part a shouldn't the (ab)* in the expression equal (ba)* ?

b.ab. I don't know why. (Because the expression is in product of sums form?)

c.ab. The middle string, (baa*)* lets you have any amount of that string. The inside of the parentheses could also be (ba)* because the a* term could be absent. So I could have any amount of ba's but not ab.

d.aa. The expression says you can have any amount of b's and (a + ba) terms. So aa wouldn't be in the expression.