Désolé, je remonte un topic vieux de 3 ans ! (je l'ai trouvé après une recherche à propos de "prolog" ).
Je n'ai pas essayé le petit script, mais une erreur saute aux yeux :
dark(Z) :- black(Z).
scary(Z) :- dark(Z), habitat(Z,forest), big(Z).
dark(Z) :- brown(Z).
|
Quand on met deux faits ayant même foncteur (de même arité) à la suite, on a un "ou" entre les deux règles. Mais il faut que les deux règles se suivent...
Il faudrait écrire :
dark(Z) :- black(Z).
dark(Z) :- brown(Z).
scary(Z) :- dark(Z), habitat(Z,forest), big(Z).
|
Ainsi, on a : Quelque soit Z, si black(Z) ou brown(Z) alors dark(Z).
Le reste me semble correct, mais j'ai la flemme d'essayer.. D'autant que l'auteur du topic est certainement devenu mille fois plus expérimenté que moi en porolog, et, s'il existe encore, rira en revoyant cet ancien sujet...