Иммунные и простые множества — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показано 59 промежуточных версий 6 участников)
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
|definition = Множество А называется имунным, если А - бесконечное, для любого бесконечного перечислимого B, <tex>B \not \subset A</tex>.
+
|definition = Множество натуральных чисел <tex>A</tex> называется '''иммунным''' (англ. ''immune set''), если оно бесконечно и не содержит бесконечных перечислимых подмножеств.
 
}}
 
}}
  
 
{{Определение
 
{{Определение
|definition = Множество A называется простым, если A - перечислимое, бесконечное, и дополнение A - имунно.
+
|definition = Множество натуральных чисел <tex>A</tex> называется '''простым''' (англ. '' simple set''), если <tex>A</tex> — перечислимое, бесконечное и <tex>\overline{A}</tex> {{---}} иммунное.
 
}}
 
}}
  
 +
==Теорема о существовании простого множества==
 +
Рассмотрим все программы.
 +
Для некоторого [[Перечислимые_языки | перечислимого языка]] какая-то из них является его перечислителем.
 +
Рассмотрим программу <tex>q</tex>:
 +
 +
<tex>q</tex>():
 +
    '''for''' <tex>TL = 1\ \ldots +\infty</tex>
 +
        '''for''' <tex>i = 1\ \ldots TL</tex>
 +
            запустить <tex>i</tex>-ую в [[Главные нумерации|главной нумерации]] программу на <tex>TL</tex> шагов
 +
            напечатать первый <tex>x</tex>, который вывела эта программа, такой что <tex>x \geqslant 2 i;</tex>
 +
            ничего не печатать, если такого числа не найдется.
 +
 +
 +
 +
Обозначим <tex>E(q)</tex> — множество, которое перечисляет эта программа.
 +
 +
Докажем несколько лемм, из которых будет очевидна правильность утверждения теоремы.
 +
===Лемма 1===
 +
 +
Необходимо, чтобы перечислимое множество <tex>E(q)</tex> имело иммунное дополнение. Это означает, что <tex>E(q)</tex> должно пересекаться с любым бесконечным перечислимым множеством.
 +
 +
 +
{{Лемма
 +
|id= ==lemma==
 +
|about=1
 +
 +
|statement=Для любого бесконечного перечислимого множества <tex>B</tex> существует его элемент, принадлежащий <tex>E(q)</tex>.
 +
|proof=
 +
По построению, для любого множества <tex> B </tex> в <tex>E(q)</tex> будет содержаться первый его элемент не меньший <tex>2 i</tex>, где <tex>i</tex> {{---}} номер перечислителя множества <tex>B</tex>.
 +
}}
 +
