Примитивно рекурсивная функция — вычислимая функция нескольких натуральных переменных, частный случай рекурсивной функции.
Определение[]
Определение понятия примитивно рекурсивной функции является индуктивным. Оно состоит из указания класса исходных примитивно рекурсивных функций и двух операторов (подстановки и примитивной рекурсии), позволяющих строить новые примитивно рекурсивные функции на основе уже имеющихся.
К числу исходных примитивно рекурсивных функций относятся функции следующих трёх видов:
- Нулевая функция одного переменного, сопоставляющая любому натуральному числу значение 0.
- Функция следования одного переменного, сопоставляющая любому натуральному числу непосредственно следующее за ним натуральное число .
- Функции , где , от n переменных, сопоставляющие любому упорядоченному набору натуральных чисел число из этого набора.
Операторы подстановки и примитивной рекурсии определяются следующим образом:
- Пусть f — примитивно рекурсивная функция от m переменных, а g1,... gm — упорядоченный набор примитивно рекурсивных функций от n переменных каждая. Тогда результатом подстановки функций gk в функцию f называется функция h от n переменных, сопоставляющая любому упорядоченному набору натуральных чисел число
- .
- Пусть f — примитивно рекурсивная функция от n переменных, а g — примитивно рекурсивная функция от n+2 переменных. Тогда результатом применения оператора примитивной рекурсии к паре функций f и g называется функция h от n+1 переменной вида
- ;
- .
Примеры[]
Укажем на ряд широко известных арифметических функций, допускающих рассмотрение в качестве примитивно рекурсивных.
- Сложение двух натуральных чисел может быть рассмотрено в качестве примитивно рекурсивной функции двух переменных, получаемой в результате применения оператора примитивной рекурсии к функциям и f, вторая из которых получается подстановкой основной функции в основную функцию :
- ;
- ;
- .
- Умножение двух натуральных чисел может быть рассмотрено в качестве примитивно рекурсивной функции двух переменных, получаемой в результате применения оператора примитивной рекурсии к функциям и f, вторая из которых получается подстановкой основных функций и в функцию сложения:
- ;
- ;
- .
- Симметрическая разность (абсолютная величина разности) двух натуральных чисел может быть рассмотрена в качестве примитивно рекурсивной функции двух переменных, получаемой в результате применения следующих подстановок и примитивных рекурсий:
- ;
- ;
- ;
- ;
- ;
Границы понятия[]
Любая примитивно рекурсивная функция является общерекурсивной, т. е. принимающей некоторое значение на любом отвечающем числу аргументов функции наборе натуральных чисел. Соответственно, рекурсивные функции, не являющиеся общерекурсивными, заведомо не относятся к числу примитивно рекурсивных функций. Известны также и общерекурсивные функции, не являющиеся примитивно рекурсивными. Стандартным примером здесь является функция Аккермана.
Следует, однако, заметить, что произвольная рекурсивная функция от n переменных может быть получена из примитивно рекурсивной функции от n+1 переменной применением оператора минимизации.
Литература[]
- Гильберт Д, Бернайс П. Основания математики, Т. 1. — М.: Наука, 1979.
- Клини С. К. Введение в метаматематику. — М., 1957.
- Петер Р. Рекурсивные функции — ИЛ, 1954.
cs:Primitivně rekurzivní funkce he:פונקציה פרימיטיבית רקורסיבית