Prolog

SWI-Prolog

Základní povely

Notace fakt

tohleJeFakt.
tohleTaky(parametr1,parametr2,...,parametrN).
fakt /* a /* zanoreny */ komentar */ .

Proměnné

?- kamaradi(vincenc,X).
X = kvido ; (; = uživatel není spokojený s výsledkem)
X = ferenc. (. = není další možnost)

Databáze s pravidly

Disjunkce

clovek(X) :- zena(X).
clovek(X) :- muz(X).

Konjunkce

Termy - základní stavební kameny

Atomy

Čísla

?- 4 =:= 3+1
true
?- A is 2*3
A = 6.

Strukturované termy

Arita

Unifikace

Operátor =/2

Výsledek unifikace

Kontrola sebe výskytu

Seznamy

Anonymní proměnná

Od funkcí k relacím

Funkce na seznamech

Syntaktická ekvivalence - operátor ==

?- 4 == 3+1
false.

?- 3+1 == 3+1
true.

Aritmetika

Typy

Řezy

Operátor !/0

Upnutí

Prořezání

při řešní podcíle, při operátoru ! se předchozí unifikace fixují

Zelené řezy

Červené řezy