(Q Q)/nonvar(Q) ==> (((P ==> most(Q)))). % NEG chaining /*~ ~*/ % NEG chaining most(~Q)/mpred_positive_literal(Q) ==> (( \+ Q ) ==> ~ Q ). % POS chaining 1 /*~ ~*/ % POS chaining 1 most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test , (\+ ~ Q)) ==> Q )). % POS chaining 2 /*~ ~*/ % POS chaining 2 most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ((R/( \+(R=Q), Test)) ==> (\+ Q))). % POS chaining 1+2 % most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test ) ==> Q ) ,((R/( \+(R=Q), Test)) ==> (\+ Q))). % most(Q) ==> if_missing(Q,Q). %(most(P=>Q)/(mpred_literal_nv(Q),if_missing_mask(Q,R,Test))) ==> ((P, \+ R/Test) => Q). %(most(P=>Q)/nonvar(Q)) ==> (P => most(Q)). /*~ ~*/ % POS chaining 1+2 % most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test ) ==> Q ) ,((R/( \+(R=Q), Test)) ==> (\+ Q))). % most(Q) ==> if_missing(Q,Q). %(most(P=>Q)/(mpred_literal_nv(Q),if_missing_mask(Q,R,Test))) ==> ((P, \+ R/Test) => Q). %(most(P=>Q)/nonvar(Q)) ==> (P => most(Q)). :-dynamic((a/1,b/1,c/1)). /*~ ~*/ ~b(1). /*~ ~*/ a(X) ==> c(X). /*~ ~*/ most(c(X) ==> b(X)) . /*~ ~*/ a(1). /*~ ~*/ :- mpred_test(~ b(1) ). /*~ %~ ?-( mpred_test("Test_0001_Line_0000__b_1_in_user",user: ~b(1))). failure=info((why_was_true(user:(\+ ~b(1))),nop(ftrace(user: ~b(1))))) no_proof_for(\+ ~b(1)). no_proof_for(\+ ~b(1)). no_proof_for(\+ ~b(1)). name='logicmoo.pfc.test.sanity_base.DF_07-Test_0001_Line_0000__b_1_in_user'. JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.DF_07'. JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'df_07.pfc\']"'. % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-log goal=user:(\+ ~b(1)). time=0.00038313865661621094. passed=passed=info(why_was_true(user:(\+ ~b(1)))) no_proof_for(\+ ~b(1)). no_proof_for(\+ ~b(1)). no_proof_for(\+ ~b(1)). result=passed. ]]>