Re: separating context-free languages by regular languages



Is disjunt same as disjoint?

I assume it is required that none of the Ri's are empty (otherwise
trivial choice of R1=Z^*, R2={} ensures non-existance of such Li pairs.
Z is the set of alphabets)

Now, a necessary and sufficient condition for such a pair of Li's is
that L1 is non-regular CFL and L2=Z^*\L1 is CFL.

If L1 and L2 are two CFLs such that there is no pair R1,R2 of RLs such
that Li \subset Rj (i,j \in {1,2}) then L1 \union L2 = Z^*. Otherwise
if w is missing from the union then pick R1={w}, R2=Z^*\{w}.

If L1,L2 are two CFLs such that L1 is non-regular CFL and L2=Z^*\L1 is
CFL then there is no pair R1,R2 of RLs such that (wlog) L1 \subset R1
and L2 \subset Ri (i \in {1,2}).

Pf: Assume such a pair of Ri's exist. Now R1 != L1 since L1 is
non-regular. So, L2 \subset R1 since R1 and R2 are disjoint and L1
\union L2 = Z^*. So, R2={}. Contradiction.

.