Jump to content

Примитивная рекурсивная функция

В теории вычислимости примитивно-рекурсивная функция это, грубо говоря, функция, которая может быть вычислена с помощью компьютерной программы которой , все циклы являются циклами «for» (т. е. верхняя граница числа итераций каждого цикла фиксируется перед вводом петля). Примитивно-рекурсивные функции образуют строгое подмножество тех общерекурсивных функций , которые также являются полными функциями .

Важность примитивно-рекурсивных функций заключается в том, что большинство вычислимых функций , изучаемых в теории чисел (и в более общем плане в математике), являются примитивно-рекурсивными. Например, сложение и деление , факториал и экспоненциальная функция , а также функция, возвращающая n- е простое число, являются примитивно-рекурсивными. [1] Фактически, чтобы показать, что вычислимая функция является примитивно-рекурсивной, достаточно показать, что ее временная сложность ограничена сверху примитивно-рекурсивной функцией входного размера. [2] Следовательно, не так-то просто придумать вычислимую функцию , которая не была бы примитивно-рекурсивной; некоторые примеры показаны в разделе § Ограничения ниже.

Набор примитивно-рекурсивных функций известен как PR в теории сложности вычислений .

Определение

[ редактировать ]

Примитивная рекурсивная функция принимает фиксированное количество аргументов, каждый из которых является натуральным числом (неотрицательное целое число: {0, 1, 2, ...}), и возвращает натуральное число. Если он принимает n аргументов, он называется n - арным .

Основные примитивно-рекурсивные функции задаются этими аксиомами :

  1. Постоянные функции : Для каждого натурального числа и каждый , k -арная постоянная функция, определенная формулой , является примитивно-рекурсивным.
  2. Функция-преемник : 1-арная функция-преемник S , которая возвращает преемника своего аргумента (см. постулаты Пеано ), то есть, , является примитивно-рекурсивным.
  3. Функции проецирования : Для всех натуральных чисел такой, что , k -арная функция, определенная формулой является примитивно-рекурсивным.

Более сложные примитивно-рекурсивные функции можно получить, применяя операции, заданные этими аксиомами:

  1. Оператор композиции (также называемый оператором подстановки ): для данной m -арной функции и m k -арные функции : Для , обычная композиция функций получается.
  2. Примитивный оператор рекурсии : Учитывая k -арную функцию и ( k + 2)-арная функция :

    Интерпретация:

    Функция действует как цикл for из до значения его первого аргумента. Остальные аргументы в пользу , обозначенный здесь , представляют собой набор начальных условий для цикла for, которые могут использоваться им во время вычислений, но являются для него неизменяемыми. Функции и в правой части уравнений, определяющих представляют тело цикла, который выполняет вычисления. Функция используется только один раз для выполнения первоначальных вычислений. Расчеты для последующих шагов цикла выполняются по формуле . Первый параметр передается «текущее» значение индекса цикла for. Второй параметр передается результат предыдущих вычислений цикла for из предыдущих шагов. Остальные параметры для — это те неизменные начальные условия для цикла for, упомянутые ранее. Они могут быть использованы выполнять вычисления, но сами они не будут изменены .

Примитивно -рекурсивные функции — это базовые функции и функции, полученные из базовых функций путем применения этих операций конечное число раз.

  • — это 1-арная функция, которая возвращает для каждого входа: .
  • — это 1-арная функция, которая возвращает для каждого входа: .
  • является 0-арной функцией, т.е. константой: .
  • - тождественная функция натуральных чисел: .
  • и — левая и правая проекции на пары натуральных чисел соответственно: и .
  • — это 1-арная функция, которая добавляет 2 к своим входным данным, .
  • — это 1-арная функция, которая возвращает 1 для каждого ввода: . То есть, и это одна и та же функция: . Подобным образом каждый можно выразить как композицию достаточного количества и . Более того, равно , с . По этим причинам некоторые авторы [3] определять только для и .

