Изменения

Перейти к: навигация, поиск

Теорема о рекурсии

45 байт убрано, 15:20, 8 января 2017
Теорема о рекурсии
|about=о рекурсии / ''Kleene's recursion theorem''
|statement= Пусть <tex>V(n, x)</tex> {{---}} [[Вычислимые функции|вычислимая функция]]. Тогда найдётся такая вычислимая <tex>p</tex>, что <tex>\forall y:</tex> <tex>p(y) = V(p, y)</tex>.
}}<tex>\triangleright</tex> |proof=Введем новые обозначения для псевдокода. Внутри блока '''function''' располагаются функции, среди которых есть функция <tex>\mathrm{main}</tex>:
'''function''' p('''int''' x):
...
string src = getOtherSrc()
return \"\(src) string getOtherSrc():\n return src\n\"
<tex>\triangleleft</tex> }}
Иначе говоря, если рассмотреть <tex>V(x, y)</tex>, как программу, использующую <tex>x</tex> в качестве исходного кода и выполняющую действие над <tex>y</tex>, то теорема о рекурсии показывает, что мы можем написать эквивалентную ей программу <tex>p(y) = V(p, y)</tex>, которая будет использовать собственный исходный код.
Анонимный участник

Навигация