Изменения

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

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

462 байта добавлено, 05:01, 24 января 2012
Нет описания правки
|proof=
Приведем конструктивное доказательство теоремы.
Пусть есть вычислимая <tex>V(x,y)</tex>. Введём вспомогательную функцию Определим <tex>getSrcp(y)</tex> следующим образомтак: <br><code> <font size = "3em"> p(y){ V(x,y) {...} main() { return V(getSrc(), y) } string getSrc(){ string src = getOtherSrc(); return "tmp + "string getOtherSrc() {" + "\n" + "return" + src + "\n" + "}"; } string getOtherSrc() { return " p(y) {\n // Возвращаем весь предыдущий код V(x,y) {...} main() { return V(getSrc(), y) } string getSrc() { string src = getOtherSrc(); return "tmp + "string getOtherSrc() {" + "\n" + "return" + src + "\n" + "}"; }"; }
}
</font> </code>И определим функцию <tex>p(y)</tex> так:<code> <font size = "3em"> p(y){ return V(getSrc(), y) }</font> </code>
Заметим, что функция <tex>getSrc()</tex> возвращает код функции <tex>p(y)</tex>, поэтому <tex>p(y)</tex> удовлетворяет требованию <tex>\forall y</tex> <tex>p(y) = V(p, y)</tex>. <br>
}}
Анонимный участник

Навигация