Finite Automata

* of DFA and its Properties



Subjects to be Learned

Contents

Here we are going to formally describe what is meant by applying a transition repeatedly, that is the concept of *

For a state q and string w, *( q , w )   is the state the DFA goes into when it reads the string w starting at the state q. In general a DFA goes through a number of states from the state q responding to the symbols in the string w. Thus for a DFA < Q , , q0 , , A > ,   the function
      * : Q * -> Q
is defined recursively as follows:

Definition of *:

Basis Clause: For any state q of Q , *( q , ) = q , where denotes the empty string.
Inducitve Clause: For any state q of Q, any string y * and any symbol a ,
          *( q , ya ) = ( *( q , y ) , a ) .

In the definition, the Basis Clause says that a DFA stays in state q when it reads an empty string at state q and the Inductive Clause says that the state DFA reaches after reading string ya starting at state q is the state it reaches by reading symbol a after reading string y from state q.

Example

For example suppose that a DFA contains the transitions shown below.



           



Then *( q , DNR ) can be calculated as follows:

        *( q , DNR ) = ( *( q , DN ) , R )   by the Inductive Clause.
        = ( ( *( q , D ) , N ) , R )   by applying the Inductive Clause to *( q , DN ).
        = ( ( *( q , D ) , N ) , R )   since D = D .
        = ( ( ( *( q , ) , D ) , N ) , R )   by applying the Inductive Clause to *( q , D ).
        = ( ( ( q , D ) , N ) , R ) ,   since ( q , ) = q .
        = ( ( q1 , N ) , R ) ,   since ( q , D ) = q1 as seen from the diagram.
        = ( q2 , R ) ,   since ( q1 , N ) = q2 as seen from the diagram.
        = q3   since ( q2 , R ) = q3 as seen from the diagram.

Properties of *

We can see the following two properties of * .

Theorem 1: For any state q of Q and any symbol a of for a DFA   < Q , , q0 , , A > ,

        *( q , a ) = ( q , a )

Proof : Since a = a ,
*( q , a ) = *( q , a ) .
By the definition of * ,
*( q , a ) = ( *( q , ) , a )
But *( q , ) = q by the definition of * .
Hence ( *( q , ) , a ) = ( q , a ) .


The next theorem states that the state reached from any state, say q , by reading a string, say w , is the same as the state reached by first reading a prefix of w, call it x, and then by reading the rest of the w, call it y.

Theorem 2: For any state q of Q and any strings x and y over for a DFA   < Q , , q0 , , A > ,

        *( q , xy ) = *( *( q , x ) , y ) .

Proof : This is going to be proven by induction on string y. That is the statement to be proven is the following:
For an arbitrary fixed string x,   *( q , xy ) = *( *( q , x ) , y )   holds for any arbitrary string y.
First let us review the recursive definition of *.

Recursive definition of *:

Basis Clause: *.
Inductive Clause: If x * and a , then xa * .
Extremal Clause: Nothing is in * unless it is obtained from the above two clauses.

Now the proof of the theorem.
Basis Step: If y = , then *( q , xy ) = *( q , x ) = *( q , x ) .
Also *( *( q , x ) , y ) = *( *( q , x ) , ) = *( q , x ) by the definition of * . Hence the theorem holds for y = .
Inductive Step: Assume that *( q , xy ) = *( *( q , x ) , y ) holds for an arbitrary string y. This is the induction hypothesis.
We are going to prove that *( q , xya ) = *( *( q , x ) , ya )   for any arbitrary symbol a of .

*( q , xya ) = ( *( q , xy ) , a ) by the definition of *
= ( * ( *( q , x ) , y ) , a ) by the induction hypothesis.
= *( *( q , x ) , ya ) by the definition of * .

Thus the theorem has been proven.



Test Your Understanding of * of DFA and its Properties

Indicate which of the following statements are correct and which are not.
Click Yes or No , then Submit.

For the following DFA answer the questions given below.




                                             



The following notations are used in the questions:

   : \delta
* : \delta^*
 : \Lambda






Next -- Language Accepted by DFA

Back to Study Schedule

Back to Table of Contents