Изменения

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

Частично рекурсивные функции

180 байт добавлено, 14:26, 20 января 2013
Вычислимые и частично рекурсивные функции
|proof=
Программа вычисляющая частично рекурсивную функцию легко пишется на любом удобном для читателя языке программирования. Поэтому нам достаточно показать что любая вычислимая функция примитивно рекурсивная. Функции <tex> IN </tex>, <tex> OUT </tex>, <tex> N </tex>, и как представляется состояние машины Тюринга описано в доказательстве [[Рекурсивные функции|теоремы о примитивной рекурсивности вычислимых функций]].
Функция <tex> T([L,R,S,C]) </tex> возвращает минимальное число шагов за которое программа вычисляющая нашу функцию попадет в состояние <tex> Accepted </tex>. Покажем что она частично рекурсивная. <tex> T([L,R,S,C]) = \mu t (p_2(N([L,R,S,C],t)) = Accepted) </tex>, где <tex> p_i </tex> - взятие <tex> i </tex> - того элемента списка. Операции сравнения здесь реализованы также как и примитивно рекурсивных функциях,но если равенство выполняется то функция проверки на равенство возвращает <tex> 0 </tex>, иначе <tex> 1 </tex>.
В итоге <tex> F(args) = OUT(N(IN(args),T(IN(args))) </tex> - частично рекурсивная функция.
}}
Из этой теоремы и неразрешимости языка программ завершающихся при любом входе, следует алгоритмическая неразрешимость проверки проврк,и частично рекурсивной функции на общерекурсивность. 
== Связь между общерекурсивными и примитивно рекурсивными функциями ==
{{Теорема
Анонимный участник

Навигация