[Verse 1] Context-free languages have their ways Some operations work, some don't stay Let's explore the rules that guide their fate Five closure properties to investigate [Chorus] Union, concat, Kleene star say yes Intersection, complement cause distress Remember U-C-K are friends so true But I and C will not work for you Context-free closure, know what's right Some doors open, some shut tight [Verse 2] Take two CFLs and unite them well Union keeps them context-free, I can tell Concatenation joins them end to start Still context-free, that's the art [Chorus] Union, concat, Kleene star say yes Intersection, complement cause distress Remember U-C-K are friends so true But I and C will not work for you Context-free closure, know what's right Some doors open, some shut tight [Verse 3] Kleene star repeats zero or more times Context-free structure stays in line But intersection breaks the magic spell Two CFLs together don't work well [Bridge] Complement flips the language around But context-free gets lost, not found Here's a trick to keep in mind Regular intersect CFL's fine When regular meets context-free The result stays in CFL family [Chorus] Union, concat, Kleene star say yes Intersection, complement cause distress Remember U-C-K are friends so true But I and C will not work for you Context-free closure, know what's right Some doors open, some shut tight [Outro] Three are closed and two are not Regular intersection hits the spot Context-free closure properties Master these with expertise
← 4 Pumping Lemma for Context-Free Languages | 6 Parsing Algorithms (Applied) →