В математике и информатике рекурсивное определение, или индуктивное определение, используется для определения элементов в наборе с точки зрения других элементов в наборе (Aczel 1977 : 740ff). Некоторые примеры рекурсивно определяемых объектов включают факториалы, натуральные числа, числа Фибоначчи и троичный набор Кантора.
A рекурсивный определение функции функция определяет значения функции для некоторых входов в терминах значений той же функции для других (обычно меньших) входов. Например, факториал функция n! определяется правилами
Это определение действительно для каждого натурального числа n, потому что рекурсия в конечном итоге достигает базового случая 0. Определение также может можно рассматривать как процедуру для вычисления значения функции n !, начиная с n = 0 и продолжая далее с n = 1, n = 2, n = 3 и т. д.
Теорема рекурсии утверждает, что такое определение действительно определяет уникальную функцию. В доказательстве используется математическая индукция.
Индуктивное определение множества описывает элементы в множестве с точки зрения других элементов в множестве. Например, одно определение набора N из натуральных чисел :
Есть много наборов, которые удовлетворяют (1) и (2) - например, набор {1, 1.649, 2, 2.649, 3, 3.649,...} удовлетворяет определению. Однако условие (3) определяет набор натуральных чисел, удаляя наборы с посторонними элементами. Обратите внимание, что это определение предполагает, что N содержится в большем наборе (таком как набор действительных чисел), в котором определена операция +.
Свойства рекурсивно определенных функций и множеств часто можно доказать с помощью принципа индукции, который следует рекурсивному определению. Например, определение натуральных чисел, представленное здесь, непосредственно подразумевает принцип математической индукции для натуральных чисел: если свойство имеет место для натурального числа 0 (или 1), и свойство выполняется для n + 1, когда оно имеет значение n, тогда это свойство имеет место для всех натуральных чисел (Aczel 1977: 742).
Большинство рекурсивных определений имеют две основы: базовый случай (базис) и индуктивная оговорка.
Разница между циклическим определением и рекурсивным определением состоит в том, что рекурсивное определение всегда должно иметь базовые случаи, случаи, которые удовлетворяют определению, но не определяются в терминах самого определения, и что все другие экземпляры в индуктивных предложениях должны быть в некотором смысле «меньше» (т. е. ближе к тем базовым случаям, которые завершают рекурсию) - правило, также известное как «повторяются только в более простом случае».
В Напротив, циклическое определение может не иметь базового случая и даже может определять значение функции в терминах самого этого значения, а не других значений функции. Такая ситуация привела бы к бесконечной регрессии.
То, что рекурсивные определения действительны - а это означает, что рекурсивное определение идентифицирует уникальную функцию - это теорема теории множеств, известная как теорема рекурсии, доказательство чего нетривиально. Если областью определения функции являются натуральные числа, достаточными условиями для допустимости определения являются следующие: значение (т. Е. Базовый случай), а для n>0 дан алгоритм для определения в терминах (т.е. индуктивное предложение).
В более общем смысле, рекурсивные определения функций могут быть сделаны всякий раз, когда домен является хорошо упорядоченным множеством, используя принцип трансфинитной рекурсии. Формальные критерии того, что составляет действительное рекурсивное определение, в общем случае более сложны. Набросок общего доказательства и критериев можно найти в Джеймс Манкрес 'Топология. Однако конкретный случай (область ограничена положительными целыми числами вместо любого хорошо упорядоченного набора) общего рекурсивного определения будет дан ниже.
Пусть будет набором, а будет элементом . Если - это функция, которая присваивает каждой функции отображение непустой части положительных целых чисел в , элемент , тогда существует уникальная функция так, что
Сложение определяется рекурсивно на основе подсчета как
Умножение рекурсивно определяется как
Возведение в степень рекурсивно определяется как
Биномиальные коэффициенты можно определить рекурсивно как
Набор простых чисел может быть определен как уникальный набор положительных целых чисел, удовлетворяющих тому, что
Простота целого числа 1 является базовым случаем; проверка простоты любого большего целого числа X по этому определению требует знания простоты каждого целого числа от 1 до X, что хорошо определяется этим определением. Последнее утверждение может быть доказано индукцией по X, для которой важно, чтобы во втором предложении говорилось «тогда и только тогда»; если бы было сказано просто «если», примитивность, например, 4 не была бы ясна, и дальнейшее применение второго предложения было бы невозможным.
четные числа могут быть определены как состоящие из
Рекурсивные определения чаще всего встречаются в логике или компьютерном программировании. Например, правильно построенная формула (wff) может быть определена как:
Ценность такого рекурсивного определения заключается в том, что его можно использовать для определения того, является ли какая-либо конкретная строка символов «правильно сформированной».