This is a hint (Hinweis) text of GUPU taken literally from the system. It's probably not very interesting reading for you.
**NEXT:To continue the guided tour go back where You came from
**NEXT:Continue reading the hints in German (...)

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!


Verbesserung von Prologs prozeduralem Verhalten

Oft können durch das äußerst primitive
Beweisverfahren gewisse Prädikate nicht
zufriedenstellend allgemein implementiert
werden. Etwa, wenn mehrere unendliche
Lösungsmengen vorkommen. Im gewöhnlichen Prolog
sollte man für jene Fälle, in denen das
Aufzählen einer unendlichen Lösungsmenge
unerwünscht ist, Fehler melden. (Vgl.Kapitel 13
im Skriptum).

Aus diesem Grund gibt es (in manchen
Prologsystemen, wie dem hier verwendeten)
Erweiterung, die Prologs simple Beweistrategie
verfeinern.

Gelegentlich, vor allem bei Prädikaten, die auf
Listen arbeiten, ist es sinnvoll, den Beweis
eines Ziels aufzuschieben, und statt dessen
andere Ziele zu beweisen.

Durch die folgende Block- (oder wait)
Deklaration wird gesagt, daß ein Ziel eines
Prädikats aufgeschoben werden soll, wenn jene
Argumente, die mit einem - gekennzeichnet sind,
noch freie Variablen sind.

:- block natürliche_zahl(-).

Probieren Sie nun die ursprüngliche Version!
Beachten Sie bitte, daß eine Blockdeklaration
direkt vor einem Prädikat (ohne Leerzeile
dazwischen) angegeben werden muß.

Dadurch, daß Ziele aufgeschoben werden, kann es
natürlich passieren, daß manche Ziele bis
zuletzt nicht bewiesen werden, und auch nicht
bewiesen werden könnten. Eine Anfrage wird dann
zwar erfolgreich sein, (und insofern ist das
Beweisverfahren dadurch inkorrekt), man muß nun
aber die Antwort-,,substitution`` genauer
betrachten. Wenn es nun eine
Antwortsubstitution mit aufgeschobenen
Zielen gibt, so muß man diese etwas
differenzierter betrachten. Etwa:

:- natürliche_zahl(N).

        \hinweis{PrologAllgemein}
Zurück: \hinweis{init}

**NEXT:To continue the guided tour go back where You came from
**NEXT:Continue reading the hints in German