Теорема Райса-Шапиро — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Внесён намёк на конечность исходника функции)
м (Поправки \ldots и всякие (..), (...))
Строка 3: Строка 3:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Пусть <tex>\gamma=\{<x_1,y_1>,<x_2,y_2>,...,<x_n,y_n>\}</tex>.<br />
+
Пусть <tex>\gamma=\{<x_1,y_1>,<x_2,y_2>,\ldots ,<x_n,y_n>\}</tex>.<br />
 
Тогда <tex>\gamma</tex> называется образцом.
 
Тогда <tex>\gamma</tex> называется образцом.
 
}}
 
}}
Строка 11: Строка 11:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Пусть <tex>A_{\gamma}=\{p | p(x_1)=y_1 \wedge p(x_2)=y_2 \wedge ... \wedge p(x_n)=y_n\}</tex>, где <tex><x_i, y_i> \in \gamma</tex>.<br />
+
Пусть <tex>A_{\gamma}=\{p | p(x_1)=y_1 \wedge p(x_2)=y_2 \wedge \ldots \wedge p(x_n)=y_n\}</tex>, где <tex><x_i, y_i> \in \gamma</tex>.<br />
 
Тогда <tex>A_{\gamma}</tex> называется свойством образца <tex>\gamma</tex>.
 
Тогда <tex>A_{\gamma}</tex> называется свойством образца <tex>\gamma</tex>.
 
}}
 
}}
Строка 36: Строка 36:
 
  <tex>q(p):</tex>
 
  <tex>q(p):</tex>
 
   for <tex>k = 1\ldots +\infty</tex>
 
   for <tex>k = 1\ldots +\infty</tex>
       for <tex>\gamma \in \Gamma[1\ldots k]</tex>
+
       for <tex>\gamma \in \Gamma[1..k]</tex>
 
           if <tex>(p \in A_{\gamma})|_{TL(k)}</tex>
 
           if <tex>(p \in A_{\gamma})|_{TL(k)}</tex>
 
               return 1
 
               return 1

Версия 19:32, 17 января 2012

Определение образца

Определение:
Пусть γ={<x1,y1>,<x2,y2>,,<xn,yn>}.
Тогда γ называется образцом.


Свойство образца

Определение:
Пусть Aγ={p|p(x1)=y1p(x2)=y2p(xn)=yn}, где <xi,yi>∈γ.
Тогда Aγ называется свойством образца γ.


Лемма о перечислимости свойства образца

Лемма:
Свойство Aγ перечислимо для любого образца γ.
Доказательство:

Очевидно, как строится программа, которая возвращает 1, если pAγ (запускаем p на x-ах и проверяем, что программа вернёт соответствующие y-ки).

Такой программы достаточно для доказательства перечислимости.


Лемма о перечислимости свойства перечислимого множества образцов

Лемма:
Пусть Γ - перечислимое множество образцов, AΓ=γΓAγ. Тогда AΓ - перечислимо.
Доказательство:

Приведём программу, выдающую 1, если pAΓ:

q(p):
  for k=1+
      for γΓ[1..k]
          if (pAγ)|TL(k)
              return 1
Такой программы достаточно для доказательства перечислимости.


Теорема Райса-Шапиро

Теорема:
Свойство функций A перечислимо тогда и только тогда, когда Γ:A=AΓ, где Γ - перечислимое множество образцов.
Доказательство:

Очевидно (перебор по TL).


Здесь нам потребуются две вспомогательные леммы.

Лемма:
Пусть A - перечислимое свойство функций, gA, h - продолжение g. Тогда hA.
Доказательство:

Докажем от противного. Пусть gA, h - продолжение g, hA.

Рассмотрим перечислимое и неразрешимое множество K и следующую программу:

V(n,x)={h(x), if nK;g(x), else.

V - вычислимая (можно параллельно запустить g(x) и проверку, принадлежит ли n множеству K (просто перечисляя это множество); если g(x) успешно выполнится, то вернуть её результат).

Пусть p(x)=V(n,x).

Тогда программа, которая запускает параллельно проверку, принадлежит ли n множеству K (просто перечисляя это множество), и проверку, принадлежит ли p множеству A, является разрешающей программой для множества K (так как если pA, то nK по построению V(n,x)).

Противоречие, так как брали неразрешимое K.


Лемма:
Если A - перечислимое свойство функций, gA, то h, такое что |Dom(h)|<+, g - продолжение h, hA.
Доказательство:

Рассмотрим перечислимое и неразрешимое множество K и следующую программу:

V(n,x)={g(x), if (1);, else;

где условие (1) следующее: через x шагов перечисления K число n не появилось.

Если nK, то V(n,x)=g(x).

Если nK, то V(n,x)=g(x) при x=0t1 для какого-то t.

Запустим параллельно проверку, принадлежит ли n множеству K и проверку, принадлежит ли V(n,x) множеству A.

<продолжение доказательства леммы>


Вернёмся к доказательству теоремы.

Функции с конечной областью определения записываются так:

f(x):
    if x=x1
        return y1
    
    if x=xn
        return yn
    

Такие функции перечислимы. Значит такие функции, удоволетворяющие A, тоже перечислимы.

AΓA по первой вспомогательной лемме.

AAΓ по второй вспомогательной лемме.

Значит A=AΓ. Теорема доказана.