Мой вопрос:
Пусть L = {x в {a, b} * | х имеет одинаковое количество а и б}
Я знаю, что это язык без контекста, потому что я могу создать для него грамматику (например, epsilon):
S -> aX | bY | e
X -> bS | aXX
Y -> aS | bYY
Вы также можете доказать, что это контекстно-свободный, используя тот факт, что контекстно-свободный язык, пересекаемый с обычным языком, является контекстно-свободным.
Поскольку это язык без контекста, согласно лемме о накачке для КЛЛ, любая строка, длина которой превышает длину накачки p, должна быть в состоянии перекачать. Однако, если я выберу строку s = a ^ p b ^ p a ^ p b ^ p, эта строка не может быть перекачана, поэтому язык не должен быть контекстно-свободным.
Куда я иду не так?