Arden's Theorem in Theory of Computation (original) (raw)

Last Updated : 12 Feb, 2026

A Regular Expression (RE) is a way to describe patterns of strings using symbols and operators like union, concatenation, and star. A Deterministic Finite Automaton (DFA) is a machine that reads input strings and decides if they match the pattern by moving through a set of defined states without any ambiguity. There are two methods for converting a Regular Expression (RE) to a Deterministic Finite Automaton (DFA):

  1. State/Loop Elimination
  2. Arden’s Theorem

State/Loop Elimination

This process simplifies the automaton by reducing unnecessary states and focusing on the essential ones for the DFA.

**Theorem:

Let P, Q, and R be the regular expressions on Σ. If P does not contain ε, the equation R = Q + RP has a unique solution given by R = QP*.

**Explanation of Terms

The theorem allows R to be expressed in terms of Q and P using the Kleene star operation. Whenever we get any equation in the form of R = Q + RP, then we can directly replace it with R = QP*.

ATEX11-300

**Proof of Arden’s Theorem

We start with the equation:

R=Q+RP

Substituting R = Q + RP, we get:

R = Q + (Q + RP)P

Again, substituting R = Q + RP, we get:

R = Q + QP + RPP

Now, if we keep substituting the value of R repeatedly, we get:

**R = Q + QP + QP² + QP³ + ...

This can be factored as:

**R = Q (ε + P + P² + P³ + ...)

Since _P (P star)* represents ****(ε + P + P² + P³ + ...)**, we can simplify the equation to:

**R = QP*

Thus,

R = QP* is the unique solution of the equation R = Q + RP.

**Note : Arden's theorem is used to convert given finite automata to a regular expression.

To understand this theorem, we will solve an example.

**Example for Arden's Theorem

We are given the following set of equations representing regular sets, with states q0​, q1, and q2​:

  1. q0 = ϵ + q11 + q2(0 + 1) ------------ (A)
  2. q1 = q00 + q12 ------------ (B)
  3. q2 = q01 + q10 ------------ (C)

Step 1: Substituting q2 from Eq. (C) into Eq. (A)

Substitute the expression for q2 from equation (C) into equation (A):

q0 = ϵ + q11 + (q01 + q10)(0 + 1)

Simplifying the right-hand side:

This simplifies to the form:

q0 = ϵ + q1(1 + 00 + 01) + q01(0 + 1)

This is of the form R = Q + RP, where:

Step 2: Solving for q0

The solution to this recursive equation is:

R = QP∗

Thus, the expression for q0​ becomes:

q0 = [ϵ + q1(1 + 00 + 01)](1(0 + 1))∗------------ (D)

Step 3: Substituting q0​ from Eq. (D) into Eq. (B)

Now, substitute the value of q0​ from Eq. (D) into Eq. (B):

q1 = q02 + [ϵ + q1(1 + 00 + 01)](1(0 + 1))∗

Simplifying:

q1 = 1(0 + 1)∗0 + q1[2 + (1 + 00 + 01)(1(0 + 1))∗0]

This is again of the form R=Q+RP, where:

Step 4: Solving for q1

The solution to this is:

q1 =1(0 + 1)∗0[2 + (1 + 00 + 01)(1(0 + 1))∗0]∗

Step 5: Substituting q1​ into Eq. (D)

Now, substitute the expression for q1​ into Eq. (D):

q0 = [ϵ + 1(0 + 1)∗0[2 + (1 + 00 + 01)]]

Simplifying:

q0 = [(1(0 + 1)∗)0]∗(1 + 00 + 01)(1(0 + 1))∗

Final Regular Expression

Thus, the regular expression describing the machine is given by:

q0 + q1 = [ϵ + (1(0 + 1)∗0)[2 + (1 + 00 + 01)(1(0 + 1))∗0]∗] + (1 + 00 + 01)(1(0 + 1))∗ + (1(0 + 1)∗0[2 + (1 + 00 + 01)(1(0 + 1))∗0]∗)∗

This is the final regular expression that describes the given machine.

Features of Arden's theorem in the context of TOC

**Applications of Arden’s Theorem