Prolog installieren

Installiert SWI Prolog

Perl installieren

Installiert Perl. Auf Unix oder Mac OS X Systemen ist Perl wahrscheinlich schon installiert.

Otter und Mace2 installieren

Ladet Otter und Mace2 herunter und entpackt es.

Pfadvariablen anlegen

Fügt den Pfad zum bin Ordner aus dem Otter und Mace2 package das ihr gerade heruntergeladen habt zu eurer Umgebungsvariable Path hinzu.

Curt downloaden

Mit den Dateien der Buchwebsite lässt sich Curt nicht ohne weiteres starten. Ladet stattdessen den Curt Code von der Kurswebsite. Unter Windows auf den Unirechnern legt den Code bitte in einen Ordner “Curt” direkt auf “C”.

callInference.pl anpassen

In callInferences.pl findet ihr unter den Modulen einen Abschnitt namens “Set file path”. Gebt dort, den Kommentaren entsprechend, den Pfad zu dem directory in dem callInferences.pl liegt, an. Überprüft auch, dass ihr den korrekten Codeabschnitt für euer Betriebssystem benutzt.

Tests

Konsultiert callInferences.pl .

Theorem Prover Tests

Die Theorem Prover Tests startet ihr mit ?- tpTestSuite..
Der Output sollte in etwa so aussehen:

Input formula: imp(all(_G303, p(_G303)), p(c))
Status: theorem
Inference engine otter says: theorem

Achtet dabei besonders auf die dritte Zeile. Falls hier “Inference engine unknown says: unknown” steht, gibt es ein Problem.

Model Builder Tests

Die Model Builder Tests startet ihr mit >- mbTestSuite..
Der Output sollte in etwa so aussehen:

Input formula: imp(all(_G315, p(_G315)), p(c))
Status: theorem
Inference engine mace says: D=[d1]
f(0, c, d1)
f(1, p, [])
f(0, c1, d1)

Auch hier solltet ihr darauf achten, dass in der dritten Zeile nicht “Inference engine unknown says: unknown” steht.

Theorem Prover und Model Builder Tests

Mit >- tpmbTestSuite könnt ihr Tests für Theorem Prover und Model Builder starten. Im Output wird hier machnmal nur “mace” oder “otter” stehen, es kann aber auch sein, dass beide Programme zusammen das Problem lösen, dann sollte im Output “maceotter” stehen.

Mit Curt sprechen

Ladet eines der Curt Programme (babyCurt, cleverCurt, helpfulCurt, knowledgeableCurt, rugartCurt, scrupulousCurt oder sensitiveCurt). babyCurt und rugartCurt verwenden kein Mace oder Otter, die Restlichen jedoch schon.
Um ein Gespräch mit Curt starter ihr mit >- curt.
Ihr könnt natürlichsprachige Sätze verwenden. Curt antwortet mit
* OK, falls der Satz für ihn Sinn macht
* what?, falls er ihn nicht auswerten kann
* No! I do not believe that!, falls er einen Widerspruch erkennt.
Testet ob Curt funktioniert, indem ihr ihm zuerst “Mia smokes” und dann “Mia does not smoke” sagt. Bei der zweiten Aussage sollte er einen Widerspruch erkennen.