Finite Automata
* of DFA and its Properties
Subjects to be Learned
*
- Language accepted by DFA
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