<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Icekeeper</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Icekeeper"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Icekeeper"/>
		<updated>2026-06-11T13:54:01Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%BE%D1%81%D1%82%D1%8C_%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D0%BC%D1%8B%D1%85_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D1%82%D0%B8%D0%BA%D0%BE-%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9&amp;diff=5445</id>
		<title>Замкнутость разрешимых и перечислимых языков относительно теоретико-множественных и алгебраических операций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%BE%D1%81%D1%82%D1%8C_%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D0%BC%D1%8B%D1%85_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D1%82%D0%B8%D0%BA%D0%BE-%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9&amp;diff=5445"/>
				<updated>2010-12-02T05:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: Вторая теорема&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
 &amp;lt;tex&amp;gt; L_1, L_2 &amp;lt;/tex&amp;gt; –- разрешимы, тогда&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left. \begin{array}{lll} L_1 \cup L_2 \\ L_1 \cap L_2 \\ \bar{L_1} \\ L_1 \backslash L_2 \\ L_1^* \\  L_1 L_2 \end{array} \right\} &amp;lt;/tex&amp;gt; разрешимы&lt;br /&gt;
|proof=&lt;br /&gt;
Если языки разрешимы, значит для каждого из них есть разрешающая программа. Тогда разрешающая программа для языка &amp;lt;tex&amp;gt;L_1 \cup L_2&amp;lt;/tex&amp;gt; будет запускать разрешающую для каждого языка и выводить 1, если оба разрешателя выдали 1, 0 во всех остальных случаях. Для языка &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет запускать оба разрешателя и выдавать 0, если оба разрешателя выдали 0, 1 во всех остальынх случаях. Для языка &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt; разрешатель будет выдавать результат, обратный результату разрешателя для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;. Для языка &amp;lt;tex&amp;gt; L_1 \backslash L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет запускать оба разрешателя и выдавать 1, если первый разрешатель вернет 1, а второй 0 и 0 во всех остальных случаях. Для языка &amp;lt;tex&amp;gt; L_1^* &amp;lt;/tex&amp;gt; разрешатель будет перебирать все возможные разбиения данного ему слова на подслова, и для каждого проверять принадлежность &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;. Если хотя бы в одном разбиении все слова будут принадлежать &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;, то все слово принадлежит &amp;lt;tex&amp;gt; L_1^* &amp;lt;/tex&amp;gt; иначе не принадлежит. Для языка &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет перебирать все возможные разбиения на 2 слова и проверять принадлежность первого слова &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; и второго слова &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt;. Если хотя бы для  одного разбиения оба разрешателя вернут 1, то слово принадлежит &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt;, иначе не принадлежит.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
 &amp;lt;tex&amp;gt; L_1, L_2 &amp;lt;/tex&amp;gt; –- перечислимы, тогда&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left. \begin{array}{lll} L_1 \cup L_2 \\ L_1 \cap L_2 \\ L_1^* \\  L_1 L_2 \end{array} \right\} &amp;lt;/tex&amp;gt; перечислимы&lt;br /&gt;
