<?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=Studenikinaliza</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=Studenikinaliza"/>
		<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/Studenikinaliza"/>
		<updated>2026-05-19T16:50:59Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60078</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60078"/>
				<updated>2017-01-18T20:14:12Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* См. также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogden1.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/Лемма_Огдена Лемма Огдена]&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
*[http://ccf.ee.ntu.edu.tw/~yen/courses/toc14/chapter-2a.pdf Ogden's lemma]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;br /&gt;
[[Категория: Опровержение контекстно-свободности языка]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60077</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60077"/>
				<updated>2017-01-18T20:13:51Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* Пример не КС-языка, для которого выполняется лемма */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogden1.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/Лемма_Огдена Лемма Огдена]&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
*[http://ccf.ee.ntu.edu.tw/~yen/courses/toc14/chapter-2a.pdf Ogden's lemma]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;br /&gt;
[[Категория: Опровержение контекстно-свободности языка]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogden1.png&amp;diff=60076</id>
		<title>Файл:Ogden1.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogden1.png&amp;diff=60076"/>
				<updated>2017-01-18T20:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60071</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60071"/>
				<updated>2017-01-18T19:13:18Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogdena.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/Лемма_Огдена Лемма Огдена]&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
*[http://ccf.ee.ntu.edu.tw/~yen/courses/toc14/chapter-2a.pdf Ogden]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;br /&gt;
[[Категория: Опровержение контекстно-свободности языка]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60063</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60063"/>
				<updated>2017-01-18T19:07:43Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* Источники информации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogdena.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;br /&gt;
[[Категория: Опровержение контекстно-свободности языка]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60057</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60057"/>
				<updated>2017-01-18T19:02:29Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* См. также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogdena.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60054</id>
		<title>Лемма Огдена</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%9E%D0%B3%D0%B4%D0%B5%D0%BD%D0%B0&amp;diff=60054"/>
				<updated>2017-01-18T19:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: /* Пример не КС-языка, для которого выполняется лемма */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лемма ==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Для каждой [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободной грамматики]] &amp;lt;tex&amp;gt;\Gamma =\langle \Sigma, N, S \in N, P \subset N\times (\Sigma\cup N)^{*}\rangle&amp;lt;/tex&amp;gt; существует такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что для любого слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt; длины не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; и для любых выделенных в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций, &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; может быть представлено в виде &amp;lt;tex&amp;gt;\omega=uvxyz&amp;lt;/tex&amp;gt;, причем:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную позицию;&lt;br /&gt;
# либо &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, либо &amp;lt;tex&amp;gt;y&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;z&amp;lt;/tex&amp;gt; обе содержат выделенные позиции;&lt;br /&gt;
# &amp;lt;tex&amp;gt;vxy&amp;lt;/tex&amp;gt; содержат не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных позиций;&lt;br /&gt;
# существует &amp;lt;tex&amp;gt;A \in N&amp;lt;/tex&amp;gt;, такой что &amp;lt;tex&amp;gt;S \Rightarrow^{+} uAz \Rightarrow^{+} uvAyz \Rightarrow^{+} uvxyz&amp;lt;/tex&amp;gt;. (т.е. &amp;lt;tex&amp;gt;\forall k \geqslant 0~uv^{k}xy^{k}z\in L&amp;lt;/tex&amp;gt;)&lt;br /&gt;
|proof=&lt;br /&gt;
Введем следующие обозначения: &amp;lt;tex&amp;gt;m = |N|&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; — длина самой длинной правой части правила из &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt;. Тогда в качестве &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;l^{2m + 3}&amp;lt;/tex&amp;gt;. Рассмотрим дерево разбора &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; для произвольного слова &amp;lt;tex&amp;gt;\omega \in L(\Gamma)&amp;lt;/tex&amp;gt;, у которого &amp;lt;tex&amp;gt;|\omega| \ge n&amp;lt;/tex&amp;gt;. В силу выбора &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будет по крайне мере один путь от корня до листа длины не менее &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt;. Произвольным образом выделим в &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; позиций. Соответствующие этим позициям листья дерева &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; будем называть выделенными.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; — корень &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;, а &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; — сын &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;, который имеет среди своих потомков наибольшее число выделенных листьев (если таких несколько, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; самый правый из них). Рассмотрим &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; — путь от корня до листа. &lt;br /&gt;
&lt;br /&gt;
Будем называть ветвящейся ту вершину, у которой по крайне мере два сына имеют выделенных потомков. Докажем по индукции, что если среди &amp;lt;tex&amp;gt;v_1, v_2, ..., v_i&amp;lt;/tex&amp;gt; вершин есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; ветвящихся, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;l^{2m + 3 - k}&amp;lt;/tex&amp;gt; выделенных потомков. &amp;lt;br&amp;gt;База индукции: &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;k = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет по крайне мере &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поскольку является корнем. &amp;lt;br&amp;gt;Индукционный переход. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; не является ветвящейся вершиной, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет такое же число ветвящихся потомков, как и &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; — ветвящаяся вершина, то &amp;lt;tex&amp;gt;v_{i + 1}&amp;lt;/tex&amp;gt; имеет не более чем в &amp;lt;tex&amp;gt;l&amp;lt;/tex&amp;gt; раз меньшее число выделенных потомков.&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;v_1&amp;lt;/tex&amp;gt; имеет хотя бы &amp;lt;tex&amp;gt;n = l^{2m + 3}&amp;lt;/tex&amp;gt; выделенных потомков, то &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt; содержит по крайне мере &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; ветвящиеся вершин. Заметим, что &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; — лист, поэтому &amp;lt;tex&amp;gt;p &amp;gt; 2m + 3&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:derivation_tree_T.png|240px|thumb|left|Дерево вывода &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;]]Будем называть &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; левой ветвящейся вершиной, если ее сын, не принадлежащий пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;, имеет выделенного потомка, лежащего слева от &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. В противном случае назовем &amp;lt;tex&amp;gt;v_i&amp;lt;/tex&amp;gt; правой ветвящейся вершиной. Рассмотрим последние &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершины, принадлежащие пути &amp;lt;tex&amp;gt;v_1, v_2, ..., v_p&amp;lt;/tex&amp;gt;. Предположим, что хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} левые ветвящиеся (случай, когда хотя бы &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; вершины {{---}} правые ветвящиеся, разбирается аналогично). Пусть &amp;lt;tex&amp;gt;u_1, u_2, ..., u_{m + 2}&amp;lt;/tex&amp;gt; — последние &amp;lt;tex&amp;gt;m + 2&amp;lt;/tex&amp;gt; левые ветвящиеся вершины. Поскольку &amp;lt;tex&amp;gt;m = |N|&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;b&amp;lt;/tex&amp;gt; {{---}} потомок &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда на рисунке показано, как представить &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в требуемом виде.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Условие (1) выполнено, поскольку &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt;. Очевидно, что условие (4) выполнено в силу предложенного разбиения &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt;. Кроме того, &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; содержит выделенную вершину, а именно потомка некоторого сына вершины &amp;lt;tex&amp;gt;u_1&amp;lt;/tex&amp;gt;. Аналогично, выделенный потомок некоторого сына вершины &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; содержится в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;. Таким образом, условие (2) выполнено. Поскольку между &amp;lt;tex&amp;gt;v_p&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;2m + 3&amp;lt;/tex&amp;gt; вершин, вершина &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; имеет не более &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; выделенных потомков, поэтому условие (3) выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что можно построить такой язык, для которого будет выполняться лемма Огдена, однако он не будет контекстно-свободным. Выберем &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} подмножество &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; и &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;A_{p} = \{ (ab)^n \mid P \in N \} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;B_{p} = A_{p} \cup X^* \{aa, bb\}X^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Языки над &amp;lt;tex&amp;gt;X=\{a, b\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; {{---}} КС, если &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; контекстно-свободен. &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; является рекурсивно-перечислимым, если и &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; им является. &lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;tex&amp;gt;B_{p}&amp;lt;/tex&amp;gt; будет выполняться лемма Огдена для &amp;lt;tex&amp;gt;n = 4&amp;lt;/tex&amp;gt;. Выбрав &amp;lt;tex&amp;gt;A_{p}&amp;lt;/tex&amp;gt; таким образом, чтобы он был рекурсивно-перечислимым, мы создадим такой язык. (Такие языки существуют)&amp;lt;ref&amp;gt;&amp;lt;A.V. Aho &amp;amp; J.D. Ullman, The Theory of Parsing, Translation and Compilimg, Vol. I, 1972&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример не КС-языка, для которого выполняется лемма ==&lt;br /&gt;
Докажем, что язык &amp;lt;tex&amp;gt;L = {a^mb^nc^l}&amp;lt;/tex&amp;gt;,  где &amp;lt;tex&amp;gt; m, n, l &amp;lt;/tex&amp;gt; - попарно различны, не является КС-языком.&lt;br /&gt;
&lt;br /&gt;
Предположим, что данный язык контекстно-свободный. Возьмем цепочку &amp;lt;tex&amp;gt;\omega = a^kb^{k+(k-1)!} c^{k+k!}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; - константа из леммы Огдена, выделив в ней все вхождения символа &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Тогда при представлении цепочки &amp;lt;tex&amp;gt;\omega&amp;lt;/tex&amp;gt; в виде &amp;lt;tex&amp;gt;uvxyz&amp;lt;/tex&amp;gt; цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; обязательно «зацепит» хотя бы один&lt;br /&gt;
символ &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;. Cледовательно, цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; состоит только из символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; (как и цепочка &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;). А именно,&lt;br /&gt;
&amp;lt;tex&amp;gt;v = \alpha^p&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;1 \leqslant p \leqslant k+1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда, если цепочка &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; содержит и другие символы, кроме &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, цепочка &amp;lt;tex&amp;gt;y&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;\alpha&amp;lt;/tex&amp;gt; накачки цепочки &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt;, которая уравняет числа символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, определяется из соотношения:&lt;br /&gt;
&amp;lt;tex&amp;gt;k + \alpha \cdot p = k + k!&amp;lt;/tex&amp;gt;, то есть &amp;lt;tex&amp;gt;\alpha = \frac{k!}{p} &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во втором случае &amp;lt;tex&amp;gt;\frac{k-1!}{p}&amp;lt;/tex&amp;gt; - кратная накачка цепочки &amp;lt;tex&amp;gt;v&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;.&lt;br /&gt;
Не исключено, наконец, что обе накачиваемые цепочки расположены в «зоне» символов &amp;lt;tex&amp;gt;a&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;c&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ogdena.png|left|Рис. Цепочки контекстно-свободного языка]] &lt;br /&gt;
&lt;br /&gt;
Заметим, что возможность выделения символов существенно упрощает анализ данного языка, так как позволяет считать, что цепочка &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; может расположиться единственным способом. Иначе, т.е. при использовании леммы о разрастании для кс-языков, решение&lt;br /&gt;
задачи было бы, по меньшей мере, сильно затруднено.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Лемма_о_разрастании_для_КС-грамматик|Лемма о разрастании для КС-грамматик]]&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
&lt;br /&gt;
*Hopcroft, Motwani and Ullman  {{---}} Automata Theory, Languages, and Computation {{---}} Addison-Wesley, 1979. ISBN 81-7808-347-7.&lt;br /&gt;
*Ogden, W. (1968). &amp;quot;A helpful result for proving inherent ambiguity&amp;quot;. Mathematical Systems Theory. 2 (3): 191–194.&lt;br /&gt;
*[http://archive.numdam.org/ARCHIVE/ITA/ITA_1978__12_3/ITA_1978__12_3_201_0/ITA_1978__12_3_201_0.pdf On languages satisfying Ogden's lemma]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Контекстно-свободные грамматики]]&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60052</id>
		<title>Файл:Ogdena.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60052"/>
				<updated>2017-01-18T18:59:08Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60050</id>
		<title>Файл:Ogdena.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60050"/>
				<updated>2017-01-18T18:57:09Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60049</id>
		<title>Файл:Ogdena.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60049"/>
				<updated>2017-01-18T18:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60048</id>
		<title>Файл:Ogdena.png</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.png&amp;diff=60048"/>
				<updated>2017-01-18T18:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60047</id>
		<title>Файл:Ogdena.jpg</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60047"/>
				<updated>2017-01-18T18:49:12Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60046</id>
		<title>Файл:Ogdena.jpg</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60046"/>
				<updated>2017-01-18T18:48:47Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60045</id>
		<title>Файл:Ogdena.jpg</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60045"/>
				<updated>2017-01-18T18:48:22Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: загружена новая версия «Файл:Ogdena.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60044</id>
		<title>Файл:Ogdena.jpg</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Ogdena.jpg&amp;diff=60044"/>
				<updated>2017-01-18T18:43:06Z</updated>
		
		<summary type="html">&lt;p&gt;Studenikinaliza: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Studenikinaliza</name></author>	</entry>

	</feed>