Il est bien connu que les combinateurs S et K sont Turing Complete. Existe-t-il des combinateurs suffisants pour produire (uniquement) les fonctions récursives primitives?
Il est bien connu que les combinateurs S et K sont Turing Complete. Existe-t-il des combinateurs suffisants pour produire (uniquement) les fonctions récursives primitives?
Réponses:
Oui, mais vous devez considérer les combinateurs typés. Autrement dit, vous devez donner à et K les schémas de types suivants: K : A → B → A S : ( A → B → C ) → ( A → B ) → ( A → C ) où A , B et C sont des méta-variables qui peuvent être instanciées à n'importe quel type concret à chaque utilisation.
Ensuite, vous voulez ajouter le type de nombres naturels à la langue des types, et ajouter les combinateurs suivants: z : N s u c c : N → N i t e r : N → ( N → N ) → N → N
Les règles d'égalité pour les ajouts sont les suivantes:
iter
. Cela pourrait faire l'objet d'une question sur cs.stackexchange.com ...