Skip to content
Related Articles
Open in App
Not now

Related Articles

Arden’s Theorem in Theory of Computation

Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 20 Sep, 2022
Improve Article
Save Article
Like Article

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 replace it with R = QP*. So, here we will first prove that R = QP* is the solution of this equation and then 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 to 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. 

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 –

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

Now,

q1 = $\epsilon_ + q1.0q1 = $\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
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!