Dieser Hinweis ist aus der Übung im WS 1994/95 oder aus einer noch älteren Übung oder war nie Teil einer Übung und ist daher möglicherweise für spätere Übungen nicht gültig!
Mißverständnis bei dem Zahlenpaarbeispiel Hier ist eine falsche Lösung, es wird kurz erklärt, wie man ersehen kann, warum die folgende Lösung völlig falsch ist. zahlenpaar_d_falsch( X, Y) :- natürliche_zahl(X), summe(X, Y, _). §1 Wieviele unendliche Lösungsmengen gibt es hier? Genau eine, durch natürliche_zahl(X). Bei summe/3 wird es stets genau eine Lösung geben, weil ja X durch natürlich(X) an eine konkrete Zahl gebunden worden ist. §2 Wenn man sich summe/3 näher ansieht, so sieht man, daß das 2. Argument nie DIREKT gleich einer Struktur sein muß. Es muß nur (durch das Faktum) gleich dem 3. Argument (bzw. gleich einem Unterterm des 3. Arguments der Anfrage) sein. Und hier in diesem Beispiel ist aber das 3. Argument frei. §3 Sehen wir uns die allgemeinen Lösungen für dieses Prädikat an: :- zahlenpaar_d_falsch(X, Y). @@@ % X = 0. @@@ % X = s(0). @@@ % X = s(s(0)). @@@ % X = s(s(s(0))). @@@ % X = s(s(s(s(0)))). @@@ % Anfrage unterbrochen, Antwort unvollständig Man sieht, Y wird nie gebunden. Also ist auch die Anfrage :- zahlenpaar_d_falsch(X, völlig_deplaziertes_atom). erfolgreich! §4 Allgemein sehen Sie sich bitte zumindest die Antwortsubstitutionen genauer an. Dadurch läßt sich dieser Fehler ja schon erkennen. Zurück: \hinweis{init}