Ответы:
Можно понять ваш вопрос двумя способами, согласно определению «дополнение КЛЛ».
Случай A: Дополнение к CFL - это класс всех языков, которых нет в CFL. Формально, В этом случае намного больше, чем , у него даже есть языки, которых нет в и т. Д. Но, возможно, это не то, что вы имели в виду.
case B: Определить класс комплемента-CFL как на словах, набор всех языков , так что дополнение является контекстно-свободным ,
В этом случае то, что вы написали, имеет смысл: (по алгоритму CYK ), а также (запустить тот же алгоритм, вывести противоположный ответ), а так как , тогда должно быть немедленно, что , верно?
Надежным классом, который содержит как CFL, так и coCFL, является LOGCFL , который содержит все языки, приводимые в пространстве журнала к контекстно-свободному языку. Этот класс является промежуточным между NL и AC1 и имеет некоторые естественные полные проблемы. Это также может быть определено в терминах ограниченных цепей AC1. LOGCFL закрывается при дополнении (это расширение аргумента, используемого, чтобы показать, что NL = coNL).
Дополнением к КЛЛ может быть КЛЛ, но это не обязательно так. Дополнение CFL является и рекурсивным (R), и рекурсивным перечислимым (RE). Почему? Все КЛЛ являются как R, так и RE. Языки R закрыты в дополнении (но RE - нет). В этом контексте дополнением к CFL является R, который по своей природе является RE.