&amp;lt;tex&amp;gt;\left. \begin{array}{lll} \bar{L_1} \\ L_1 \backslash L_2 \end{array} \right\} &amp;lt;/tex&amp;gt; могут быть не перечислимы&lt;br /&gt;
|proof=&lt;br /&gt;
Для &amp;lt;tex&amp;gt; L_1 \cup L_2 &amp;lt;/tex&amp;gt; перечислитель будет по очереди на один шаг запускать перечислители &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;  и &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt; и выдавать по очереди слова из  &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;  и &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt;. Дальше воспользуемся возможностью построить полувычислитель для перечислимого языка. Для языка &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt; построим полувычислитель. Запустим по очереди полувычислители для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; и  &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt;. Если слово принадлежит &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt;, то оба полувычислителя выдадут 1, иначе один из полувычислителей зависнет, и полувычислитель для &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt; тоже зависнет, что допустимо. Для &amp;lt;tex&amp;gt; L_1^* &amp;lt;/tex&amp;gt; перечислитель строится следующим образом: запускаем перечислитель для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; в цикле и запоминаем выданные им слова. При выдаче каждого нового слова перебираем все возможные перестановки уже выданных слов и выдаем их. Перечислитель для &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt; строим следующим образом: запускаем одновременно перечислители для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;  и &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt;, запоминая все выданные слова. При выдаче новых слов перебираем все возможные пары из запомненных слов и выдаем их.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt;. Предположим, что он перечислим. Тогда имея какое-либо слово, мы можем одновременно запустить перечислители для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt;. В какой-то момент времени слово появится либо в выводе перечислителя для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;, либо в выводе перечислителя для &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt;. Тогда получится что &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; разрешим, так как про любое слово мы можем узнать принадлежит оно &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; или не принадлежит. Но мы знаем, что существуют перечислимые, но не разрешимые языки, следовательно, язык &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt; может быть не перечислим. Теперь рассмотрим &amp;lt;tex&amp;gt; L_1 \backslash L_2 &amp;lt;/tex&amp;gt;. В качестве &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; возьмем язык, состоящий из всех слов. Тогда получится, что язык &amp;lt;tex&amp;gt; L_1 \backslash L_2 &amp;lt;/tex&amp;gt; это &amp;lt;tex&amp;gt; \bar{L_2} &amp;lt;/tex&amp;gt;. Про язык &amp;lt;tex&amp;gt; \bar{L_2} &amp;lt;/tex&amp;gt; мы знаем, что он перечислим не всегда, следовательно и язык &amp;lt;tex&amp;gt; L_1 \backslash L_2 &amp;lt;/tex&amp;gt; также не всегда перечислим.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%BE%D1%81%D1%82%D1%8C_%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D0%BC%D1%8B%D1%85_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D1%82%D0%B8%D0%BA%D0%BE-%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9&amp;diff=5440</id>
		<title>Замкнутость разрешимых и перечислимых языков относительно теоретико-множественных и алгебраических операций</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%BC%D0%BA%D0%BD%D1%83%D1%82%D0%BE%D1%81%D1%82%D1%8C_%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B8_%D0%BF%D0%B5%D1%80%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D0%BC%D1%8B%D1%85_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D1%82%D0%B8%D0%BA%D0%BE-%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B9&amp;diff=5440"/>
				<updated>2010-12-02T04:38:02Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: Первая теорема.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
 &amp;lt;tex&amp;gt; L_1, L_2 &amp;lt;/tex&amp;gt; –- разрешимы, тогда&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\left. \begin{array}{lll} L_1 \cup L_2 \\ L_1 \cap L_2 \\ \bar{L_1} \\ L_1 \backslash L_2 \\ L_1^* \\  L_1 L_2 \end{array} \right\} &amp;lt;/tex&amp;gt; разрешимы&lt;br /&gt;
