Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Let $a,b,c$ be regular expressions. Prove by transformation that $$(a^*b^*+c)^* \equiv (a+ (b+c)^*)^*$$

I tried to start with the second term

$$(a + ((b+c)^*))^* = (a^*(b+c)^*)^* = (a^*(b^*c^*)^*)^*$$

but am stuck here. Can you please help me to go on?

Thanks!

[Edit:]

Transformation rules:

  • $a + b = b + a$
  • $(a + b) + c = a + ( b + c)$
  • $\epsilon a = a = a \epsilon$
  • $(a b) c = a (b c)$
  • $a(b + c) = ab + bc$
  • $(a + b)c = ac + bc$
  • $\epsilon^* = \epsilon$
  • $(a^*)^* = a^*$
  • $(\epsilon + a)^* = a^*$
  • $(a^*b^*)^* = (a+b)^*$
  • $(ab)^*a = a(ab)^*$
share|improve this question
2  
What transformation rules are you using? –  Ted May 3 '12 at 7:22
    
Sorry, I forgot to add them. Now they're there. –  muffel May 3 '12 at 7:40
1  
Isn't that last transformation rule untrue? (The first one gives abab...aba and the second one gives aab...ab) –  dbaupp May 3 '12 at 11:52
    
@dbaupp: star * allows zero or more repetitions so the second one haven't start with a. –  Ehsan May 3 '12 at 12:21
    
@Ehsan, yes, the first one allows a, aba, ababa etc; the second one allows a, aab, aabab etc. i.e. they are different regular expressions. –  dbaupp May 3 '12 at 12:25
add comment

1 Answer

up vote 2 down vote accepted

Here is the solution: $$(a + ((b+c)^*))^* = (a^*(b+c)^*)^*=(a+(b+c))^*$$ $$=((a+b)+c)^*=((a+b)^*c^*)^*=((a^*b^*)^*c^*)^*=(a^*b^*+c)^*$$

I used these rules:

  • $(a^*)^* = a^*$
  • $(a^*b^*)^* = (a+b)^*$
  • $(a + b) + c = a + ( b + c)$
share|improve this answer
1  
The step that introduces $(a^*(b^*c^*)^*)^*$ is unnecessary, and can be completely removed. –  dbaupp May 3 '12 at 12:11
2  
You are right, Thanks. –  Ehsan May 3 '12 at 12:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.