ARDEN'S THEOREM FOR REGULAR EXPRESSIONS

Image
    Identities for Regular Expression:- Given R, P, L, Q as regular expressions, the following identities hold − ∅* = ε ε* = ε RR* = R*R R*R* = R* (R*)* = R* RR* = R*R (PQ)*P =P(QP)* (a+b)* = (a*b*)* = (a*+b*)* = (a+b*)* = a*(ba*)* R + ∅ = ∅ + R = R   (The identity for union) R ε = ε R = R   (The identity for concatenation) ∅ L = L ∅ = ∅   (The annihilator for concatenation) R + R = R   (Idempotent law) L (M + N) = LM + LN   (Left distributive law) (M + N) L = ML + NL   (Right distributive law) ε + RR* = ε + R*R = R* Arden's Theorem:- In order to find out a regular expression of a Finite Automaton, we use Arden’s Theorem along with the properties of regular expressions. Statement  − Let  P  and  Q  be two regular expressions. If  P  does not contain null string, then  R = Q + RP  has a unique solution that is  R = QP* Proof  − R = Q + (Q + RP)P  [After putting the value R = Q + RP] = Q + ...

PUMPING LEMMA AND CLOSURE PROPERTIES OF REGULAR LANGUAGES

 
PUMPING LEMMA:-
In the theory of formal languages, the pumping lemma may refer to:
->Pumping lemma for regular languages, the fact that all sufficiently long strings in such a language have a substring that can be repeated arbitrarily many times, usually used to prove that certain languages are not regular.
->Pumping lemma for context-free languages, the fact that all sufficiently long strings in such a language have a pair of substrings that can be repeated arbitrarily many times, usually used to prove that certain languages are not context-free.
->Pumping Lemma is used as a proof for irregularity of a language. Thus, if a language is regular, it always satisfies pumping lemma. If there exists at least one string made from pumping which is not in L, then L is surely not regular.
The opposite of this may not always be true. That is, if Pumping Lemma holds, it does not mean that the language is regular.
->It states that if 'L' is an infinite language then there exists some positive integer 'n' (pumping length) such that any string say W ∈ L has greater than or equal to 'n' is |W|>=n, then W can be divided into three parts let say 'xyz' satisfy following condition:-
i) for each 'i>0', ((xy)^i)(z) L
ii) |y|>0
iii) |xy|<=n
Example:-
Prove that L = {aibi | i ≥ 0} is not regular.

Solution −

  1. At first, we assume that L is regular and n is the number of states.
  2. Let w = anbn. Thus |w| = 2n ≥ n.
  3. By pumping lemma, let w = xyz, where |xy| ≤ n.
  4. Let x = ap, y = aq, and z = arbn, where p + q + r = n, p ≠ 0, q ≠ 0, r ≠ 0. Thus |y| ≠ 0.
  5. Let k = 2. Then xy2z = apa2qarbn.
  6. Number of as = (p + 2q + r) = (p + q + r) + q = n + q
  7. Hence, xy2z = an+q bn. Since q ≠ 0, xy2z is not of the form anbn.
  8. Thus, xy2z is not in L. Hence L is not regular.
CLOSURE PROPERTIES :-
  1. Kleen Closure:
    RS is a regular expression whose language is L, M. R* is a regular expression whose language is L*.
  2. Positive closure:
    RS is a regular expression whose language is L, M. R^+ is a regular expression whose language is L^+.
  3. Complement:
    The complement of a language L (with respect to an alphabet E such that E^* contains L) is E^*–L. Since E^* is surely regular, the complement of a regular language is always regular.
  4. Reverse Operator:
    Given language L, L^R is the set of strings whose reversal is in L.
    Example: L = {0, 01, 100};
    L^R ={0, 10, 001}.
    Proof: Let E be a regular expression for L. We show how to reverse E, to provide a regular expression E^R for L^R.
  5. Complement:
    The complement of a language L (with respect to an alphabet E such that E^* contains L) is E^*–L. Since E^* is surely regular, the complement of a regular language is always regular.
  6. Union:
    Let L and M be the languages of regular expressions R and S, respectively.Then R+S is a regular expression whose language is(L U M).
  7. Intersection:
    Let L and M be the languages of regular expressions R and S, respectively then it a regular expression whose language is L intersection M.
    proof: Let A and B be DFA’s whose languages are L and M, respectively. Construct C, the product automaton of A and B make the final states of C be the pairs consisting of final states of both A and B.
  8. Set Difference operator:
    If L and M are regular languages, then so is L – M = strings in L but not M.

    Proof: Let A and B be DFA’s whose languages are L and M, respectively. Construct C, the product automaton of A and B make the final states of C be the pairs, where A-state is final but B-state is not.

  9. Homomorphism:
    A homomorphism on an alphabet is a function that gives a string for each symbol in that alphabet. Example: h(0) = ab; h(1) = E. Extend to strings by h(a1…an) =h(a1)…h(an). Example: h(01010) = ababab.

    If L is a regular language, and h is a homomorphism on its alphabet, then h(L)= {h(w) | w is in L} is also a regular language.
    Proof: Let E be a regular expression for L. Apply h to each symbol in E. Language of resulting R, E is h(L).

  10. Inverse Homomorphism : Let h be a homomorphism and L a language whose alphabet is the output language of h. h^-1 (L) = {w | h(w) is in L}.

Comments

Popular posts from this blog

EQUIVALENCE OF TWO FINITE AUTOMATAs

ARDEN'S THEOREM FOR REGULAR EXPRESSIONS

PIGEONHOLE PRINCIPLE AND APPLICATIONS OF PUMPING LEMMA