- Starte den SWi-Prolog-Editor.
- Öffne eine neue Datei und speichere sie z.B. unter dem Namen p1.pl ab.
- Schreibe in die Datei den Fakt
es_regnet.
- Consultiere das Programm mit F9 (im Programm steckt Wissen, das das System erfragt).
Das System, die Wissensbasis kennt jetzt den Fakt.
- Gib im Anfrage-Fenster (am Prompt ?- )
?- es_regnet.
ein. Das System antwortet mit Yes. Das System hält den Fakt es_regnet für wahr.
- Fragt man das Sytem, ob die Straße nass ist
?- strasse_nass.
, so lautet die Antwort 'ERROR: Undefined procedure: strasse_nass/0'. Dh. das System kennt den Bezeichner
'strasse_nass' nicht.
- Erweitere das Prolog-Programm um die Regel
strasse_nass :- es_regnet.
und consultiere neu. Das Symbol :- steht eigentlich für den Folgepfeil <=.
- Frage nun das System erneut, ob die Straße nass ist
?- strasse_nass.
Yes
Jetzt lautet die Antwort 'ja'. Das System hat aus einem Fakt mit Hilfe einer Regel einen weiteren
Fakt hergeleitet.
- Das System soll einige Farben lernen. Gib also ein
farbe(rot).
farbe(orange).
farbe(gelb).
farbe(gruen).
farbe(blau).
farbe(violett).
ein und consultiere. farbe/1 ist ein einstelliges Prädikat. rot, orange,... sind Konstanten.
- Stelle die Frage '?- farbe(lila).' .
- Auf die Frage '?- farbe(X).' gibt das System die Antwort
?- farbe(X).
X = rot ;
X = orange ;
X = gelb ;
X = gruen ;
X = blau ;
X = violett ;
No
, dh. es werden nacheinander alle Belegungen der (großgeschriebenen) Variablen X ausgegeben, die die Anfrage
wahr machen. Erst als keine weitere Belegung zur Verfügung steht, erfolgt die Antwort No.
- Will man ausdrücken, dass Wolfgang Christines Vater ist, so könnte man dem System mitteilen:
vater(wolfgang,christine).
vater/2 ist dann ein zweistelliges Prädikat. Beachte, dass die Konstanten 'wolfgang' und 'christine'
kleingeschrieben werden müssen, damit sie nicht mit Variablen verwechselt werden.