(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)). /*~ ~*/ a(X) ==> c(X). /*~ ~*/ most(c(X) ==> b(X)) . /*~ ~*/ a(1). /*~ ~*/ :- listing([a/1,b/1,c/1,(==>)/2,most/1,'$pt','$nt','$bt']). /*~ %~ skipped( listing( [ a/1, b/1,c/1,(==>)/2,most/1,'$pt', %~ '$nt','$bt'])) ~*/ :- mpred_test(b(1)). /*~ %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/df_01.pfc:65 %~ ?-( mpred_test("Test_0001_Line_0000__b_1_in_user",user:b(1))). passed=info( goal=user:b(1). time=0.0005300045013427734. 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. ]]>