% toute variable apparait en position positive: que des clause sures % pas d'interaction entre negation et recursion dans la 3e question: %negation stratifiable. le programme fonctionne % IIIa connaissance_commune(X,Y):-connait(X,Z),connait(Y,Z). %IIIb connait_indirectement(X,Y):-connait(X,Y). connait_indirectement(X,Y):-connait_indirectement(X,Z),connait_indirectement(Z,Y). % 2e clause, alternative connait_indirectement(X,Y):-connait_(X,Z),connait_indirectement(Z,Y). %IIIc connait_bof(X,Y):-connait(X,Y), not(apprecie(X,Y)). connait_bof(X,Y):-connait(X,Z),not(apprecie(X,Z)),connait_bof(Z,Y).