:-false. domain(tweety). penguin(tweety). bird(tweety). flies(tweety):-ap(1). neg_flies(tweety):-ap(2). ap(1):-ok(1),not neg_flies(tweety),bird(tweety). ap(2):-ok(2),not flies(tweety),penguin(tweety). ok(X):-name(X),oko(X,1),oko(X,2). bl(1):-ok(1),neg_flies(tweety). bl(1):-ok(1),not bird(tweety). bl(2):-ok(2),flies(tweety). bl(2):-ok(2),not penguin(tweety). oko(X,Y):-name(X),name(Y),not prec(X,Y). oko(X,Y):-name(X),name(Y),prec(X,Y),ap(Y). oko(X,Y):-name(X),name(Y),prec(X,Y),bl(Y). neg_prec(Y,X):-name(X),name(Y),prec(X,Y). prec(X,Z):-name(X),name(Z),name(Y),prec(X,Y),prec(Y,Z). false:-domain(X),penguin(X),neg_penguin(X). false:-domain(X),bird(X),neg_bird(X). false:-domain(X),flies(X),neg_flies(X). false:-name(X),name(Y),prec(X,Y),neg_prec(X,Y). name(2). name(1).