===Лемма 2===
 +
{{Лемма
 +
|id= ==lemma==
 +
|about=2
 +
|statement=Для любого бесконечного перечислимого множества <tex>B</tex> верно, что <tex>B \not \subset \overline{E(q)}</tex>.
 +
|proof=
 +
[[#Лемма 1|По первой лемме]] существует элемент <tex>B</tex>, принадлежащий <tex>E(q)</tex>, и, следовательно, не принадлежащий <tex>\overline{E(q)}</tex>.
 +
}}
 +
===Лемма 3===
 +
{{Лемма
 +
|id= ==lemma==
 +
|about=3
 +
|statement=<tex>\overline{E(q)}</tex> {{---}} бесконечно.
 +
|proof=
 +
Среди чисел от <tex>1</tex> до <tex>k</tex> множеству <tex>E(q)</tex> принадлежат не более
 +
<tex>\dfrac{k}{2}</tex>.
 +
Следовательно <tex>\overline{E(q)}</tex> принадлежат не менее <tex>\dfrac{k}{2}</tex>.
 +
}}
 +
 +
Теперь докажем теорему.
 
{{Теорема
 
{{Теорема
|statement=
+
|statement=Существует простое множество.
 
|proof=
 
|proof=
Рассмотрим все программы в порядке нумерации, каждая из них задает некоторый перечислимый язык, причем каждому языку соответствует программа.
 
Напишем следующую программу q:
 
  
q:
 
  for (TL = 1 .. <tex>+\infty</tex>)
 
  for (i = 1 .. TL)
 
    запустить <tex>U(i, \varepsilon)</tex> на TL шагов (U - универсальная программа)
 
    напечатать первый <tex>x \ge 2 * i</tex>, который вывела эта программа
 
  
  
Множество E(q), которое перечисляет эта программа
+
[[#Лемма 2|Из леммы (2)]] и [[#Лемма3|из леммы (3)]] следует, что <tex>\overline{E(q)}</tex> {{---}} иммунно.
- бесконечно
+
По построению <tex>E(q)</tex> перечислимо, его дополнение иммунно и, [[#Лемма 3|по лемме (3)]], бесконечно, а значит {{---}} оно простое.
- перечислимо
+
 
 +
}}
 +
Простые множества являются примерами перечислимых множеств, не являющихся <tex>m</tex>-полными<ref>[http://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 2012. с. 58. ISBN 5-900916-36-7]</ref>. Именно так и возникло понятие простого множества: Пост искал пример перечислимого неразрешимого множества, которое не было бы <tex>m</tex>-полным <ref>[http://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 2012.c. 62. ISBN 5-900916-36-7]</ref>. .
  
Дополнение этого множества <tex>\overline{E(q)}</tex>
+
== См. также ==
- бесконечно, для первых k слов, множеству E(q) принадлежат не более <tex>\frac{k}{2}</tex>
+
*[[Перечислимые языки]]
- Для любого перечислимого множества B, существует его элемент принадлежащий <tex>E(q)</tex>, 
+
*[[m-сводимость]]
и следовательно не принадлежащий <tex>\overline{E(q)}</tex>, <tex>\overline{E(q)} \not \subset A</tex>
+
== Примечания ==
  
Таким образом <tex>\overline{E(q)}</tex> --- имунно, а <tex>E(q)</tex> --- простое.
+
<references />
}}
+
 
 +
== Источники информации ==
 +
* Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7
 +
* Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. — М.:Мир, 1972. С. 141-143.
 +
* [https://en.wikipedia.org/wiki/Simple_set Wikipedia {{---}} Simple set]
 +
 
 +
[[Категория: Теория формальных языков]]
 +
[[Категория: Теория вычислимости]]
 +
[[Категория:Разрешимые и перечислимые языки]]

Текущая версия на 19:21, 4 сентября 2022

Определение:
Множество натуральных чисел [math]A[/math] называется иммунным (англ. immune set), если оно бесконечно и не содержит бесконечных перечислимых подмножеств.


Определение:
Множество натуральных чисел [math]A[/math] называется простым (англ. simple set), если [math]A[/math] — перечислимое, бесконечное и [math]\overline{A}[/math] — иммунное.


Теорема о существовании простого множества

Рассмотрим все программы. Для некоторого перечислимого языка какая-то из них является его перечислителем. Рассмотрим программу [math]q[/math]:

[math]q[/math]():
    for [math]TL = 1\ \ldots +\infty[/math]
        for [math]i = 1\ \ldots TL[/math]
            запустить [math]i[/math]-ую в главной нумерации программу на [math]TL[/math] шагов
            напечатать первый [math]x[/math], который вывела эта программа, такой что [math]x \geqslant 2 i;[/math]
            ничего не печатать, если такого числа не найдется.


Обозначим [math]E(q)[/math] — множество, которое перечисляет эта программа.

Докажем несколько лемм, из которых будет очевидна правильность утверждения теоремы.

Лемма 1

Необходимо, чтобы перечислимое множество [math]E(q)[/math] имело иммунное дополнение. Это означает, что [math]E(q)[/math] должно пересекаться с любым бесконечным перечислимым множеством.


Лемма (1):
Для любого бесконечного перечислимого множества [math]B[/math] существует его элемент, принадлежащий [math]E(q)[/math].
Доказательство:
[math]\triangleright[/math]
По построению, для любого множества [math] B [/math] в [math]E(q)[/math] будет содержаться первый его элемент не меньший [math]2 i[/math], где [math]i[/math] — номер перечислителя множества [math]B[/math].
[math]\triangleleft[/math]

Лемма 2

Лемма (2):
Для любого бесконечного перечислимого множества [math]B[/math] верно, что [math]B \not \subset \overline{E(q)}[/math].
Доказательство:
[math]\triangleright[/math]
По первой лемме существует элемент [math]B[/math], принадлежащий [math]E(q)[/math], и, следовательно, не принадлежащий [math]\overline{E(q)}[/math].
[math]\triangleleft[/math]

Лемма 3

Лемма (3):
[math]\overline{E(q)}[/math] — бесконечно.
Доказательство:
[math]\triangleright[/math]

Среди чисел от [math]1[/math] до [math]k[/math] множеству [math]E(q)[/math] принадлежат не более [math]\dfrac{k}{2}[/math].

Следовательно [math]\overline{E(q)}[/math] принадлежат не менее [math]\dfrac{k}{2}[/math].
[math]\triangleleft[/math]

Теперь докажем теорему.

Теорема:
Существует простое множество.
Доказательство:
[math]\triangleright[/math]

Из леммы (2) и из леммы (3) следует, что [math]\overline{E(q)}[/math] — иммунно.

По построению [math]E(q)[/math] перечислимо, его дополнение иммунно и, по лемме (3), бесконечно, а значит — оно простое.
[math]\triangleleft[/math]

Простые множества являются примерами перечислимых множеств, не являющихся [math]m[/math]-полными[1]. Именно так и возникло понятие простого множества: Пост искал пример перечислимого неразрешимого множества, которое не было бы [math]m[/math]-полным [2]. .

См. также

Примечания

Источники информации

  • Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7
  • Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. — М.:Мир, 1972. С. 141-143.
  • Wikipedia — Simple set