|proof=&lt;br /&gt;
Если языки разрешимы, значит для каждого из них есть разрешающая программа. Тогда разрешающая программа для языка &amp;lt;tex&amp;gt;L_1 \cup L_2&amp;lt;/tex&amp;gt; будет запускать разрешающую для каждого языка и выводить 1, если оба разрешателя выдали 1, 0 во всех остальных случаях. Для языка &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет запускать оба разрешателя и выдавать 0, если оба разрешателя выдали 0, 1 во всех остальынх случаях. Для языка &amp;lt;tex&amp;gt; \bar{L_1} &amp;lt;/tex&amp;gt; разрешатель будет выдавать результат, обратный результату разрешателя для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;. Для языка &amp;lt;tex&amp;gt; L_1 \backslash L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет запускать оба разрешателя и выдавать 1, если первый разрешатель вернет 1, а второй 0 и 0 во всех остальных случаях. Для языка &amp;lt;tex&amp;gt; L_1^* &amp;lt;/tex&amp;gt; разрешатель будет перебирать все возможные разбиения данного ему слова на подслова, и для каждого проверять принадлежность &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;. Если хотя бы в одном разбиении все слова будут принадлежать &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;, то все слово принадлежит &amp;lt;tex&amp;gt; L_1^* &amp;lt;/tex&amp;gt; иначе не принадлежит. Для языка &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt; разрешающая программа будет перебирать все возможные разбиения на 2 слова и проверять принадлежность первого слова &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; и второго слова &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt;. Если хотя бы для  одного разбиения оба разрешателя вернут 1, то слово принадлежит &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt; иначе не принадлежит.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3923</id>
		<title>Правоконтекстные грамматики, эквивалентность автоматам</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3923"/>
				<updated>2010-10-14T01:35:56Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Праволинейной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в которой все правила имеют вид &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Аналогично можно определить леволинейные грамматики.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Множество языков, задаваемых праволинейными грамматиками совпадает со множеством языков, задаваемых конечными автоматами.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть имеется конечный автомат. Построим для него праволинейную грамматику. Множеством нетерминалов нашей грамматики будет множество состояний автомата. Для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to cB &amp;lt;/tex&amp;gt;. Затем для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; – является допускающим состоянием в автомате, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to c &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Докажем, что если для автомата верно &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^* \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, то для построенной грамматики верно &amp;lt;tex&amp;gt; S \Rightarrow^* \alpha U &amp;lt;/tex&amp;gt;. Будем доказывать индукцией по переходам в автомате.&lt;br /&gt;
