true. :-false. perfected:-ap(ucc). neg_perfected:-ap(sma). ap(ucc):-ok(ucc),possession,not neg_perfected. ap(sma):-ok(sma),ship,neg_finstatement,not perfected. ap(lex_posterior_sma_ucc):-ok(lex_posterior_sma_ucc),newer(ucc,sma),not neg_prec(sma,ucc). ap(lex_superior_ucc_sma):-ok(lex_superior_ucc_sma),state_law(ucc),federal_law(sma),not neg_prec(ucc,sma). ok(X):-name(X),oko(X,ucc),oko(X,sma),oko(X,lex_posterior_sma_ucc),oko(X,lex_superior_ucc_sma). possession:-true. bl(ucc):-ok(ucc),not possession. bl(ucc):-ok(ucc),neg_perfected. bl(sma):-ok(sma),not ship. bl(sma):-ok(sma),not neg_finstatement. bl(sma):-ok(sma),perfected. bl(lex_posterior_sma_ucc):-ok(lex_posterior_sma_ucc),not newer(ucc,sma). bl(lex_posterior_sma_ucc):-ok(lex_posterior_sma_ucc),neg_prec(sma,ucc). bl(lex_superior_ucc_sma):-ok(lex_superior_ucc_sma),not state_law(ucc). bl(lex_superior_ucc_sma):-ok(lex_superior_ucc_sma),not federal_law(sma). bl(lex_superior_ucc_sma):-ok(lex_superior_ucc_sma),neg_prec(ucc,sma). ship:-true. neg_finstatement:-true. prec(sma,ucc):-ap(lex_posterior_sma_ucc). prec(ucc,sma):-ap(lex_superior_ucc_sma). prec(lex_posterior_sma_ucc,lex_superior_ucc_sma):-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). newer(ucc,sma):-true. state_law(ucc):-true. federal_law(sma):-true. 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:-perfected,neg_perfected. false:-possession,neg_possession. false:-ship,neg_ship. false:-finstatement,neg_finstatement. false:-name(X),name(Y),prec(X,Y),neg_prec(X,Y). false:-newer(X,Y),neg_newer(X,Y). false:-state_law(X),neg_state_law(X). false:-federal_law(X),neg_federal_law(X). name(lex_superior_ucc_sma). name(lex_posterior_sma_ucc). name(sma). name(ucc).