true. :-false. goto_theatre:-ap(theatre). neg_goto_theatre:-ap(nights1). neg_goto_theatre:-closed_theatre. ap(theatre):-ok(theatre),not neg_goto_theatre,not closed_theatre. ap(night_club):-ok(night_club),not neg_goto_night_club,not closed_night_club. ap(nights1):-ok(nights1),goto_night_club,not party_night. ap(nights2):-ok(nights2),goto_theatre,not party_night. ap(invitation):-ok(invitation),not neg_jim_invites_jane. ok(X):-name(X),oko(X,theatre),oko(X,night_club),oko(X,nights1),oko(X,nights2),oko(X,invitation). bl(theatre):-ok(theatre),neg_goto_theatre. bl(theatre):-ok(theatre),closed_theatre. bl(night_club):-ok(night_club),neg_goto_night_club. bl(night_club):-ok(night_club),closed_night_club. bl(nights1):-ok(nights1),not goto_night_club. bl(nights1):-ok(nights1),party_night. bl(nights2):-ok(nights2),not goto_theatre. bl(nights2):-ok(nights2),party_night. bl(invitation):-ok(invitation),neg_jim_invites_jane. goto_night_club:-ap(night_club). neg_goto_night_club:-ap(nights2). party_night:-saturday. prec(theatre,night_club):-jim_invites_jane,not neg_prec(theatre,night_club). prec(night_club,theatre):-jane_invites_jim,not neg_prec(night_club,theatre). prec(theatre,invitation):-true. prec(night_club,invitation):-true. 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). jim_invites_jane:-ap(invitation). neg_jim_invites_jane:-jane_invites_jim. jane_invites_jim:-jims_birthday. neg_jane_invites_jim:-jim_invites_jane. 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:-goto_theatre,neg_goto_theatre. false:-closed_theatre,neg_closed_theatre. false:-goto_night_club,neg_goto_night_club. false:-closed_night_club,neg_closed_night_club. false:-party_night,neg_party_night. false:-name(X),name(Y),prec(X,Y),neg_prec(X,Y). false:-jim_invites_jane,neg_jim_invites_jane. false:-jane_invites_jim,neg_jane_invites_jim. false:-saturday,neg_saturday. false:-jims_birthday,neg_jims_birthday. name(invitation). name(nights2). name(nights1). name(night_club). name(theatre).