Изменения

Перейти к: навигация, поиск
Новая страница: «{{Определение |definition=Рассмотрим множество перечислимых языков <tex>RE</tex>. *Свойством языков н…»
{{Определение
|definition=Рассмотрим множество перечислимых языков <tex>RE</tex>.
*Свойством языков называется множество <tex>A \subset RE</tex>.
*Свойство <tex>A</tex> называется тривиальным, если <tex>A = \varnothing </tex> или <tex>A = RE</tex>.
*Языком свойства называется множество программ, языки которых обладают этим свойством: <tex>L(A) \overset{\underset{\mathrm{def}}{}}{=} \lbrace p | L(p) \in A \rbrace </tex>.
*Свойство <tex>A</tex> называется разрешимым (перечислимым), если <tex>L(A)</tex> разрешимо (перечислимо).
}}

{{Теорема
|statement=
Никакое нетривиальное свойство языков не является разрешимым.
|proof=
От противного. Предположим, что <tex>A</tex> разрешимо и нетривиально, <tex>p_A</tex> - программа, разрешающая <tex>A</tex>.

Не умаляя общности, можно считать, что <tex>\varnothing \notin A</tex> (в противном случае перейдем к <tex>RE \setminus A</tex>, которое также будет разрешимым и нетривиальным).

В то же время, поскольку <tex>A</tex> непусто, найдется перечислимый язык <tex>X \in A</tex>. Пусть <tex>p_X</tex> - полуразрешитель <tex>X</tex>.

Рассмотрим вспомогательную программу:
<tex>g_{i,x}(y)</tex>
if U(i, x) = 1
return <tex>p_X(y)</tex>
else
зависнуть

Нетрудно понять, что в разумной модели вычислений номер этой программы можно вычислить по данным <tex>i,x</tex>. Значит, можно рассмотреть такую программу:
<tex>US(\langle i, x \rangle )</tex>
return <tex>p_A ( g_{i,x} ) </tex>

Заметим, что
<tex>
L(g_{i,x}) = \begin{cases}
X & U(i, x) = 1 \\
\varnothing & U(i, x) \neq 1 \\
\end{cases}
</tex>

Следовательно, <br/> <tex>
US(\langle i, x \rangle ) = p_A(g_{i,x}) = \begin{cases}
p_A(X) & U(i, x) = 1 \\
p_A(\varnothing ) & U(i, x) \neq 1 \\
\end{cases} = \begin{cases}
1 & U(i, x) = 1 \\
0 & U(i, x) \neq 1 \\
\end{cases}
</tex> - программа, разрешающая универсальное множество. Противоречие.
}}
Анонимный участник

Навигация