&lt;br /&gt;
Базой индукции будут переходы за 0 шагов.&lt;br /&gt;
Индукционный переход: пусть данное свойство выполняется для переходов длины &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt;. Докажем что верно и для переходов за &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим переход &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^{k} \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, а именно его последний шаг: &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^{k-1} \langle Q, c \rangle \vdash \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;&lt;br /&gt;
Так как для &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt; шагов верно, то &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q &amp;lt;/tex&amp;gt; но по построению грамматики имеется правило &amp;lt;tex&amp;gt; Q \to c U&amp;lt;/tex&amp;gt;, значит &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q  \Rightarrow \alpha c^{-1} c U = \alpha U&amp;lt;/tex&amp;gt;. Таким образом доказали для &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Докажем в обратную сторону, а именно из &amp;lt;tex&amp;gt; S \Rightarrow^* \alpha U &amp;lt;/tex&amp;gt; следует &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^* \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;. Доказательство так же проведем по индукции. Индукция будет идти по количеству примененных подряд правил.&lt;br /&gt;
&lt;br /&gt;
Базой индукции будут строки, выводимые в грамматике из начального нетерминала &amp;lt;tex&amp;gt; S &amp;lt;/tex&amp;gt; за 0 применений правил.&lt;br /&gt;
&lt;br /&gt;
Индукционный переход: пусть верно для &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt; применения правил. Рассмотрим произвольную строку, полученную за &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; применений правил. Рассмотрим последнее применение правила. Если оно имело вид &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt;, значит в автомате возможен переход &amp;lt;tex&amp;gt; \langle A,a \rangle \vdash \langle B,\varepsilon \rangle &amp;lt;/tex&amp;gt;, а если &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; является допускающим в автомате. Таким образом свойство выполняется для &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; последовательно примененных правил. Эквивалентность языков автомата и грамматики доказана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь пусть имеется праволинейная грамматика. Построим по ней конечный детерминированный автомат. &lt;br /&gt;
Введем специальное допускающее состояние &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt;. Множеством состояний автомата будет множество нетерминалов грамматики вместе с состоянием &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; Q = N \cup ok &amp;lt;/tex&amp;gt;). Для правил вида &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt; определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = B &amp;lt;/tex&amp;gt;. Для правил вида &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;  определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = ok &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Докажем, что если слово выводится в грамматике, то оно допускается автоматом. Рассмотрим последовательность применений правил, дающую слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; длины &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;. Для каждого правила вида &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt; в автомате существует переход из состояния &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; в состояние &amp;lt;tex&amp;gt; B&amp;lt;/tex&amp;gt; по символу &amp;lt;tex&amp;gt; a &amp;lt;/tex&amp;gt;. Таким образом, если после &amp;lt;tex&amp;gt; k-1 &amp;lt;/tex&amp;gt; применения правил мы можем получить строку вида &amp;lt;tex&amp;gt; \alpha c^{-1}B &amp;lt;/tex&amp;gt;, то в автомате имеется соответствующая последовательность переходов &amp;lt;tex&amp;gt; \langle S, \alpha  \rangle \vdash^{k-1} \langle B, c \rangle &amp;lt;/tex&amp;gt;, а поскольку можно вывести &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;, то хотя бы для одной строки такого вида существует правило &amp;lt;tex&amp;gt; B \to c &amp;lt;/tex&amp;gt;, а значит в автомате есть переход &amp;lt;tex&amp;gt; \langle B,c \rangle \vdash \langle ok,\varepsilon \rangle &amp;lt;/tex&amp;gt;. Таким образом автомат допускает слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Докажем, что если слово допускается автоматом, то его можно вывести в грамматике. Рассмотрим слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;  длины &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;. Рассмотрим какую-либо последовательность переходов автомата, допускающую данное слово &amp;lt;tex&amp;gt; \langle S,\alpha \rangle \vdash^k  \langle ok,\varepsilon \rangle &amp;lt;/tex&amp;gt;. Для каждого одношагового перехода в автомате существует соответствующее правило в грамматике. Значит для подпоследовательности переходов из &amp;lt;tex&amp;gt; k-1 &amp;lt;/tex&amp;gt; шага &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^{k-1} \langle U,c \rangle &amp;lt;/tex&amp;gt; существует соответствующая последовательность применений правил &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} U &amp;lt;/tex&amp;gt;. Для последнего перехода в автомате &amp;lt;tex&amp;gt; \langle U,c \rangle \vdash \langle ok, \varepsilon \rangle &amp;lt;/tex&amp;gt; существует правило &amp;lt;tex&amp;gt; U \Rightarrow c &amp;lt;/tex&amp;gt;. Таким образом, существует последовательность применений правил грамматики, выводящая слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теорема доказана.&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3922</id>
		<title>Правоконтекстные грамматики, эквивалентность автоматам</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3922"/>
				<updated>2010-10-14T01:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: Финальная версия&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Праволинейной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в которой все правила имеют вид &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Аналогично можно определить леволинейные грамматики.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Множество языков, задаваемых праволинейными грамматиками совпадает со множеством языков, задаваемых конечными автоматами.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть имеется конечный автомат. Построим для него праволинейную грамматику. Множеством нетерминалов нашей грамматики будет множество состояний автомата. Для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to cB &amp;lt;/tex&amp;gt;. Затем для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; – является допускающим состоянием в автомате, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to c &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Докажем, что если для автомата верно &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^* \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, то для построенной грамматики верно &amp;lt;tex&amp;gt; S \Rightarrow^* \alpha U &amp;lt;/tex&amp;gt;. Будем доказывать индукцией по переходам в автомате.&lt;br /&gt;
