Oh ja, hast recht Klotzkopp. swi-prolog-editor hat mir einmal 4 Lösungen gezeigt und ein anderes mal 3 Lösungen. Keine Ahnung warum.
So, ich denke, ich hab verstanden wie prolog zu den Lösungen kommt. Vielen Dank euch beide. Klotzkopp, deine Schreibweise hat mir sehr geholfen, so habe ich besser verfolgen können, was das Programm macht.
Zur Kontrolle, hier nochmal 4 Aufgaben, die ich gerade selbständig gelöst habe. Habe die noch nicht mit swi-prolog-editor-Lösungen verglichen. Der zeigt mir Lösungen, kann mir aber nicht sagen warum. Deshalb, wünsche ich mir erstmal euere Meinungen.
Aufgabe 1
a(2) :- b.
a(3).
b :- c(_).
b(1).
c(1).
c(4).
Lösung dazu:
?- a(X).
X=2;
X=2;
X=2;
X=3.
Aufgabe 2
a(2) :- b(_).
a(3).
b :- c(_).
b(1).
c(1).
c(4).
Lösung dazu:
?- a(X).
X=2;
X=3.
Aufgabe 3
a(2) :- b.
a(3).
b :- c(_),!.
b(1).
c(1).
c(4).
Lösung dazu:
?- a(X).
X=2;
X=3.
ich glaube a(2) <- b <- c(_) liefert keine Lösungen, weil da das Programm gestoppt wird (durch !/cut)
Aufgabe 4
a(2) :- b.
a(3).
b :- c(_),!,d(_).
b.
c(1).
c(4).
d(1).
d(2).
Lösung dazu:
?- a(X).
X=2;
X=3.
Der Rest wird gestoppt.
STIMMT ALLES SO?