Theory of Computation | Arden’s Theorem

Arden’s theorem state that:
“If P and Q are two regular expressions over  $\sum_, and if P does not contain  $\epsilon_, then the following equation in R given by R = Q + RP has a unique solution i.e., R = QP*.”
That means, whenever we get any equation in the form of R = Q + RP, then we can directly replaced by R = QP*. So, here first we will prove that R = QP* is the solution of this equation and then we will also prove that it is the unique solution of this equation.

Let’s start by taking this equation as equation (i)

R = Q + RP  ......(i)

Now, replacing R by R = QP*, we get,



R = Q + QP*P 

Taking Q as common,

R = Q( $\epsilon_ + P*P)
R = QP*  

(As we know that  $\epsilon_ + R*R = R*). Hence proved.

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

Now, we have to prove that this is the only solution of this equation. Let me take this equation again:

R = Q + RP

Now, replace R by R = Q + RP,

R = Q + (Q + RP)P
  = Q + QP + RP^2 

Again, replace R by R = Q + RP:-

R = Q + QP + (Q + RP) P^2
  = Q + QP + QP^2 + RP^3
  = ...
  = ...
  =  Q + QP + QP^2 + .. + QP^n + RP^{(n+1)} 

Now, replace R by R = QP*, we get,

R = Q + QP + QP^2 + .. + QP^n + QP*P^{(n+1)} 

Taking Q as common,

R = Q( $\epsilon_ + P + P^2 + .. + P^n + P*P^{(n+1)})
  = QP*    [As  $\epsilon_ + P + P^2 + .. + P^n + P*P^{(n+1)} represent 
          the closure of P] 

Hence proved.

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

To understand this theorem, we will solve an example:

Example –

q1 = q1.0  +  $\epsilon_
q2 = q1.1 + q2.0
q3 = q2.1 + q3.0 + q3.1 

Now,

q1 =  $\epsilon_ + q1.0
q1 =  $\epsilon_.0*    [By Arden's theorem]
q1 = 0*      [ $\epsilon_R = R]

.'. q2 = 0*1 +q2.0
    q2 = 0*10*    

[Applying Arden’s theorem]. Hence, the value of q2 is 0*10*.



My Personal Notes arrow_drop_up

Recommended Posts:



    Article Tags :

    4


    Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.