Лекция: Примеры примитивно рекурсивных функций
Как и с другими вычислительными моделями, важно накопить некоторый программистский опыт.
Сложение. Функция получается с помощью рекурсии:
sum(x,0)=x;
sum(x,y+1)=sum(x,y)+1.
Надо, конечно, представить правую часть второго равенства как результат подстановки. Формально говоря, h(x,y,z) в определении рекурсии надо положить равным s(z), где s функция прибавления единицы.
Умножение. Функция получается с помощью рекурсии (с использованием сложения):
prod(x,0)=0;
prod(x,y+1)=prod(x,y)+x.
Аналогичным образом можно перейти от умножения к возведению в степень.
Усеченное вычитание. Мы говорим об " усеченном вычитании" при и при, поскольку мы имеем дело только с натуральными (целыми неотрицательными) числами. Одноместная функция усеченного вычитания единицы определяется рекурсивно:
(Рекурсия здесь формальна, так как предыдущее значение не используется.) После этого усеченное вычитание для произвольных аргументов можно определить так: