I'm currently working on the following problem for my computer theory class. It goes as follows:
Let $A$ and $B$ be regular expressions. Show then that $A^*B$ is the solution of $X = AX + B$
Am I supposed to let $X = A^*B$? If so then
$A^*B = A(A^*B) + B$
I can understand that $A(A^*B)$ could be reduced to $A^*B$ but what happens with the "${}+ B$" part of the expression? I've read up on Kleene algebra and found an axiom that seems relevant in which
$b + ax ≤ x → a^∗b ≤ x$
but I'm not actually sure if it applies.
The trick is to write $B$ as $\epsilon B$ and use distributivity:
$$\begin{align*} A(A^*B)+B&=(AA^*)B+B\\ &=(AA^*)B+\epsilon B\\ &=(AA^*+\epsilon)B\\ &=A^*B \end{align*}$$
Informally, $A^*B$ stands for any concatenation of $A$-strings, possibly empty, followed by a $B$-string. Putting an $A$ in front forces us to have at least one $A$-string, and to compensate we allow a naked $B$-string as well.