All Prolog Programs¶
Hello World¶
:- initialization(main).
main :- write('Hello World!').
Knowledge Base 1¶
girl(priya).
girl(tiyasha).
girl(jaya).
can_cook(priya).
Knowledge Base 2¶
sing_a_song(ananya). %fact
listens_to_music(rohit). %fact
listens_to_music(ananya) :- sing_a_song(ananya). %rule
happy(ananya) :- sing_a_song(ananya). %rule
happy(rohit) :- listens_to_music(rohit). %rule
playes_guitar(rohit) :- listens_to_music(rohit). %rule
Knowledge Base 3¶
can_cook(priya).
can_cook(jaya).
can_cook(tiyasha).
likes(priya,jaya) :- can_cook(jaya).
likes(priya,tiyasha) :- can_cook(tiyasha).
Family Tree¶
female(pam).
female(liz).
female(pat).
female(ann).
male(jim).
male(bob).
male(tom).
male(peter).
parent(pam,bob).
parent(tom,bob).
parent(tom,liz).
parent(bob,ann).
parent(bob,pat).
parent(pat,jim).
parent(bob,peter).
parent(peter,jim).
mother(X,Y):- parent(X,Y),female(X).
father(X,Y):- parent(X,Y),male(X).
haschild(X):- parent(X,_).
sister(X,Y):- parent(Z,X),parent(Z,Y),female(X),X\==Y.
brother(X,Y):-parent(Z,X),parent(Z,Y),male(X),X\==Y.
Loops¶
count_to_10(10) :- write(10),nl.count_to_10(X) :- write(X),nl, Y is X + 1, count_to_10(Y).
count_down(L, H) :- between(L, H, Y), Z is H - Y, write(Z), nl.
count_up(L, H) :- between(L, H, Y), Z is L + Y, write(Z), nl.