Хорошо известно, что комбинаторы S и K являются полными по Тьюрингу. Существуют ли комбинаторы, достаточные для получения (только) примитивных рекурсивных функций?
lo.logic
computability
NietzscheanAI
источник
источник
Ответы:
Да, но вы должны рассмотреть типизированные комбинаторы. То есть вам нужно дать и K следующие схемы типов: K : A → B → A S : ( A → B → C ) → ( A → B ) → ( A → C ), где A , B и C являются мета-переменными, которые могут быть созданы для любого конкретного типа при каждом использовании.S К
Затем вы хотите добавить тип натуральных чисел к языку типов и добавить следующие комбинаторы: z : N s u c c : N → N i t e r : N → ( N → N ) → N → NN
Правила равенства для дополнений:
источник
iter
. Это может быть предметом вопроса на cs.stackexchange.com ...