true. :-false. neg_a:-true. b:-ap(n2). ap(n2):-ok(n2),neg_a,not c. ap(n3):-ok(n3),not b. ok(X):-name(X),oko(X,n2),oko(X,n3). c:-ap(n3). bl(n2):-ok(n2),not neg_a. bl(n2):-ok(n2),c. bl(n3):-ok(n3),b. prec(n3,n2):-not d. 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). 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). false:-a,neg_a. false:-b,neg_b. false:-c,neg_c. false:-name(X),name(Y),prec(X,Y),neg_prec(X,Y). false:-d,neg_d. name(n3). name(n2).