Добавление

[ редактировать ]

Определение 2-арной функции , для вычисления суммы его аргументов, можно получить с помощью примитивного оператора рекурсии . Для этого используются известные уравнения

«перефразированы в терминологии примитивно-рекурсивных функций»: в определении , первое уравнение предлагает выбрать чтобы получить ; второе уравнение предлагает выбрать чтобы получить . Следовательно, функцию сложения можно определить как . В качестве примера вычислений:

удвоение

[ редактировать ]

Данный , 1-арная функция удваивает свой аргумент, .

Умножение

[ редактировать ]

Подобно сложению, умножение можно определить формулой . Это воспроизводит известные уравнения умножения:

и

Предшественник

[ редактировать ]

Функция-предшественница действует как «противоположность» функции-последователя и рекурсивно определяется правилами и . Примитивное рекурсивное определение . В качестве примера вычислений:

Усеченное вычитание

[ редактировать ]

Ограниченная функция вычитания (также называемая « монус » и обозначаемая « ") определяется из функции-предшественника. Он удовлетворяет уравнениям

Поскольку рекурсия проходит по второму аргументу, мы начинаем с примитивно-рекурсивного определения обратного вычитания: . Затем его рекурсия проходит по первому аргументу, поэтому можно получить его примитивно-рекурсивное определение, аналогично сложению, как . Чтобы избавиться от обратного порядка аргументов, определите . В качестве примера вычислений:

Преобразование предикатов в числовые функции

[ редактировать ]

В некоторых ситуациях естественно рассматривать примитивно-рекурсивные функции, которые принимают в качестве входных данных кортежи, смешивающие числа со значениями истинности (т.е. для истинного и для false), или которые выдают на выходе значения истинности. [4] Этого можно достичь путем идентификации значений истинности с числами любым фиксированным способом. Например, обычно определяют истинностное значение с номером и истинное значение с номером . Как только это отождествление сделано, характеристическая функция множества , который всегда возвращает или , можно рассматривать как предикат, который сообщает, находится ли число в наборе . Такая идентификация предикатов с числовыми функциями будет предполагаться в оставшейся части статьи.

Предикат «Ноль»

[ редактировать ]

В качестве примера примитивно-рекурсивного предиката можно привести 1-арную функцию. должно быть определено так, чтобы если , и , в противном случае. Этого можно достичь, определив . Затем, и например .

Предикат «Меньше или равно»

[ редактировать ]

Использование недвижимости , 2-арная функция может быть определен . Затем если , и , в противном случае. В качестве примера вычислений:

Предикат «Больше или равно»

[ редактировать ]

Как только определение получен, обратный предикат можно определить как . Затем, истинно (точнее: имеет значение 1) тогда и только тогда, когда .

Если-то-иначе

[ редактировать ]

Трехмерный оператор if-then-else, известный в языках программирования, можно определить следующим образом: . Тогда для произвольного ,

и

.

То есть, возвращает часть then, , если if-часть, , верно, а остальная часть, , в противном случае.

Развязки

[ редактировать ]

На основании функции, легко определить логические узлы. Например, определение , получается , то есть, истинно тогда и только тогда , когда оба и истинны ( логическое соединение и ).

Сходным образом, и приводят к соответствующим определениям дизъюнкции и отрицания : и .

Предикат равенства

[ редактировать ]

Использование вышеуказанных функций , и , определение реализует предикат равенства. Фактически, истинно тогда и только тогда, когда равно .

Аналогично, определение реализует предикат «меньше чем», и реализует «больше чем».

Другие операции с натуральными числами

[ редактировать ]

Возведение в степень и проверка простоты являются примитивно-рекурсивными. Даны примитивно-рекурсивные функции , , , и , функция, которая возвращает значение когда и ценность в противном случае является примитивно-рекурсивным.

Операции с целыми и рациональными числами

[ редактировать ]

Используя нумерацию Гёделя , примитивно-рекурсивные функции могут быть расширены для работы с другими объектами, такими как целые и рациональные числа . Если целые числа кодируются числами Гёделя стандартным способом, все арифметические операции, включая сложение, вычитание и умножение, являются примитивно-рекурсивными. Аналогично, если рациональные числа представлены числами Гёделя, то все полевые операции являются примитивно-рекурсивными.

Некоторые распространенные примитивно-рекурсивные функции

[ редактировать ]

Следующие примеры и определения взяты из работы Клини (1952), стр. 223–231. Многие появляются с доказательствами. Большинство из них также появляются под похожими именами либо в качестве доказательств, либо в качестве примеров в Boolos-Burgess-Jeffrey 2002, стр. 63–70; они добавляют логарифм lo(x, y) или lg(x, y) в зависимости от точного вывода.

В дальнейшем знак " ' ", например a', является примитивным знаком, означающим "преемник", обычно обозначаемым как "+1", например a +1 = def a'. Функции 16–20 и #G представляют особый интерес с точки зрения преобразования примитивно-рекурсивных предикатов в их «арифметическую» форму, выраженную в виде чисел Гёделя , и их извлечения из нее .

  1. Дополнение: а+б
  2. Умножение: a×b
  3. Возведение в степень: а б
  4. Факториал а! : 0! = 1, а'! = а!×а'
  5. pred(a): (предшественник или декремент): если a > 0, то a−1, иначе 0
  6. Правильное вычитание a ∸ b: если a ≥ b, то a−b иначе 0
  7. Минимум (a 1 , ... a n )
  8. Максимум(a 1 , ... a n )
  9. Абсолютная разница: | а-б | = def (а ∸ b) + (b ∸ а)
  10. ~sg(a): NOT[signum(a)]: Если a=0, то 1, иначе 0
  11. sg(a): Signum(a): Если a=0, то 0, иначе 1
  12. а | b: (a делит b): если b=k×a для некоторого k, то 0 иначе 1
  13. Остаток(a, b): остаток, если b не делит a «на поровну». Также называется MOD(a, b)
  14. а = б: сг | а - б | (Соглашение Клини заключалось в том, чтобы представлять истинное значение 0 и ложное значение 1; в настоящее время, особенно в компьютерах, наиболее распространенным соглашением является обратное, а именно представлять истинное значение 1 и ложное значение 0, что равнозначно замене sg на ~sg здесь и в следующий пункт)
  15. а < б: sg( а' ∸ б)
  16. Pr(a): a — простое число Pr(a) = def a>1 & NOT(Существует c) 1<c<a [c|a]
  17. p i : i+1-е простое число
  18. (a) i : показатель степени pi в a: уникальный x такой, что pi х |a & NOT(p i х' |а)
  19. lh(a): «длина» или количество ненулевых показателей степени в
  20. lo(a, b): (логарифм от a по основанию b): если a, b > 1, то наибольший x такой, что b х | еще 0
Далее сокращение x = def x 1 , ... x n ; индексы могут применяться, если этого требует смысл.
  • #A: Функция φ, определяемая явно из функций Ψ и констант q 1 , ... q n, является примитивно-рекурсивной в Ψ.
  • #B: Конечная сумма Σ y<z ψ( x , y) и произведение Π y<z ψ( x , y) примитивно рекурсивны по ψ.
  • #C: Предикат P, полученный заменой функций χ 1 ,..., χ m на соответствующие переменные предиката Q, примитивно рекурсивен в χ 1 ,..., χ m , Q.
  • #D: Следующие предикаты примитивно рекурсивны в Q и R:
  • НЕ_Q( х ) .
  • Q ИЛИ R: Q( x ) VR( x ),
  • Q И R: Q( x ) и R( x ),
  • Q ПРЕДЛАГАЕТ R: Q( x ) → R( x )
  • Q эквивалентен R: Q( x ) ≡ R( x )
  • #E: Следующие предикаты примитивно рекурсивны в предикате R:
  • (Ey) y<z R( x , y), где (Ey) y<z означает «существует хотя бы один y, который меньше z такой, что»
  • (y) y<z R( x , y), где (y) y<z означает «для всех y меньше z верно, что»
  • µy y<z R( x , y). Оператор µy y<z R( x , y) представляет собой ограниченную форму так называемого оператора минимизации или mu : определяется как «наименьшее значение y меньше z такое, что R( x , y) истинно; или z, если такого значения нет».
  • #F: Определение по случаям: функция, определенная таким образом, где Q 1 , ..., Q m являются взаимоисключающими предикатами (или «ψ( x ) должна иметь значение, заданное первым применимым предложением), является примитивно-рекурсивной в φ 1 , ..., Q 1 , ... Q м :
φ( Икс ) =
  • φ 1 ( x ), если Q 1 ( x ) истинно,
  • . . . . . . . . . . . . . . . . . . .
  • φ m ( x ), если Q m ( x ) верно
  • φ m+1 ( x ) в противном случае
  • #G: Если φ удовлетворяет уравнению:
φ(y, x ) = χ(y, COURSE-φ(y; x 2 , ... x n ), x 2 , ... x n, то φ примитивно рекурсивно по χ. Значение COURSE-φ(y ; x 2 to n ) функции хода значений кодирует последовательность значений φ(0, x 2 to n ), ..., φ(y-1, x 2 to n ) исходной функции.

Связь с рекурсивными функциями

[ редактировать ]

Более широкий класс частично рекурсивных функций определяется введением оператора неограниченного поиска . Использование этого оператора может привести к созданию частичной функции , то есть отношения, имеющего не более одного значения для каждого аргумента, но не обязательно имеющего какое-либо значение для любого аргумента (см. Домен ). Эквивалентное определение гласит, что частично рекурсивная функция — это функция, которую можно вычислить с помощью машины Тьюринга . Полнорекурсивная функция — это частично рекурсивная функция, определенная для каждого входа.

Любая примитивно-рекурсивная функция является тотально рекурсивной, но не все тотальные рекурсивные функции являются примитивно-рекурсивными. Функция Аккермана A ( m , n ) является хорошо известным примером тотально рекурсивной функции (фактически доказуемой тотальной), которая не является примитивно-рекурсивной. Примитивно-рекурсивные функции характеризуются как подмножество тотально-рекурсивных функций с помощью функции Аккермана. Эта характеристика утверждает, что функция является примитивно-рекурсивной тогда и только тогда, когда существует натуральное число m такое, что функция может быть вычислена машиной Тьюринга, которая всегда останавливается в течение A( m , n ) или меньшего количества шагов, где n — сумма аргументы примитивно-рекурсивной функции. [5]

Важным свойством примитивно-рекурсивных функций является то, что они представляют собой рекурсивно перечислимое подмножество множества всех тотально рекурсивных функций (которое само по себе не является рекурсивно перечислимым). Это означает, что существует единственная вычислимая функция f ( m , n ), которая перечисляет примитивно-рекурсивные функции, а именно:

  • Для каждой примитивно-рекурсивной функции g существует m такое, что g ( n ) = f ( m , n ) для всех n , и
  • Для каждого m функция h ( n ) = f ( m , n ) является примитивно-рекурсивной.

f может быть явно сконструировано путем итеративного повторения всех возможных способов создания примитивно-рекурсивных функций. Таким образом, оно доказуемо тотально. Можно использовать аргумент диагонализации , чтобы показать, что f сам по себе не является рекурсивным примитивом: если бы он был таковым, то было бы и h ( n ) = f ( n , n )+1. Но если это соответствует некоторой примитивно-рекурсивной функции, существует m такое, что h ( n ) = f ( m , n ) для всех n , и тогда h ( m ) = f ( m , m ), что приводит к противоречию.

Однако набор примитивно-рекурсивных функций не является самым большим рекурсивно перечислимым подмножеством множества всех тотально рекурсивных функций. Например, набор доказуемо полных функций (в арифметике Пеано) также рекурсивно перечислим, поскольку можно перечислить все доказательства теории. Хотя все примитивно-рекурсивные функции доказуемо тотальны, обратное неверно.

Ограничения

[ редактировать ]

Примитивно-рекурсивные функции, как правило, очень близко соответствуют нашему интуитивному пониманию того, какой должна быть вычислимая функция. Конечно, исходные функции интуитивно вычислимы (в силу своей простоты), и две операции, с помощью которых можно создавать новые примитивно-рекурсивные функции, также очень просты. Однако набор примитивно-рекурсивных функций не включает в себя все возможные тотальные вычислимые функции — в этом можно убедиться с помощью варианта диагонального аргумента Кантора . Этот аргумент предоставляет полностью вычислимую функцию, которая не является примитивно-рекурсивной. Схема доказательства такова:

Примитивно-рекурсивные функции одного аргумента (т. е. унарные функции) могут быть вычислимо перечислены . В этом перечислении используются определения примитивно-рекурсивных функций (которые, по сути, представляют собой просто выражения с операциями композиции и примитивной рекурсии в качестве операторов, а базовые примитивно-рекурсивные функции — в виде атомов), и можно предположить, что оно содержит каждое определение один раз, даже если одна и та же функция будет встречаться в списке много раз (поскольку многие определения определяют одну и ту же функцию; действительно, простое составление с помощью тождественной функции генерирует бесконечное количество определений любой одной примитивно-рекурсивной функции). Это означает, что -е определение примитивно-рекурсивной функции в этом перечислении можно эффективно определить из . Действительно, если использовать некоторую нумерацию Гёделя для кодирования определений в виде чисел, то это -е определение в списке вычисляется примитивно-рекурсивной функцией . Позволять обозначают унарную примитивно-рекурсивную функцию, заданную этим определением.

Теперь определите «функцию оценщика» с двумя аргументами, по . Четко является тотальным и вычислимым, поскольку можно эффективно определить определение и являясь примитивно-рекурсивной функцией само по себе тотально и вычислимо, поэтому всегда определена и эффективно вычислима. Однако диагональный аргумент покажет, что функция двух аргументов не является примитивно-рекурсивным.

Предполагать были примитивно-рекурсивными, то унарная функция определяется также будет примитивно-рекурсивным, поскольку он определяется композицией из функции-преемника и . Но тогда встречается в перечислении, поэтому существует некоторое число такой, что . Но сейчас дает противоречие.

Этот аргумент можно применить к любому классу вычислимых (итого) функций, которые можно перечислить таким образом, как описано в статье Машина, которая всегда останавливается . Однако обратите внимание, что частично вычислимые функции (те, которые не обязательно определять для всех аргументов) могут быть явно перечислены, например, путем перечисления кодировок машины Тьюринга.

Известны и другие примеры тотально рекурсивных, но не примитивно рекурсивных функций:

  • Функция, которая переводит m в Аккерман ( m , m ), является унарной полностью рекурсивной функцией, которая не является примитивно-рекурсивной.
  • Теорема Пэрис-Харрингтона включает в себя полностью рекурсивную функцию, которая не является примитивно-рекурсивной.
  • Судана Функция
  • Функция Гудштейна

Варианты

[ редактировать ]

Постоянные функции

[ редактировать ]

Вместо ,альтернативные определения используют только одну 0-арную нулевую функцию как примитивную функцию, которая всегда возвращает ноль, и построила константные функции из нулевой функции, функции-преемника и оператора композиции.

Слабая примитивная рекурсия

[ редактировать ]

Функция-предшественник с 1 местом является примитивно-рекурсивной, см. раздел #Predecessor . Фишер, Фишер и Бейгель [6] удалил неявный предшественник из правила рекурсии, заменив его более слабым правилом

Они доказали, что функция-предшественница все еще может быть определена, и, следовательно, «слабая» примитивная рекурсия также определяет примитивно-рекурсивные функции.

Итерационные функции

[ редактировать ]

Ослабление этого еще больше с помощью функций арности k +1, удаляя и из аргументов полностью, мы получаем правило итерации :

Класс итерационных функций определяется так же, как и класс примитивно-рекурсивных функций, за исключением этого более слабого правила. Предполагается, что они являются собственным подмножеством примитивно-рекурсивных функций. [6]

Дополнительные примитивно-рекурсивные формы

[ редактировать ]

Некоторые дополнительные формы рекурсии также определяют функции, которые на самом деле являютсяпримитивно-рекурсивный. Определения в этих формах может быть легче найти илиболее естественно для чтения или письма. Рекурсия курса значений определяет примитивные рекурсивные функции. Некоторые формы взаимной рекурсии также определяют примитивно-рекурсивные функции.

Функции, которые можно запрограммировать на языке программирования LOOP, представляют собой именно примитивно-рекурсивные функции. Это дает разную характеристику мощности этих функций. Основное ограничение языка LOOP по сравнению с языком, полным по Тьюрингу , заключается в том, что в языке LOOP количество раз, которое будет выполняться каждый цикл, указывается до того, как цикл начнет выполняться.

Определение компьютерного языка

[ редактировать ]

Примером примитивно-рекурсивного языка программирования является язык, который содержит основные арифметические операторы (например, + и - или ДОБАВИТЬ и ВЫЧИТАТЬ), условные выражения и сравнения (ЕСЛИ-ТО, РАВНО, МЕНЬШЕ-ЧЕМ) и ограниченные циклы, такие как базовый for цикл , где существует известная или вычислимая верхняя граница для всех циклов (FOR i FROM 1 TO n, при этом ни i, ни n не могут быть изменены телом цикла). Никакие управляющие структуры большей общности, такие как циклы while или IF-THEN плюс GOTO , не допускаются в примитивно-рекурсивном языке.

Язык LOOP , представленный в 1967 году в статье Альберта Р. Мейера и Денниса М. Ритчи , [7] это такой язык. Его вычислительная мощность совпадает с примитивно-рекурсивными функциями. Вариантом языка LOOP является Дугласа Хофштадтера в BlooP произведениях Гёделя, Эшера, Баха . Добавление неограниченных циклов (WHILE, GOTO) делает язык общерекурсивным и полным по Тьюрингу , как и все реальные языки компьютерного программирования.

Определение примитивно-рекурсивных функций подразумевает, что их вычисление останавливается на каждом входе (после конечного числа шагов). С другой стороны, проблема остановки неразрешима . для общерекурсивных функций

Финитизм и результаты согласованности

[ редактировать ]

Примитивные рекурсивные функции тесно связаны с математическим финитизмом и используются в нескольких контекстах математической логики, где требуется особенно конструктивная система. Для этой цели часто используется примитивно-рекурсивная арифметика (PRA), формальная система аксиом для натуральных чисел и примитивно-рекурсивных функций над ними.

PRA намного слабее арифметики Пеано , которая не является финитистской системой. Тем не менее, многие результаты в теории чисел и теории доказательств можно доказать с помощью PRA. Например, теорема Гёделя о неполноте может быть формализована в PRA, давая следующую теорему:

Если T — теория арифметики, удовлетворяющая определенным гипотезам, с предложением Гёделя G T , то PRA доказывает импликацию Con( T )→ G T .

Точно так же многие синтаксические результаты теории доказательств могут быть доказаны в PRA, что подразумевает наличие примитивно-рекурсивных функций, которые выполняют соответствующие синтаксические преобразования доказательств.

В теории доказательств и теории множеств существует интерес к финитистским доказательствам непротиворечивости , то есть доказательствам непротиворечивости, которые сами по себе финитистски приемлемы. Такое доказательство устанавливает, что непротиворечивость теории T подразумевает непротиворечивость теории S путем создания примитивно-рекурсивной функции, которая может преобразовать любое доказательство несовместимости из S в доказательство несогласованности из T . Одним из достаточных условий для того, чтобы доказательство непротиворечивости было финитистским, является возможность формализовать его в PRA. Например, многие результаты о непротиворечивости в теории множеств, полученные путем принуждения, можно преобразовать в синтаксические доказательства, которые можно формализовать в PRA.

Рекурсивные определения и раньше использовались в математике более или менее формально, но построение примитивной рекурсии восходит к Ричарда Дедекинда теореме 126 из его книги «Was sind und was sollen die Zahlen?» (1888). Эта работа была первой, в которой было доказано, что некоторая рекурсивная конструкция определяет уникальную функцию. [8] [9] [10]

Примитивную рекурсивную арифметику впервые предложил Торальф Скулем. [11] в 1923 году.

Нынешняя терминология была придумана Рожа Петером (1934) после того, как Акерман в 1928 году доказал, что функция, которая сегодня названа в его честь, не была примитивно-рекурсивной, и это событие вызвало необходимость переименовать то, что до этого называлось просто рекурсивными функциями. [9] [10]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Брейнерд и Ландвебер, 1974 г.
  2. ^ Хартман, 1989.
  3. ^ Например: Хенк Барендрегт (1990). «Функциональное программирование и лямбда-исчисление». Ян ван Леувен (ред.). Формальные модели и семантика . Справочник по теоретической информатике. Том. Б. Эльзевир. стр. 321–364. ISBN  0-444-88074-7 . Здесь: 2.2.6 начальные функции , Def.2.2.7 примитивная рекурсия , стр.331-332.
  4. ^ Клини [1952, стр. 226–227]
  5. ^ Это следует из того факта, что функции этой формы являются наиболее быстро растущими примитивно-рекурсивными функциями и что функция является примитивно-рекурсивной тогда и только тогда, когда ее временная сложность ограничена примитивно-рекурсивной функцией. О первом см. Линц, Питер (2011), Введение в формальные языки и автоматы , Jones & Bartlett Publishers, стр. 332, ISBN  9781449615529 . О последнем см. Мур, Кристофер ; Мертенс, Стефан (2011), Природа вычислений , Oxford University Press, стр. 287, ISBN  9780191620805
  6. ^ Перейти обратно: а б Фишер, Фишер и Бейгель, 1989 .
  7. ^ Мейер, Альберт Р .; Ричи, Деннис М. (1967). Сложность циклических программ . ACM '67: Материалы 22-й национальной конференции 1967 года. дои : 10.1145/800196.806014 .
  8. ^ Питер Смит (2013). Введение в теоремы Гёделя (2-е изд.). Издательство Кембриджского университета. стр. 98–99. ISBN  978-1-107-02284-3 .
  9. ^ Перейти обратно: а б Джордж Турлакис (2003). Лекции по логике и теории множеств: Том 1, Математическая логика . Издательство Кембриджского университета. п. 129. ИСБН  978-1-139-43942-8 .
  10. ^ Перейти обратно: а б Род Дауни, изд. (2014). Наследие Тьюринга: развитие идей Тьюринга в логике . Издательство Кембриджского университета. п. 474. ИСБН  978-1-107-04348-0 .
  11. ^ Торальф Скулем (1923) «Основы элементарной арифметики» Жана ван Хейеноорта , переводчика и изд. (1967) От Фреге до Гёделя: Справочник по математической логике, 1879–1931 . Гарвардский университет. Пресса: 302-33.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c89e2e98ca22ea37deec05dbe5d5a765__1719124920
URL1:https://arc.ask3.ru/arc/aa/c8/65/c89e2e98ca22ea37deec05dbe5d5a765.html
Заголовок, (Title) документа по адресу, URL1:
Primitive recursive function - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)