Рекурсивные функции — различия между версиями
(→Деление) |
(→Деление) |
||
Строка 46: | Строка 46: | ||
==== Деление ==== | ==== Деление ==== | ||
<tex> divide(x,y) = \frac{x}{y} </tex>, если <tex> y > 0 </tex>, иначе <tex> divide(x,y) = 0 </tex> | <tex> divide(x,y) = \frac{x}{y} </tex>, если <tex> y > 0 </tex>, иначе <tex> divide(x,y) = 0 </tex> | ||
+ | Сначала выразим <tex> eq(x,y) </tex> . <tex> eq(x,y) = 0 </tex> если <tex> x = y </tex>, иначе <tex> eq(x,y) = 1 </tex> |
Версия 18:41, 18 января 2013
Эта статья находится в разработке!
Все рассматриваемые здесь функции действуют из подмножества
в , где - любое натуральное число.Также будем считать что натуральное число.Содержание
Примитивно рекурсивные функции
Основные определения
Рассмотрим следующие правила преобразования функций.
- Рассмотрим -местную функцию и -местных функций . Тогда после преобразования у нас появится - местная функция .
Это правило называется правилом подстановки
- Рассмотрим -местную функцию и -местную функцию . Тогда после преобразования у нас будет -местная функция , которая определена следующим образом:
- Это правило называется правилом рекурсии.
Определение: |
Примитивно рекурсивными называют функции, которые можно получить с помощью правил подстановки и рекурсии из константной функции | , функции и набора функций где .
Заметим, что если
— -местная примитивно рекурсивная функция, то она определена на всем множестве , так как f получается путем правил преобразования из всюду определенных функций, и правила преобразование не портят всюду определенность.Арифметические операции на примитивно рекурсивных функциях
Сложения
, где
Умножения
, где
Вычитания
Если
, то , иначе .Рассмотрим сначала вычитания единицы
, где
Теперь рассмотрим
, где
Деление
, если , иначе Сначала выразим . если , иначе