(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). /*~ ~*/ a(2). /*~ ~*/ :- listing([a/1,b/1,c/1,(==>)/2,most/1,pt,nt,bct]). /*~ %~ skipped( listing( [ a/1, b/1,c/1,(==>)/2,most/1,pt, %~ nt,bct])) ~*/ :- mpred_test( \+ ~ b(1) ). /*~ %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/df_03.pfc:65 %~ ?-( mpred_test("Test_0001_Line_0000__naf_b_1_in_user",user:(\+ ~b(1)))). passed=info(why_was_true(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_03-Test_0001_Line_0000__naf_b_1_in_user'. JUNIT_CLASSNAME='logicmoo.pfc.test.sanity_base.DF_03'. JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/lo goal=user: ~b(2). time=0.00045228004455566406. failure=failure=info((why_was_true(user:(\+ ~b(2))),nop(ftrace(user: ~b(2))))) no_proof_for(\+ ~b(2)). no_proof_for(\+ ~b(2)). no_proof_for(\+ ~b(2)). result=failure. ]]>