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...
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'*71without somehow using an NFA as an intermediate step.