🐼 Prolog

Initiation à la Programmation Logique avec le langage Prolog.

🔗 PDF pour l'accès aux vidéos de la rubrique : Prolog

Vidéos

vache(ada).
vache(tara).
vache(sveiney).

taureau(gunnar).
taureau(erik).
taureau(olaf).

parent(ada,tara).
parent(gunnar,tara).
parent(sveiney,olaf).
parent(erik,olaf).
% D est-il le double de N ?
double(D, N) :- D =:= N * 2.
vache(ada).
vache(tara).
vache(sveiney).

taureau(gunnar).
taureau(erik).
taureau(olaf).

parent(ada,tara).
parent(gunnar,tara).
parent(sveiney,olaf).
parent(erik,olaf).

bovin(B) :- vache(B) ; taureau(B). 
vache(ada).
vache(tara).
vache(sveiney).

taureau(gunnar).
taureau(erik).
taureau(olaf).

parent(ada,tara).
parent(gunnar,tara).
parent(sveiney,olaf).
parent(erik,olaf).

mere(M) :- vache(M) , parent(M, _).
vache(ada).
vache(tara).
vache(ona).

taureau(gunnar).
taureau(bjork).
taureau(erik).
taureau(olaf).

parent(ada, tara).
parent(gunnar, tara).
parent(ona, olaf).
parent(erik, olaf).
parent(ona, bjork).

mere(M) :-
    vache(M),
    parent(M,_).

Fichier : kb.bovins.pl

vache(ada).
vache(tara).
vache(sveiney).

parent(ada,tara).
parent(gunnar,tara).
parent(sveiney,olaf).
parent(erik,olaf).
parent(ada, gustav).
parent(erik, gustav).
somme([E],E):-
    number(E).
somme([E|L],S):-
    number(E),
    somme(L,S1),
    S is E + S1.

Références et ressources