est ici le code, plus que je ne comprends pasquelqu'un peut-il m'aider à comprendre cet exemple prologue récursif?
plus(0,X,X):-natural_number(X).
plus(s(X),Y,s(Z)) :- plus(X,Y,Z).
tout donné:
natural_number(0).
natural_number(s(X)) :- natural_number(X).
Je ne comprends pas ce récursivité. Si j'ai plus(s(0),s(s(s(0))),Z)
comment puis-je obtenir la réponse de 1+3=4
?
J'ai besoin d'explications sur le premier code. J'essaie que plus(0,X,X)
va arrêter la récursivité mais je pense que je le fais mal.
vouliez-vous dire que z 'vient de la première étape? celui-là? Appliquez la deuxième définition de plus, car c'est la seule qui s'unifie avec la requête. plus (s (0), s (s (s (0))), z) est vrai si plus (0, s (s (s (0))), z) est vrai pour certains z ((les quelque z est z 'et dans le plus (0, s (s (s (0))), z') est z 'non z))) ?? – aseed
Oui, désolé. J'ai corrigé la réponse. –