ROZDZIAŁ 1. PODSTAWY
?- ciezszy(arbuz,X).
X = pomarańcz [;]
X = jabłko [;]
X = mandarynka [;]
X = winogrono [;]
ERROR: Out of local stack
Po wyświetleniu każdej z możliwości, Prolog czeka na naszą decyzję: naciśnięcie ENTER oznacza zakończenie poszukiwania alternatywnych odpowiedzi, średnik (;) oznacza kontynuowanie poszukiwania. Niemiły komunikat pojawiający się na końcu3 należy w tym przypadku odczytać jako nie wiadomo nic o innych możliwościach (obiektach). Symbol średnika (;), zgodnie z intuicją, czytamy jako lub (OR). Z operatorów logicznych możemy skorzystać także podczas formułowania zapytania, np. czy istnieją owoce X, Y takie, że arbuz jest cięższy od X i jednocześnie X jest cięższy od Y:
?- ciezszy(arbuz,X),ciezszy(X,Y).
X = pomarańcz,
Y = jabłko [;]
X = pomarańcz,
Y = mandarynka [ENTER]
Yes
1.3.1 Struktura i składnia
Wiedząc już jak należy rozumieć pojęcie obiektu i reguł go opisujących, możemy spróbować w bardziej kompletny sposób przedstawić strukturę i składnię programu Prologowego.
Przede wszystkim, powtórzmy to jeszcze raz, programowanie w Prologu polega na „definiowaniu” obiektów i określaniu wiążących ich relacji. Zatem przystępując do rozwiązania jakiegoś problemu musimy bardzo uważnie się zastanowić
1. z jakimi obiektami mamy do czynienia,
2. jakie relacje (związki) łączą wytypowane przez nas obiekty.
Musimy przy tym zdawać sobie jasno sprawę z kilku faktów.
1. Z punktu widzenia języka, obiekty nie są rozróżnialne semantycznie. Oznacza to, że obiekt słoń i słonia w poniższych faktach
'Pomijamy na tym etapie powód jego pojawienia się.