<?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=188.162.65.87&amp;*</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=188.162.65.87&amp;*"/>
		<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/188.162.65.87"/>
		<updated>2026-05-21T06:17:00Z</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=59607</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=59607"/>
				<updated>2017-01-14T17:48:16Z</updated>
		
		<summary type="html">&lt;p&gt;188.162.65.87: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Теорема&lt;br /&gt;
|statement=&lt;br /&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;
* &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;&lt;br /&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;&lt;br /&gt;
* &amp;lt;tex&amp;gt;\overline{L_1}&amp;lt;/tex&amp;gt; {{---}} дополнение &amp;lt;tex&amp;gt;L_1\&amp;lt;/tex&amp;gt;&lt;br /&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_2&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;L_1 \times 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;
* &amp;lt;tex&amp;gt;L_1^*&amp;lt;/tex&amp;gt; {{---}} замыкание Клини &amp;lt;tex&amp;gt;L_1&amp;lt;/tex&amp;gt;&lt;br /&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;
|proof=&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;p_2&amp;lt;/tex&amp;gt; {{---}} разрешающие программы для языков  &lt;br /&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;
* Разрешающая программа для языка &amp;lt;tex&amp;gt; L_1 \cup L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;(p_1(x) == 1) \lor (p_2(x) == 1)&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 \cap L_2 &amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;(p_1(x) == 1) \land (p_2(x) == 1)&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; \overline{L_1}&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;(p_1(x) == 0)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 \backslash L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;(p_1(x) == 1) \land (p_2(x) == 0)&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 \times L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(\langle x, y \rangle):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;(p_1(x) == 1) \land (p_2(y) == 1)&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt;L_1^*&amp;lt;/tex&amp;gt;: &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''forall''' &amp;lt;tex&amp;gt;{\{x_i\}}_{i=1}^n \in P &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} множество всевозможных разбиений слова &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; на подстроки&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;(p_1(x_1) == 1) \land (p_1(x_2) == 1) \land \ ... \ \land (p_1(x_n) == 1)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' 1&lt;br /&gt;
     '''return''' 0  &lt;br /&gt;
&lt;br /&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;, иначе {{---}} не принадлежит. &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 L_2 : &amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''forall''' &amp;lt;tex&amp;gt;{\{x_i\}}_{i=1}^2 \in P &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} множество всевозможных разбиений слова &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; на две подстроки&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;(p_1(x_1) == 1) \land (p_2(x_2) == 1)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' 1&lt;br /&gt;
     '''return''' 0  &lt;br /&gt;
&lt;br /&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;. Если хотя бы для одного разбиения оба разрешителя вернут 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 &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; L_2 &amp;lt;/tex&amp;gt; {{---}} [[Перечислимые_языки|перечислимы]], тогда следующие языки перечислимы:&lt;br /&gt;
&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;&lt;br /&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;&lt;br /&gt;
* &amp;lt;tex&amp;gt;L_1 \times 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;
* &amp;lt;tex&amp;gt;L_1^*&amp;lt;/tex&amp;gt; {{---}} замыкание Клини &amp;lt;tex&amp;gt;L_1&amp;lt;/tex&amp;gt;&lt;br /&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;
|proof=&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;p_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;p_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;p_2&amp;lt;/tex&amp;gt; могут зависнуть при использовании в полуразрешающей программе для соответствующего языка, но это допустимо.&lt;br /&gt;
&lt;br /&gt;
* Полуразрешающая программа для языка &amp;lt;tex&amp;gt; L_1 \cup L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
      '''for''' &amp;lt;tex&amp;gt;k = 1 \ .. \ \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
          '''if''' &amp;lt;tex&amp;gt; (p_1(x)|_k == 1) \lor (p_2(x)|_k == 1) &amp;lt;/tex&amp;gt;      &lt;br /&gt;
              '''return 1''' &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 \cap L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt; (p_1(x) == 1) \land (p_2(x) == 1) &amp;lt;/tex&amp;gt;      &lt;br /&gt;
         '''return 1''' &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 \times L_2&amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(\langle x, y \rangle):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt; (p_1(x) == 1) \land (p_2(y) == 1) &amp;lt;/tex&amp;gt;      &lt;br /&gt;
         '''return 1''' &lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1^*&amp;lt;/tex&amp;gt;:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;k = 1 \ .. \ \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''forall''' &amp;lt;tex&amp;gt;{\{x_i\}}_{i=1}^n \in P &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} множество всевозможных разбиений слова &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; на подстроки&lt;br /&gt;
             '''if''' &amp;lt;tex&amp;gt;(p_1|_k(x_1) == 1) \land (p_1|_k(x_2) == 1) \land \ ... \ \land (p_1|_k(x_n) == 1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
                 '''return 1'''&lt;br /&gt;
&lt;br /&gt;
* Для языка &amp;lt;tex&amp;gt; L_1 L_2 &amp;lt;/tex&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(x):&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;k = 1 \ .. \ \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''forall''' &amp;lt;tex&amp;gt;{\{x_i\}}_{i=1}^2 \in P &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; {{---}} множество всевозможных разбиений слова &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; на две подстроки&lt;br /&gt;
             '''if''' &amp;lt;tex&amp;gt;(p_1|_k(x_1) == 1) \land (p_2|_k(x_2) == 1)&amp;lt;/tex&amp;gt;&lt;br /&gt;
                 '''return 1'''&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&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;
* &amp;lt;tex&amp;gt;\overline{L_1}&amp;lt;/tex&amp;gt; {{---}} дополнение &amp;lt;tex&amp;gt;L_1\&amp;lt;/tex&amp;gt;&lt;br /&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_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt; \overline{L_1} &amp;lt;/tex&amp;gt;. Предположим, что он перечислим. Тогда, имея какое-либо слово, мы можем одновременно запустить перечислители для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; \overline{L_1} &amp;lt;/tex&amp;gt;. В какой-то момент времени слово появится либо в выводе перечислителя для &amp;lt;tex&amp;gt; L_1 &amp;lt;/tex&amp;gt;, либо в выводе перечислителя для &amp;lt;tex&amp;gt; \overline{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; \overline{L_1} &amp;lt;/tex&amp;gt; может быть неперечислим. &lt;br /&gt;
&lt;br /&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; \overline{L_2} &amp;lt;/tex&amp;gt;. Про &amp;lt;tex&amp;gt; \overline{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;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;br /&gt;
[[Категория: Разрешимые и перечислимые языки]]&lt;/div&gt;</summary>
		<author><name>188.162.65.87</name></author>	</entry>

	</feed>