Лемма прокачки гласит: Если язык A регулярный =>, существует число p (длина прокачки), где, если s - любая строка из L такая, что | s |> = p, то s можно разделить на три части: s = xyz, удовлетворяющих следующему условию:
- xy i z находится в L для каждого i> = 0
- | y |> = 0
- p> = | xy |
Правильный способ показать, что определенный язык L не является регулярным, - это предположить, что L регулярный ипопытаться достичь противоречия.
Давайте попробуем продемонстрировать, что L = {0 n 1 n } | n> = 0} не является регулярным.Наоборот, мы предполагаем, что L. регулярно.
Вы можете думать об этой демонстрации как об игре:
Претендент: Он выбирает длину прокачки p.Вы не можете делать какие-либо предположения об этом.
Вы : Теперь ваша очередь: выберите «вид» строки, представляющей неправильность языка.
Допустим, строка имеет вид 0 p 1 p .
Хороший совет на этом шаге - попытаться ограничить противника следующим ходом.
Претендент: Он представляет вам строку s в форме 0 p 1 p .
Вы: Этовремя прокачать!Если вы правильно выбрали форму строки в предыдущем шаге, вы можете сделать некоторые предположения.
В нашем случае, например, мы знаем, что подстрока y состоит только из 0s (по крайней мере, один 0, потому что | y |> 0), потому что | xy | <= p и первые p-элементы равны 0s. </p>
Теперь мы покажем, что он существует i> = 0 так, что xy i z отсутствует в L. Например, для i = 2 строка xyyz имеет больше 0s, чем 1s, и поэтому не являетсячлен Л. Этот случай противоречие.=> L не является регулярным.
Никогда не забывайте демонстрировать, почему накачанная колонна не может быть членом L.
Возможно, вам уже поздно помогать, но кому-то еще может понадобитьсятакое объяснение ... может быть ^^
ура.