how to prove that regular language is closed under concatenation using DFA?

106 Views Asked by At

We've learned how to use NFA to prove that closure property, but how could we do that without any help of using the conception of NFA? How to construct a DFA that could solve this problem? (so translating a proof of using NFA into DFA is forbidden)

I've tried to construct is by making $Q=P(Q_1*Q2)$, and represent it with steps, however failed...

1

There are 1 best solutions below

0
Frank Yellin On

I seriously think this is a hard problem. Imagine that language L1 is (aaaaaaaaa)*, and L2 is (aaaaaaaaaa)*. That is, all multiple of 9 a's and all multiples of 10 a's, respectively.

The DFA for L1 and L2 are each pretty easy to draw, with 9 and 10 states respectively.

But the DFA for L1 | L2 accepts strings of "a" that is a multiple of 9 plus a multiple of 10. You're going to have a hard time creating a simple DFA that accepts 'a'*70 [72 a's in a row] and 'a'* 72, but not 'a'*71 without somehow using an NFA as an intermediate step.