1

I've been trying to wrap my head around decidability problems for CFGs, and I just wanted to ask if my approach to solving this problem (the title) was accurate.

From my understanding: If A, B, C are CFLs, then A⋂B and B⋂C are not closed under intersection, so determining if they are empty is algorithmically undecidable, since the intersection may not necessarily be a CFL.
So for an algorithm to decide if (A⋂B)⋃(B⋂C) is empty, it would need to be able to evaluate that both (A⋂B) and (B⋂C) are empty by definition of union. But since the emptiness problem for the intersection of CFLs is undecidable, the emptiness problem for (A⋂B)⋃(B⋂C) should also be undecidable.

Is my logic correct? Any explanation to help me understand this is highly appreciated.

  • 3
    This is on-topic for the CS Stack Exchange but not here. That being said, this is not a valid reduction. You can't say "it would need to be able to evaluate that both (A⋂B) and (B⋂C) are empty by definition of union" – this is not the only possible way that an algorithm could work. What you need to do is exhibit an algorithm that, given a subroutine to decide whether the set in the title is empty, solves an undecidable problem. For example, you could decide whether X intersect Y is empty by testing whether (X intersect Y) union (Y intersect X) is empty, which is of the required form. – David Eisenstat Aug 04 '21 at 00:30

0 Answers0