Покажите, что {xy ∣ | x | = | y |, x ≠ y} не зависит от контекста


43

Я помню, как сталкивался со следующим вопросом о языке, который предположительно не зависит от контекста, но я не смог найти доказательства этому факту. Возможно, я неправильно понял вопрос?

Во всяком случае, вот вопрос:

Покажите, что язык зависит от контекста.L={xy∣|x|=|y|,x≠y}


5
О, это хорошо! <3
— Рафаэль

Ответы:


35

Утверждение : зависит от контекста.L

Идея доказательства : должна быть хотя бы одна разница между первой и второй половиной; мы даем грамматику, которая генерирует одну, а остальные оставляет произвольной.

Доказательство . Для простоты предположим, что двоичный алфавит . Доказательство легко распространяется на другие размеры. Рассмотрим грамматику :Σ={a,b}G

S→AB∣BAA→a∣aAa∣aAb∣bAa∣bAbB→b∣aBa∣aBb∣bBa∣bBb

Совершенно ясно, что он генерирует

L(G)={w1⏟kxw2v1⏟k+lyv2⏟l∣|w1|=|w2|=k,|v1|=|v2|=l,x≠y}⊆Σ∗;

подозрительный может выполнить вложенную индукцию по и с различием регистра по парам . Теперь и коммутируют (интуитивно говоря, и могут обмениваться символами, поскольку оба содержат символы, выбранные независимо от остальной части слова). Следовательно, и имеют одинаковую позицию (в соответствующей половине), что подразумевает поскольку накладывает никаких других ограничений на свой язык.kl(x,y)w2v1w2v1xyL(G)=LG


Заинтересованный читатель может насладиться двумя последующими задачами:

Упражнение 1 : Придумайте КПК для !L

Упражнение 2 : А как насчет ?{xyz∣|x|=|y|=|z|,x≠y∨y≠z∨x≠z}


Если мы используем эту грамматику, мы можем сгенерировать строку вроде: После этого мы получили S как abba! Это не равно необработанному языку L, здесь есть ошибка? S→AB A→a B→bBa,thenB→b
— Джордж. Чжао

@ Джордж. Чжао, я не слежу. Клири, с и ? abba∈Lx=aby=ba
— Рафаэль
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.