Are the these 2 binary generation expressions equal? If so, how do I simplify my answer to match the solution's?
Question: The set of binary strings where the length of each block of 0s is divisible by 3 and the length of each block of 1s is divisible by 4.
Solution: {000, 1111}*
Mine:
Let S be the desired binary. Decompose "S" after every block of 0s.
Each piece in the decomposition is {1111}* {000, 000, 000 000, 000 000 000, ...}
Note: ignore the spaces between 000 000, I put them there for your counting convenience.
Except possibly for the last piece which consists of {1111}*
Therefore:
S = ({1111}* {000, 000 000, 000 000 000, ...})* {1111}*
Self-answer:
Any binary strings generated by the solution's expression can also be generated by my expression. Hence, they are EQUILVALENT (same effect), but not equal because my expression would be ambiguous while the solution's answer is unambiguous. Consider 000000, my expression can generate this in TWO ways: (e(000000))e and (e000)(e000)e. Thus, making it ambiguous.
I've finally figured out where it went wrong. The method I used to create binary generation expressions requires finding the expressions for the beginning, middle, end, and then concatenating those expressions together.
When I said "Each piece in (the middle of) the decomposition is {1111}* {000, 000, 000000, ...}", it is incorrect because for a piece to be in the middle of the decomposition (ranging from the 2nd piece to the piece before the last piece), those pieces must begin with 1s. The 2nd piece cannot contain only 0s because then it would be a part of the 1st piece.
Thus, each piece in the decomposition is {1111, 11111111, ...}{000, 000, 000000, ...} Expect possibly for the first piece which consists of {000}* and the last piece which consists of {1111}*.
Thus,
So now we have equity between this answer and the answer given in the solutions {000, 1111}* since their generating series are also equal.