Problem: Define a sequence of languages on $A$, a finite alphabet as $D_0 = 1$ (empty string) and $D_{n+1}= (aD_nb)^*$.
Show that each $D_i$ is star-free (for each there is an equivalent star-free regular expression). $D_1 = (ab)^*, D_2 = (a(ab)^*b)^*$
I can see how to write them both in a star-free manner. We have to basically avoid some (finitely) forbidden subwords. Explicitly, $D_1 = (b \emptyset^c + \emptyset^ca + \emptyset^caa\phi^c + \emptyset^cbb\emptyset^c)$. $D_2$ is a bit more messy.
But I don't know how to show that $D_n$ in general is star-free. Please help. I know the basic results like Schützenberger's theorem for star-free languages.
This problem is taken from the text Mathematical Foundations of Automata Theory by Jean-Éric Pin.
Step 1. Show that $D_n$ is recognised by the automaton ${\cal A}_n$ below
Step 2. Let $p$ be a state of ${\cal A}_n$ and let $u$ be a word. Show that if $p\cdot u$ is defined, then $p\cdot u = p + |u|_a - |u|_b$.
Step 3. Show that for each word $u$, $u^{n+1} \sim_{D_n} u^{n+2}$, where $\sim_{D_n}$ is the syntactic congruence of $D_n$.
Step 4. Conclude by using Schützenberger's theorem.