house(H1) & house(H2). % intractive_test/1 means only run if interactive /*~ %~ kifm = ( leftof(House_Leftof,House_Leftof3) => %~ house(House_Leftof)&house(House_Leftof3)). %~ kifm = ( leftof(House_Leftof8,House_Leftof9) => %~ house(House_Leftof8)&house(House_Leftof9)). %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('House_Leftof8'),'$VAR'('House_Leftof9')),and(house('$VAR'('House_Leftof8')),house('$VAR'('House_Leftof9')))) %~ debugm(user,show_success(user,user:ain(clif((leftof(_1448712,_1448734)=>house(_1448712)&house(_1448734)))))) ======================================================= =>(leftof('$VAR'('House_Leftof'),'$VAR'('House_Leftof3')),&(house('$VAR'('House_Leftof')),house('$VAR'('House_Leftof3')))) ============================================ ?- kif_to_boxlog( leftof(House_Leftof,House_Leftof3)=>house(House_Leftof)&house(House_Leftof3) ). % In English: %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ If: %~ ?House_Leftof leftof ?House_Leftof3 then it is %~ Implied that: %~ " ?House_Leftof isa house " and %~ " ?House_Leftof3 isa house " %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ kifm = ( leftof(House_Leftof,House_Leftof3) => %~ house(House_Leftof)&house(House_Leftof3)). %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('House_Leftof'),'$VAR'('House_Leftof3')),and(house('$VAR'('House_Leftof')),house('$VAR'('House_Leftof3')))) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results in the following 6 entailment(s): nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof))==>nesc(~house(House_Leftof3)). nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof3))==>nesc(~house(House_Leftof)). nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof))==>nesc(house(House_Leftof3)). nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof3))==>nesc(house(House_Leftof)). poss(house(House_Leftof))&nesc(~house(House_Leftof3))==>nesc(~leftof(House_Leftof,House_Leftof3)). poss(house(House_Leftof3))&nesc(~house(House_Leftof))==>nesc(~leftof(House_Leftof,House_Leftof3)). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and %~ " ?House_Leftof isa house " is necessarily false %~ It's Proof that: %~ " ?House_Leftof3 isa house " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof)) ==> nesc( ~( house(House_Leftof3)))). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and %~ " ?House_Leftof3 isa house " is necessarily false %~ It's Proof that: %~ " ?House_Leftof isa house " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof3)) ==> nesc( ~( house(House_Leftof)))). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and %~ " ?House_Leftof isa house " is possible %~ It's Proof that: %~ " ?House_Leftof3 isa house " is necessarily true %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof)) ==> nesc( house(House_Leftof3))). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and %~ " ?House_Leftof3 isa house " is possible %~ It's Proof that: %~ " ?House_Leftof isa house " is necessarily true %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof3)) ==> nesc( house(House_Leftof))). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof isa house " is possible and %~ " ?House_Leftof3 isa house " is necessarily false %~ It's Proof that: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( poss(house(House_Leftof))&nesc(~house(House_Leftof3)) ==> nesc( ~( leftof(House_Leftof,House_Leftof3)))). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?House_Leftof3 isa house " is possible and %~ " ?House_Leftof isa house " is necessarily false %~ It's Proof that: %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ( poss(house(House_Leftof3))&nesc(~house(House_Leftof)) ==> nesc( ~( leftof(House_Leftof,House_Leftof3)))). ============================================ %~ kifm = leftof(H1,H2)=>house(H1)&house(H2). %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('H1'),'$VAR'('H2')),and(house('$VAR'('H1')),house('$VAR'('H2')))) %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H2 isa house " is possible and %~ " ?H1 isa house " is necessarily false %~ It's Proof that: %~ " ?H1 leftof ?H2 " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% poss(house(H2))&nesc(~house(H1))==>nesc(~leftof(H1,H2)). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H1 leftof ?H2 " is necessarily true and %~ " ?H1 isa house " is necessarily false %~ It's Proof that: %~ " ?H2 isa house " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nesc(leftof(H1,H2))&nesc(~house(H1))==>nesc(~house(H2)). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H1 leftof ?H2 " is necessarily true and %~ " ?H2 isa house " is possible %~ It's Proof that: %~ " ?H1 isa house " is necessarily true %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nesc(leftof(H1,H2))&poss(house(H2))==>nesc(house(H1)). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H1 isa house " is possible and %~ " ?H2 isa house " is necessarily false %~ It's Proof that: %~ " ?H1 leftof ?H2 " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% poss(house(H1))&nesc(~house(H2))==>nesc(~leftof(H1,H2)). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H1 leftof ?H2 " is necessarily true and %~ " ?H2 isa house " is necessarily false %~ It's Proof that: %~ " ?H1 isa house " is necessarily false %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nesc(leftof(H1,H2))&nesc(~house(H2))==>nesc(~house(H1)). % AND %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %~ Whenever: %~ " ?H1 leftof ?H2 " is necessarily true and %~ " ?H1 isa house " is possible %~ It's Proof that: %~ " ?H2 isa house " is necessarily true %~ %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nesc(leftof(H1,H2))&poss(house(H1))==>nesc(house(H2)). ~*/ % intractive_test/1 means only run if interactive :- interactive_test(listing(kif_show)). % mpred_test/1 each become a Junit test that must succeed /*~ %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_type_01.pl:38 %~ message_hook( %~ error(existence_error(procedure,interactive_test/1),context(system:catch/3,Context_Kw)), %~ error, %~ [ '~q/~w: '-[catch,3], %~ 'Unknown procedure: ~q' - [ interactive_test/1]]) catch/3: Unknown procedure: interactive_test/1 ERROR: catch/3: Unknown procedure: interactive_test/1 %~ message_hook( %~ goal_failed(directive,user:interactive_test(listing(kif_show))), %~ warning, %~ [ 'Goal (~w) failed: ~p' - [ directive, %~ user : interactive_test( listing(kif_show))]]) Goal (directive) failed: user:interactive_test(listing(kif_show)) Warning: Goal (directive) failed: user:interactive_test(listing(kif_show)) ~*/ % mpred_test/1 each become a Junit test that must succeed :- mpred_test(listing(nesc)). % ensure our rule worked /*~ %~ ?-( mpred_test("Test_0001_Line_0000__Nesc_in_user",user:listing(nesc))). :- dynamic nesc/1. :- multifile nesc/1. :- public nesc/1. :- module_transparent nesc/1. nesc(A) :- zwc, nesc_lc(baseKB, A). nesc(leftof(h1, h2)). nesc(leftof(h2, h3)). nesc(leftof(h3, h4)). nesc(leftof(h4, h5)). nesc(house(h1)). nesc(house(h2)). nesc(house(h3)). nesc(house(h4)). nesc(house(h5)). :- public kbe:nesc/2. :- module_transparent kbe:nesc/2. kbe:nesc(_, isNamed(A, B)) :- !, isNamed_impl(A, B), !. kbe:nesc(A, B) :- swc, first_of([ (loop_check_term(A:proven_tru(B), info(A:proven_tru(B), 'common_logic_exists.pl':318), fail), nop(nrlc0(call(call, \+A:proven_neg(B))))), (A:proven_helper(B), \+A:proven_helper(~B)), A:skolem_tru(B) ]). passed=info(why_was_true(user:listing(nesc))) no_proof_for(listing(nesc)). :- dynamic nesc/1. :- multifile nesc/1. :- public nesc/1. :- module_transparent nesc/1. nesc(A) :- zwc, nesc_lc(baseKB, A). nesc(leftof(h1, h2)). nesc(leftof(h2, h3)). nesc(leftof(h3, h4)). nesc(leftof(h4, h5)). nesc(house(h1)). nesc(house(h2)). nesc(house(h3)). nesc(house(h4)). nesc(house(h5)). :- public kbe:nesc/2. :- module_transparent kbe:nesc/2. kbe:nesc(_, isNamed(A, B)) :- !, isNamed_impl(A, B), !. kbe:nesc(A, B) :- swc, first_of([ (loop_check_term(A:proven_tru(B), info(A:proven_tru(B), 'common_logic_exists.pl':318), fail), nop(nrlc0(call(call, \+A:proven_neg(B))))), (A:proven_helper(B), \+A:proven_helper(~B)), A:skolem_tru(B) ]). no_proof_for(listing(nesc)). no_proof_for(listing(nesc)). name='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01-Test_0001_Line_0000__Nesc_in_user'. JUNIT_CLASSNAME='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01'. JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'five_leftof_type_01.pl\']"'. % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_fiveof_FIVE_LEFTOF_TYPE_01_Test_0001_Line_0000_Nesc_in_user-junit.xml ~*/ % ensure our rule worked :- mpred_test((house(h1))). /*~ %~ ?-( mpred_test("Test_0002_Line_0000__H1_in_user",user:house(h1))). passed=info(why_was_true(user:house(h1))) no_proof_for(house(h1)). no_proof_for(house(h1)). no_proof_for(house(h1)). name='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01-Test_0002_Line_0000__H1_in_user'. JUNIT_CLASSNAME='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01'. JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'five_leftof_type_01.pl\']"'. % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_fiveof_FIVE_LEFTOF_TYPE_01_Test_0002_Line_0000_H1_in_user-junit.xml ~*/ :- mpred_test((house(h2))). /*~ %~ ?-( mpred_test("Test_0003_Line_0000__H2_in_user",user:house(h2))). passed=info(why_was_true(user:house(h2))) no_proof_for(house(h2)). no_proof_for(house(h2)). no_proof_for(house(h2)). name='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01-Test_0003_Line_0000__H2_in_user'. JUNIT_CLASSNAME='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01'. JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'five_leftof_type_01.pl\']"'. % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_fiveof_FIVE_LEFTOF_TYPE_01_Test_0003_Line_0000_H2_in_user-junit.xml ~*/ :- mpred_test((house(h3))). /*~ %~ ?-( mpred_test("Test_0004_Line_0000__H3_in_user",user:house(h3))). passed=info(why_was_true(user:house(h3))) no_proof_for(house(h3)). no_proof_for(house(h3)). no_proof_for(house(h3)). name='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01-Test_0004_Line_0000__H3_in_user'. JUNIT_CLASSNAME='logicmoo.base.fol.fiveof.FIVE_LEFTOF_TYPE_01'. JUNIT_CMD='timeout --foreground --preserve-sta goal=user:house(h5). time=0.0007781982421875. passed=passed=info(why_was_true(user:house(h5))) no_proof_for(house(h5)). no_proof_for(house(h5)). no_proof_for(house(h5)). result=passed. ]]>