&lt;br /&gt;
Базой индукции будут переходы за 0 шагов.&lt;br /&gt;
Индукционный переход: пусть данное свойство выполняется для переходов длины &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt;. Докажем что верно и для переходов за &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим переход &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^{k} \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, а именно его последний шаг: &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^{k-1} \langle Q, c \rangle \vdash \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;&lt;br /&gt;
Так как для &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt; шагов верно, то &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q &amp;lt;/tex&amp;gt; но по построению грамматики имеется правило &amp;lt;tex&amp;gt; Q \to c U&amp;lt;/tex&amp;gt;, значит &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q  \Rightarrow \alpha c^{-1} c U = \alpha U&amp;lt;/tex&amp;gt;. Таким образом доказали для &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Докажем в обратную сторону, а именно из &amp;lt;tex&amp;gt; S \Rightarrow^* \alpha U &amp;lt;/tex&amp;gt; следует &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^* \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;. Доказательство так же проведем по индукции. Индукция будет идти по количеству примененных подряд правил.&lt;br /&gt;
&lt;br /&gt;
Базой индукции будут строки, выводимые в грамматике из начального нетерминала &amp;lt;tex&amp;gt; S &amp;lt;/tex&amp;gt; за 0 применений правил.&lt;br /&gt;
&lt;br /&gt;
Индукционный переход: пусть верно для &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt; применения правил. Рассмотрим произвольную строку, полученную за &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; применений правил. Рассмотрим последнее применение правила. Если оно имело вид &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt;, значит в автомате возможен переход &amp;lt;tex&amp;gt; \langle A,a \rangle \vdash \langle B,\varepsilon \rangle &amp;lt;/tex&amp;gt;, а если &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; является допускающим в автомате. Таким образом свойство выполняется для &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; последовательно примененных правил. Эквивалентность языков автомата и грамматики доказана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь пусть имеется праволинейная грамматика. Построим по ней конечный детерминированный автомат. &lt;br /&gt;
Введем специальное допускающее состояние &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt;. Множеством состояний автомата будет множество нетерминалов грамматики вместе с состоянием &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; Q = N \cup ok &amp;lt;/tex&amp;gt;). Для правил вида &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt; определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = B &amp;lt;/tex&amp;gt;. Для правил вида &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;  определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = ok &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Докажем, что если слово выводится в грамматике, то оно допускается автоматом. Рассмотрим последовательность применений правил, дающую слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; длины &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;. Для каждого правила вида &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt; в автомате существует переход из состояния &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; в состояние &amp;lt;tex&amp;gt; B&amp;lt;/tex&amp;gt; по символу &amp;lt;tex&amp;gt; a &amp;lt;/tex&amp;gt;. Таким образом, если после &amp;lt;tex&amp;gt; k-1 &amp;lt;/tex&amp;gt; применения правил мы можем получить строку вида &amp;lt;tex&amp;gt; \alpha c^{-1}B &amp;lt;/tex&amp;gt;, то в автомате имеется последовательность переходов &amp;lt;tex&amp;gt; \langle S, \alpha  \rangle \vdash^{k-1} \langle B, c \rangle &amp;lt;/tex&amp;gt;, а поскольку можно вывести &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;, то хотя бы для одной строки такого вида существует правило &amp;lt;tex&amp;gt; B \to c &amp;lt;/tex&amp;gt;, а значит в автомате есть переход &amp;lt;tex&amp;gt; \langle B,c \rangle \vdash \langle ok,\varepsilon \rangle &amp;lt;/tex&amp;gt;. Таким образом автомат допускает слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Докажем, что если слово допускается автоматом, то его можно вывести в грамматике. Рассмотрим слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;  длины &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt;. Рассмотрим какую-либо последовательность переходов автомата, допускающую данное слово &amp;lt;tex&amp;gt; \langle S,\alpha \rangle \vdash^k  \langle ok,\varepsilon \rangle &amp;lt;/tex&amp;gt;. Для каждого одношагового перехода в автомате существует соответствующее правило в грамматике. Значит для подпоследовательности переходов из &amp;lt;tex&amp;gt; k-1 &amp;lt;/tex&amp;gt; шага &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^{k-1} \langle U,c \rangle &amp;lt;/tex&amp;gt; существует последовательность применений правил &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} U &amp;lt;/tex&amp;gt;. Для последнего перехода в автомате &amp;lt;tex&amp;gt; \langle U,c \rangle \vdash \langle ok, \varepsilon \rangle &amp;lt;/tex&amp;gt; существует правило &amp;lt;tex&amp;gt; U \Rightarrow c &amp;lt;/tex&amp;gt;. Таким образом, существует последовательность применений правил грамматики, выводящая слово &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теорема доказана.&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3714</id>
		<title>Правоконтекстные грамматики, эквивалентность автоматам</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3714"/>
				<updated>2010-10-12T03:02:22Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Праволинейной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в которой все правила имеют вид &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Аналогично можно определить леволинейные грамматики.&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Множество языков, задаваемых праволинейными грамматиками совпадает со множеством языков, задаваемых конечными автоматами.&lt;br /&gt;
