Доказательство нерегулярности языков: лемма о разрастании — различия между версиями
Zarubkin (обсуждение | вклад) |
Zarubkin (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
Пусть <tex>L</tex> - регулярный язык над алфавитом <tex>\Sigma</tex>, тогда найдётся автомат <tex>A</tex>, допускающий язык <tex>L</tex>. Обозначим размер автомата <tex>A</tex>, как <tex>n</tex>. В языке <tex>L</tex> найдётся слово <tex>\omega</tex> длины не меньше <tex>n</tex>. Рассмотрим переходы в автомате <tex>\langle s,\omega\rangle \vdash\langle u_1, \omega[0]^{-1}\omega\rangle\vdash\dots\vdash\langle u_{l},\epsilon\rangle, \: l\geqslant n</tex>. Так как <tex>l</tex> не меньше количества состояний в автомате <tex>n</tex>, то в переходах будет совпадение. Пусть <tex>u_i</tex> и <tex>u_j</tex> - первое совпадение. Тогда в нашем слове <tex>\omega</tex> можно размножить кусок, который отвечает за переход, от состояния <tex>u_i</tex> к состоянию <tex>u_j</tex>. | Пусть <tex>L</tex> - регулярный язык над алфавитом <tex>\Sigma</tex>, тогда найдётся автомат <tex>A</tex>, допускающий язык <tex>L</tex>. Обозначим размер автомата <tex>A</tex>, как <tex>n</tex>. В языке <tex>L</tex> найдётся слово <tex>\omega</tex> длины не меньше <tex>n</tex>. Рассмотрим переходы в автомате <tex>\langle s,\omega\rangle \vdash\langle u_1, \omega[0]^{-1}\omega\rangle\vdash\dots\vdash\langle u_{l},\epsilon\rangle, \: l\geqslant n</tex>. Так как <tex>l</tex> не меньше количества состояний в автомате <tex>n</tex>, то в переходах будет совпадение. Пусть <tex>u_i</tex> и <tex>u_j</tex> - первое совпадение. Тогда в нашем слове <tex>\omega</tex> можно размножить кусок, который отвечает за переход, от состояния <tex>u_i</tex> к состоянию <tex>u_j</tex>. | ||
− | [[Файл: | + | [[Файл:Regularpicture.jpg]] |
Версия 00:00, 15 октября 2010
Лемма (О разрастании): |
Пусть - регулярный язык над алфавитом , тогда существует , такой что для любого слова , длины не меньше найдутся слова , для которых верно и для всех . |
Доказательство: |
Пусть - регулярный язык над алфавитом , тогда найдётся автомат , допускающий язык . Обозначим размер автомата , как . В языке найдётся слово длины не меньше . Рассмотрим переходы в автомате . Так как не меньше количества состояний в автомате , то в переходах будет совпадение. Пусть и - первое совпадение. Тогда в нашем слове можно размножить кусок, который отвечает за переход, от состояния к состоянию .
|
Доказательство нерегулярности языка
Чаще используется отрицание леммы для доказательства нерегулярности языка. Пусть
- язык над алфавитом . Если для любого натурального найдётся такое слово из данного языка, что его длина будет не меньше и при любом разбиении на три слова такие, что не пустое слово, длина не больше , есть такое, что , то язык - не регулярный.
Пример 1 Язык правильных скобочных последовательностей не регулярен.
Пусть дан какой-то
для него предъявляем слово . После этого слово как-то разбили на . Так как , то из-за выбранного слова , где больше нуля. Для любого такого разбиения берём и получаем , что не является правильной скобочной последовательностью. Значит язык правильных скобочных последовательностей не регулярный язык.Пример 2 Язык
Пусть дан какой-то
для него предъявляем слово . После этого слово как-то разбили на . Так как , то из-за выбранного слова , где больше нуля. Для любого такого разбиения берём и получаем , что не является элементом множества слов языка , значит этот язык не регулярен.