/* le Zebre */ relation(C, N, F, A, B) :- C = [_, bleu, _, _, _], N = [norvegien, _, _, _, _], F = [_, _, _, _, _], A = [_, _, _, _, _], B = [_, _, lait, _, _], meme_position(anglais, rouge, N, C), meme_position(cafe, vert, B, C), meme_position(kool, rouge, F, C), voisin_droit(verte, blanche, C), meme_position(espagnol, chien, N, A), meme_position(ukrainien, the, N, B), meme_position(japonais, craven, N, F), meme_position(old_gold, escargot, F, A), meme_position(gitane, vin, F, B), voisin(chesterfield, renard, F, A), voisin(kool, cheval, F, A) . prop_zebre(P) :- rel(C, N, F, A, B), meme_position(zebre, P, A, N) . buveur_eau(I) :- rel(I, N, F, A, B), meme_position(eau, I, B, A) . voisin_droit voisin(E1, E2, [E1 | _], [_, E2 | _]) . voisin(E1, E2, [E1 | _], [E2 | _]) . voisin(E1, E2, [X | L1], [Y | L2]) :- X \== E1, Y \== E2, voisin(E1, E2, L1, L2) .