turing machine decidable description for the language

55 Views Asked by At

L = { | R is a regular expression that produces at least one word in {a, b} * which contains a symbol exactly 3 times}

The below TM recognizes the language

S = '<R>  where R is a regular expression:
1.  convert the R to an equivalent NFA A.
2. convert the regular expression b* ∪ b* ab* ∪ b* ab* ab* ∪ b* ab* ab* ab* a{a,b} *(does not contain 3 a)  to an equivalent NFA B.
3. Convert A and B equivalent DFA C and D.
4. Calculate the DFA E which identifies the intersection of C and D.
5. Apply TM T, EmptyDFA, with given 
DFA E. If the machine accept, we accept, otherwise reject.

Can anyone tell me if I am correct?