|proof=&lt;br /&gt;
Пусть имеется конечный автомат. Построим для него праволинейную грамматику. Множеством нетерминалов нашей грамматики будет множество состояний автомата. Для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; – не является допускающим состоянием в автомате, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to cB &amp;lt;/tex&amp;gt;. Затем для каждой пары состояний автомата &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таких, что имеется переход из &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;  по символу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, и &amp;lt;tex&amp;gt; B &amp;lt;/tex&amp;gt; – является допускающим состоянием в автомате, добавим в грамматику правило &amp;lt;tex&amp;gt; A \to c &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Докажем, что если для автомата верно &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^* \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, то для построенной грамматики верно &amp;lt;tex&amp;gt; S \Rightarrow^* \alpha U &amp;lt;/tex&amp;gt;. Будем доказывать индукцией по переходам в автомате.&lt;br /&gt;
&lt;br /&gt;
Базой индукции будут переходы за 0 шагов.&lt;br /&gt;
Индукционный переход: пусть данное свойство выполняется для переходов длины &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt;. Докажем что верно и для переходов за &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим переход &amp;lt;tex&amp;gt;\langle S, \alpha \rangle \vdash^{k} \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;, а именно его последний шаг: &amp;lt;tex&amp;gt; \langle S, \alpha \rangle \vdash^{k-1} \langle Q, c \rangle \vdash \langle U, \varepsilon \rangle &amp;lt;/tex&amp;gt;&lt;br /&gt;
Так как для &amp;lt;tex&amp;gt;k-1&amp;lt;/tex&amp;gt; шагов верно, то &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q &amp;lt;/tex&amp;gt; но по построению грамматики имеется правило &amp;lt;tex&amp;gt; Q \to c U&amp;lt;/tex&amp;gt;, значит &amp;lt;tex&amp;gt; S \Rightarrow^{k-1} \alpha c^{-1} Q  \Rightarrow \alpha c^{-1} c U = \alpha U&amp;lt;/tex&amp;gt;. Таким образом доказали для &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
&lt;br /&gt;
Теперь пусть имеется праволинейная грамматика. Построим по ней конечный детерминированный автомат. &lt;br /&gt;
Введем специальное допускающее состояние &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt;. Множеством состояний автомата будет множество нетерминалов грамматики вместе с состоянием &amp;lt;tex&amp;gt; ok &amp;lt;/tex&amp;gt; (&amp;lt;tex&amp;gt; Q = N \cup ok &amp;lt;/tex&amp;gt;). Для правил вида &amp;lt;tex&amp;gt; A \to aB &amp;lt;/tex&amp;gt; определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = B &amp;lt;/tex&amp;gt;. Для правил вида &amp;lt;tex&amp;gt; A \to a &amp;lt;/tex&amp;gt;  определим функцию перехода в автомате как &amp;lt;tex&amp;gt; \delta \left( A, a \right) = ok &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3446</id>
		<title>Правоконтекстные грамматики, эквивалентность автоматам</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3446"/>
				<updated>2010-10-09T17:05:06Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Праволинейной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в которой все правила имеют вид&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3445</id>
		<title>Правоконтекстные грамматики, эквивалентность автоматам</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D1%8D%D0%BA%D0%B2%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B0%D0%BC&amp;diff=3445"/>
				<updated>2010-10-09T16:55:57Z</updated>
		
		<summary type="html">&lt;p&gt;Icekeeper: Новая страница: «{{Определение |definition= '''Правоконтекстной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в …»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Правоконтекстной грамматикой''' &amp;lt;tex&amp;gt;\Gamma&amp;lt;/tex&amp;gt; называется грамматика, в которой все правила имеют вид&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Icekeeper</name></author>	</entry>

	</feed>