Write a finite automaton as a system of equations — each state’s language in terms of the states it reaches. One equation always has the shape X = AX + B (a self-loop A, an exit B). Arden’s rule solves it: the unique solution is X = A*B. Apply it state by state and the automaton collapses into a single regular expression — the constructive proof of the automaton→regex half of Kleene’s theorem.
A two-state automaton for a*b: the start state loops on a and exits on b to the accept state, giving X = aX + b. Arden solves it to X = a*b — and the resulting regex accepts exactly the strings the automaton does. Verify the solution against the machine: live demo
“X = AX + B always has one solution.” — only if A does not contain the empty string. If ε ∈ A, then A*B is the smallest solution but not unique (you can add anything). Arden’s uniqueness needs the empty-word-free condition — the fine print that makes the rule sound. cited
That last analogy is exact: in the semiring of languages, A* = 1 + A + A² + … is the closure that stands in for (1−A)⁻¹ — Arden’s rule is the geometric series, read in languages instead of numbers. Arden 1961
Arden solves X = aX + b to a*b; on the canonical compiler the automaton accepts exactly that language: