Ich versuche, alle Fakten zu drucken, um eine Abfrage Lösung zu erhalten, und ich hoffe, nichts zu drucken, wenn die Vereinigung fehlgeschlagen ist. Also schreibe ich diese:Wie erhalten Sie alle Fakten, um eine Abfrage Lösung in Prolog zu bekommen?
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).
Allerdings, wenn ich a.
abfragen, ich habe die folgende Ausgabe leider:
d
d->b
d
d->b
d
b^d->a
true.
Jemand scheint mir zu sagen, dass Prolog verfügt über einen eingebauten in machanism alle zeigen die Fakten verwendet, um eine Abfrage durchzuführen. Ist er wahr? Wie kann ich die richtige Ausgabe erhalten?