Рекурсивные функции — различия между версиями
(→Основные определения) |
(→Основные определения) |
||
| Строка 18: | Строка 18: | ||
}} | }} | ||
| − | Заметим, что если <tex> f </tex> {{---}} <tex> n </tex>-местная примитивно рекурсивная функция, то она определена на всем множестве <tex> \mathbb {N}^{n} </tex>, так как <tex> f </tex> получается путем правил преобразования из всюду определенных функций, и правила преобразование не портят всюду определенность. Говоря не формальным языком, рекурсивные функции напоминают программы, у которых условия останова для всех циклов и рекурсий не зависят от входных данных. Из-за того что у нас есть <tex> P_{x,y} </tex> | + | Заметим, что если <tex> f </tex> {{---}} <tex> n </tex>-местная примитивно рекурсивная функция, то она определена на всем множестве <tex> \mathbb {N}^{n} </tex>, так как <tex> f </tex> получается путем правил преобразования из всюду определенных функций, и правила преобразование не портят всюду определенность. Говоря не формальным языком, рекурсивные функции напоминают программы, у которых условия останова для всех циклов и рекурсий не зависят от входных данных. Из-за того что у нас есть <tex> P_{x,y} </tex> в правиле подстановки можно подставлять функции с разным числом аргументов и тогда количество переменных от которых зависит результирующая функция будет равно максимальному количеству аргументов среди всех подставляемых функций. |
=== Арифметические операции на примитивно рекурсивных функциях === | === Арифметические операции на примитивно рекурсивных функциях === | ||
Версия 20:24, 18 января 2013
Все рассматриваемые здесь функции действуют из подмножества в , где - любое натуральное число.Также будем считать что натуральное число.
Содержание
Примитивно рекурсивные функции
Основные определения
Рассмотрим следующие правила преобразования функций.
- Рассмотрим -местную функцию и -местных функций . Тогда после преобразования у нас появится - местная функция .
Это правило называется правилом подстановки
- Рассмотрим -местную функцию и -местную функцию . Тогда после преобразования у нас будет -местная функция , которая определена следующим образом:
- Это правило называется правилом рекурсии.
| Определение: |
| Примитивно рекурсивными называют функции, которые можно получить с помощью правил подстановки и рекурсии из константной функции , функции и набора функций где . |
Заметим, что если — -местная примитивно рекурсивная функция, то она определена на всем множестве , так как получается путем правил преобразования из всюду определенных функций, и правила преобразование не портят всюду определенность. Говоря не формальным языком, рекурсивные функции напоминают программы, у которых условия останова для всех циклов и рекурсий не зависят от входных данных. Из-за того что у нас есть в правиле подстановки можно подставлять функции с разным числом аргументов и тогда количество переменных от которых зависит результирующая функция будет равно максимальному количеству аргументов среди всех подставляемых функций.
Арифметические операции на примитивно рекурсивных функциях
n -местный ноль
- функция нуля аргументов.
Выразим сначала
, где
Теперь выразим
, где
Константа равна
- n местная константа, получается аналогичным к образом.
Сложения
, где
Умножения
, где
Вычитания
Если , то , иначе .
Рассмотрим сначала вычитания единицы
, где
Теперь рассмотрим
, где
Операции сравнения
если , иначе
если , иначе если , иначе
Сначала выразим
, где
Деление
, если , иначе
divmax(y,0) = 0 divmax(y,x+1) = h(y,x,divmax(x)), где - модуль от деления. <tex> count(x,y) =