Abstract I

Arithmetik

Arithmetische Ausdrücke in Prolog bestehen aus Zahlen und arithmetischen Funktionsnamen. Sie werden vom Interpreter aber nicht automatisch evaluiert, d.h. als Zahlenwert berechnet. Soll der Wert arithmetischer Ausdrücke berechnet werden, verwendet man das zweistellige Prädikat is/2. Es besteht aus zwei Argumenten und einem Operator, wobei ein Argument zwingend aus einer Variable bestehen muss. Der Wert des zu berechnenden Ausdrucks wird dann an diese Variable gebunden. Prolog versteht auch die üblichen Klammerweglass-Konventionen, d.h.
?- 2*3+4=2*(3+4).
no

aber:
?-2*3+4=(2*3)+4.
yes
.
Arithmetische Vergleichsprädikate wie “kleiner als” (=<), “gleich” (=:=) und “ungleich” (=\=) können in Prolog verwendet werden. Sie evaluieren beim Beweisen implizit ihre Argumente. Im Moment des Evaluierens darf keines der Argumente eine ungebundene Variable sein oder enthalten.

Abstract II

Im Unterschied zu anderen Programmiersprachen, müssen arithmetische Ausdrücke in Prolog explizit evaluiert werden. So kann mit dem Prädikat is/2 der Wert eines arithmetischen Ausdrucks berechnet werden.
Prolog verwendet die gängigen mathematischen Operatoren, wie +, -, *, / etc., wobei Prolog sowohl die üblichen Präzedenz-, als auch Assoziativitätsgesetze versteht.
Neben den mathematischen Operatoren verwendet Prolog noch arithmetische Vergleichsprädikate wie „grösser oder gleich“, „kleiner als“ usw.; diese nehmen entweder den Wert „wahr“ oder „falsch“ an. Des weiteren lassen sich mittels diesen Vergleichsprädikaten auch implizite Evaluationen als Anfragen formulieren.