Arden’s Theorem in Theory of Computation
Arden’s theorem state that: “If P and Q are two regular expressions over , and if P does not contain
, 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(+ P*P) R = QP*
(As we know that + 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 + R![]()
Again, replace R by R = Q + RP:-
R = Q + QP + (Q + RP)= Q + QP + Q
+ R
= ... = ... = Q + QP + Q
+ .. + Q
+ R
![]()
Now, replace R by R = QP*, we get,
R = Q + QP + Q+ .. + Q
+ QP*
![]()
Taking Q as common,
R = Q(+ P +
+ .. +
+ P*
) = QP* [As
+ P +
+ .. +
+ P*
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 +q2 = q1.1 + q2.0q3 = q2.1 + q3.0 + q3.1
Now,
q1 =+ q1.0q1 =
.0* [By Arden's theorem]q1 = 0* [
R = R].'. q2 = 0*1 +q2.0 q2 = 0*10*
[Applying Arden’s theorem]. Hence, the value of q2 is 0*10*.
Please Login to comment...