J'essaie d'imprimer tous les faits utilisés pour obtenir une solution de requête, et j'espère ne rien imprimer si l'unification échoue. Alors j'écris ceci:Comment obtenir tous les faits utilisés pour obtenir une solution de requête dans Prolog?
a:-
b,c,writeln(b^c->a).
b:-
d,writeln(d->b).
c:-
fail,writeln(e->c).
d:-
writeln(d).
a:-
b,d,writeln(b^d->a).
Cependant, quand je fais une recherche a.
, je suis la sortie suivante tristement:
d
d->b
d
d->b
d
b^d->a
true.
Quelqu'un semble me dire que Prolog a intégré machanism pour afficher tous les faits utilisés pour faire une requête. Est-il vrai? Comment puis-je obtenir la bonne sortie?