15:54:27 Started by user Douglas Miles 15:54:27 Running as SYSTEM 15:54:27 Building in workspace /var/lib/jenkins/workspace/logicmoo_workspace 15:54:27
Script returned: hudson.model.RunMap$1@50b96573 15:54:28 [logicmoo_workspace] $ /bin/sh -xe /tmp/jenkins1165792700349553645.sh 15:54:28 + ./test_on_release.sh 15:54:28 #* Set logicmoo workspace 15:54:28 #* LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace 15:54:28 #* PATH=/var/lib/jenkins/workspace/logicmoo_workspace/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/var/lib/jenkins/.dotnet/tools 15:54:28 #* DISPLAY= 15:54:28 Finding/Setting LIBJVM... 15:54:28 #* LIBJVM=/usr/lib/jvm/java-17-openjdk-amd64/lib/server 15:54:28 Finding/Setting LD_LIBRARY_PATH... 15:54:28 #* LD_LIBRARY_PATH=/usr/lib/jvm/java-17-openjdk-amd64/lib/server:/usr/local/lib 15:54:28 #* PATH=/var/lib/jenkins/workspace/logicmoo_workspace/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/var/lib/jenkins/.dotnet/tools:/var/lib/jenkins/workspace/logicmoo_workspace/packs_lib/sparqlprog/bin 15:54:28 #* Found ~/.local/share/swi-prolog/pack 15:54:28 Already on 'master' 15:54:28 Your branch is ahead of 'origin/master' by 1 commit. 15:54:28 (use "git push" to publish your local commits) 15:54:28 warning: redirecting to https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace.git/ 15:54:28 From https://logicmoo.org/gitlab/logicmoo/logicmoo_workspace 15:54:28 * branch master -> FETCH_HEAD 15:54:28 Already up to date. 15:54:29 From https://github.com/logicmoo/logicmoo_workspace 15:54:29 * branch master -> FETCH_HEAD 15:54:29 Already up to date. 15:54:30 From https://github.com/logicmoo/logicmoo_workspace 15:54:30 * branch master -> FETCH_HEAD 15:54:30 7db044c1d..7ca50dc94 master -> origin/master 15:54:30 Already up to date. 15:54:32 Everything up-to-date 15:54:32 Running release (all) tests 15:54:32 TESTING_TEMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins 15:54:32 ( cd /var/lib/jenkins/workspace/logicmoo_workspace ; ./test_on_release.sh *0*.* ) 15:54:32 TEST_DIRS=./packs_sys/logicmoo_nlu/test/logicmoo_nlu ./packs_sys/logicmoo_ec/test/ec_planner/ectest ./packs_sys/logicmoo_base/t/examples/fol ./packs_sys/logicmoo_base/t/examples/fol/quick_test ./packs_sys/logicmoo_base/t/examples/fol/fiveof ./packs_sys/logicmoo_agi/t/agi_tests/adv_story ./packs_sys/logicmoo_agi/t/agi_tests/comprehension ./packs_sys/pfc/t/sanity_base ./packs_sys/pfc/t/sanity_base/quick_test 15:54:32 DIRS_SORTED=./packs_sys/logicmoo_agi/t/agi_tests/adv_story ./packs_sys/logicmoo_ec/test/ec_planner/ectest ./packs_sys/logicmoo_agi/t/agi_tests/comprehension ./packs_sys/logicmoo_nlu/test/logicmoo_nlu ./packs_sys/pfc/t/sanity_base ./packs_sys/pfc/t/sanity_base/quick_test ./packs_sys/logicmoo_base/t/examples/fol/quick_test ./packs_sys/logicmoo_base/t/examples/fol/fiveof ./packs_sys/logicmoo_base/t/examples/fol 15:54:32 ./packs_sys/logicmoo_agi/t/agi_tests/adv_story 15:54:32 ./packs_sys/logicmoo_ec/test/ec_planner/ectest 15:54:32 ./packs_sys/logicmoo_agi/t/agi_tests/comprehension 15:54:32 ./packs_sys/logicmoo_nlu/test/logicmoo_nlu 15:54:32 ./packs_sys/pfc/t/sanity_base 15:54:32 ./packs_sys/pfc/t/sanity_base/quick_test 15:54:32 ./packs_sys/logicmoo_base/t/examples/fol/quick_test 15:54:32 ./packs_sys/logicmoo_base/t/examples/fol/fiveof 15:54:32 ./packs_sys/logicmoo_base/t/examples/fol 15:54:32 15:54:32 Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=40s 15:54:32 <!-- PACK_DIR=logicmoo_agi --> 15:54:32 <!-- JUNIT_PACKAGE=logicmoo.agi.agi_test.adv_story --> 15:54:32 <!-- GLOBSTEM=logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:54:32 <!-- TEST_STEM=Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:54:32 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:54:32 <!-- Running release (all) tests 15:54:32 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:54:32 <!-- PACK_DIR=logicmoo_agi --> 15:54:32 <!-- JUNIT_PACKAGE=logicmoo.agi.agi_test.adv_story --> 15:54:32 <!-- GLOBSTEM=logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:54:32 <!-- TEST_STEM=Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:54:32 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:54:32 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:54:32 <!-- test_completed=true --> 15:54:32 <!-- ROLLUP_STEM=Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:54:32 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup.tmp --> 15:54:32 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:54:32 15:54:33 gh: Validation Failed (HTTP 422) 15:54:35 SORTED_FILES=adv_test_02.pl adv_test_01.pl 15:54:35 FileTestCase=logicmoo.agi.agi_test.adv_story.ADV_TEST_02 JUnit 15:54:35 15:54:35 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['adv_test_02.pl']" 15:54:35 15:54:35 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['adv_test_02.pl']") 15:54:35 15:54:35 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_agi/t/agi_tests/adv_story/adv_test_02.pl 15:54:35 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.agi.agi_test.adv_story/ADV_TEST_02/ 15:54:35 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AADV_TEST_02 15:54:35 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/704 15:54:35 15:54:35 15:54:37 %~ init_phase(after_load) 15:54:37 %~ init_phase(restore_state) 15:54:37 % 15:54:37 %~ init_why(after_boot,program) 15:54:37 %~ READONLY PACKAGES 15:54:37 %~ READONLY PACKAGES 15:54:37 %~ READONLY PACKAGES 15:54:37 %~ after_boot. 15:54:37 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:54:37 %~ message_hook_type(warning) 15:54:37 %~ message_hook( 15:54:37 %~ redefined_procedure(static,mu:aXiom/1), 15:54:37 %~ warning, 15:54:37 %~ [ 'Redefined ~w procedure ~p' - [ static, 15:54:37 %~ mu : aXiom/1]]) 15:54:37 %~ source_location('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl',44) 15:54:37 Redefined static procedure mu:(aXiom/1) 15:54:37 Warning: /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:44: 15:54:37 Warning: Redefined static procedure mu:(aXiom/1) 15:54:37 /* ==>>(will_need_touch(Agent,Thing),h(spatial,touchable,Agent,Thing)) */ 15:54:37 %~ will_need_touch(Agent,Thing,A9,B9) :- 15:54:37 %~ 15:54:37 %~ h(spatial,touchable,Agent,Thing,A9,B9). 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:51 15:54:37 %~ will_need_touch(Touchable_Will_need_touch5,Will_need_touch4,Will_need_touch,Touch) :- 15:54:37 %~ 15:54:37 %~ h(spatial,touchable,Touchable_Will_need_touch5,Will_need_touch4,Will_need_touch,Touch). 15:54:37 /* ( will_need_touch(Agent,Thing) ==>> 15:54:37 ( can_sense(Agent,Sense_Agent2,Thing) , 15:54:37 h(spatial,touchable,Agent,Thing))) */ 15:54:37 %~ will_need_touch(Agent,Thing,A9,C9) :- 15:54:37 %~ can_sense(Agent,Sense_Agent2,Thing,A9,B9) , 15:54:37 %~ h(spatial,touchable,Agent,Thing,B9,C9). 15:54:37 :- multifile will_need_touch/4. 15:54:37 15:54:37 /* ( will_need_touch(Source_Agent_Touchable_Will_need_touch,Target_Thing_Touch) ==>> 15:54:37 ( can_sense(Source_Agent_Touchable_Will_need_touch,Can_senseWill_need_touch,Target_Thing_Touch) , 15:54:37 h(spatial,touchable,Source_Agent_Touchable_Will_need_touch,Target_Thing_Touch))) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:59 15:54:37 %~ will_need_touch(Agent_Touchable_Will_need_touch,Thing,A9,C9) :- 15:54:37 %~ can_sense( Agent_Touchable_Will_need_touch, 15:54:37 %~ Can_senseWill_need_touch, Thing,A9,B9) , 15:54:37 %~ h(spatial,touchable,Agent_Touchable_Will_need_touch,Thing,B9,C9). 15:54:37 will_need_touch(Agent, Thing, A, B) :- 15:54:37 can_sense(Agent, _, Thing, A, C), 15:54:37 h(spatial, touchable, Agent, Thing, C, B). 15:54:37 15:54:37 /* ( eVent(Agent,Event) ==>> 15:54:37 send_1percept(Agent,Event),apply_aXioms(Event)) */ 15:54:37 %~ eVent(Agent,Event,A9,C9) :- 15:54:37 %~ send_1percept(Agent,Event,A9,B9) , 15:54:37 %~ must_mw1(apply_aXioms(Event),B9,C9). 15:54:37 /* ( aXiom(Action,_S0,_S9) ::= 15:54:37 xnotrace((\+trival_act(Action),dbug1(aXiom(Action)))),xnotrace(fail)) */ 15:54:37 %~ aXiom(Action,_S0,_S9) :- 15:54:37 %~ xnotrace( \+trival_act(Action),dbug1(aXiom(Action))) , 15:54:37 %~ xnotrace(fail). 15:54:37 /* ==>>(aXiom(Action),aXiom_p1(Action)) */ 15:54:37 %~ aXiom(Action,A9,B9) :- 15:54:37 %~ 15:54:37 %~ aXiom_p1(Action,A9,B9). 15:54:37 /* ==>>(aXiom(Action),aXiom_p2(Action)) */ 15:54:37 %~ aXiom(Action,A9,B9) :- 15:54:37 %~ 15:54:37 %~ aXiom_p2(Action,A9,B9). 15:54:37 /* ==>>(aXiom_p1((P1,P11)),(!,aXiom_p1(P1),aXiom_p1(P11))) */ 15:54:37 %~ aXiom_p1((_4718,_4720),A9,C9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ aXiom_p1(_4718,A9,B9) , 15:54:37 %~ aXiom_p1(_4720,B9,C9). 15:54:37 /* ==>>(aXiom_p1((P1;P11)),(!,(aXiom_p1(P1);aXiom_p1(P11)))) */ 15:54:37 %~ aXiom_p1((_50948;_50950),A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ aXiom_p1(_50948,A9,B9);aXiom_p1(_50950,A9,B9). 15:54:37 /* ==>>(aXiom_p1((P1->P11)),(!,(aXiom_p1(P1)->aXiom_p1(P11)))) */ 15:54:37 %~ aXiom_p1((_35010->_35012),A9,C9) -> 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ aXiom_p1(_35010,A9,B9) -> 15:54:37 %~ 15:54:37 %~ aXiom_p1(_35012,B9,C9). 15:54:37 /* ==>>(aXiom_p1(true),!) */ 15:54:37 %~ aXiom_p1(true,A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ B9=A9. 15:54:37 /* ( aXiom_p1( P1_Xx_c62*->P1;P1_Xx_c621) ==>> 15:54:37 !,(aXiom_p1(P1_Xx_c62)*->aXiom_p1(P1);aXiom_p1(P1_Xx_c621))) */ 15:54:37 %~ aXiom_p1((Xx_c62*->Xx_c622;Xx_c621),A9,C9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ ( aXiom_p1(Xx_c62,A9,B9)*->aXiom_p1(Xx_c622,B9,C9) ; 15:54:37 %~ aXiom_p1(Xx_c621,A9,C9)). 15:54:37 /* ( aXiom_p1( P1_Xx_c623*->P1) ==>> 15:54:37 !,(aXiom_p1(P1_Xx_c623)*->aXiom_p1(P1))) */ 15:54:37 %~ aXiom_p1((Xx_c623*->Xx_c6234),A9,C9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ aXiom_p1(Xx_c623,A9,B9)*->aXiom_p1(Xx_c6234,B9,C9). 15:54:37 /* ( aXiom_p2(Action) ==>> 15:54:37 ( { implications(DoesEvent,Action,Preconds,Postconds), 15:54:37 action_doer(Action,Agent) } , 15:54:37 satisfy_each(preCond(_1),Preconds) , 15:54:37 ( sg(member(failed(Why))),send_1percept(Agent,failed(Action,Why)) ; 15:54:37 satisfy_each(postCond(_2),Postconds),send_1percept(Agent,Action)) , 15:54:37 { episodic_mem(Agent,implications(DoesEvent,Action,Preconds,Postconds)) } , 15:54:37 { dbug1( used_implications(DoesEvent,Action,Preconds,Postconds)) } , 15:54:37 !)) */ 15:54:37 %~ aXiom_p2(Action,A9,I9) :- 15:54:37 %~ implications(DoesEvent,Action,Preconds,Postconds) , 15:54:37 %~ action_doer(Action,Agent) , 15:54:37 %~ H9=A9 , 15:54:37 %~ satisfy_each(preCond(_1),Preconds,H9,G9) , 15:54:37 %~ ( ( sg(member(failed(Why)),G9,F9) , 15:54:37 %~ send_1percept(Agent,failed(Action,Why),F9,E9)) ; 15:54:37 %~ ( satisfy_each(postCond(_2),Postconds,G9,D9) , 15:54:37 %~ send_1percept(Agent,Action,D9,E9))) , 15:54:37 %~ episodic_mem( Agent, 15:54:37 %~ implications(DoesEvent,Action,Preconds,Postconds)) , 15:54:37 %~ C9=E9 , 15:54:37 %~ dbug1( used_implications(DoesEvent,Action,Preconds,Postconds)) , 15:54:37 %~ B9=C9 , 15:54:37 %~ ! , 15:54:37 %~ I9=B9. 15:54:37 /* ( aXiom_p1(Action) ==>> 15:54:37 ( { oper_splitk(Agent,Action,Preconds,Postconds) } , 15:54:37 { dbug1( using_oper_splitk(Agent,Action,Preconds,Postconds)) } , 15:54:37 satisfy_each(preCond(_1),Preconds) , 15:54:37 ( sg(member(failed(Why))),send_1percept(Agent,failed(Action,Why)) ; 15:54:37 ( satisfy_each(postCond(_2),Postconds) , 15:54:37 send_1percept(Agent,success(Action)))) , 15:54:37 { dbug1( used_oper_splitk(Agent,Action,Preconds,Postconds)) } , 15:54:37 !)) */ 15:54:37 %~ aXiom_p1(Action,A9,I9) :- 15:54:37 %~ oper_splitk(Agent,Action,Preconds,Postconds) , 15:54:37 %~ H9=A9 , 15:54:37 %~ dbug1( using_oper_splitk(Agent,Action,Preconds,Postconds)) , 15:54:37 %~ G9=H9 , 15:54:37 %~ satisfy_each(preCond(_1),Preconds,G9,F9) , 15:54:37 %~ ( ( sg(member(failed(Why)),F9,E9) , 15:54:37 %~ send_1percept(Agent,failed(Action,Why),E9,D9)) ; 15:54:37 %~ ( satisfy_each(postCond(_2),Postconds,F9,C9) , 15:54:37 %~ send_1percept(Agent,success(Action),C9,D9))) , 15:54:37 %~ dbug1( used_oper_splitk(Agent,Action,Preconds,Postconds)) , 15:54:37 %~ B9=D9 , 15:54:37 %~ ! , 15:54:37 %~ I9=B9. 15:54:37 /* ( aXiom_p2(Action,S,E) ::= 15:54:37 ( append_termlist(Action,[S,E],ActionSE) , 15:54:37 current_predicate(_26162,mu:ActionSE) , 15:54:37 adv_safe_to_call(ActionSE) , 15:54:37 ! , 15:54:37 call(Action,S,E))) */ 15:54:37 %~ aXiom_p2(Action,S,E) :- 15:54:37 %~ append_termlist(Action,[S,E],ActionSE) , 15:54:37 %~ current_predicate(Kw,mu:ActionSE) , 15:54:37 %~ adv_safe_to_call(ActionSE) , 15:54:37 %~ ! , 15:54:37 %~ call(Action,S,E). 15:54:37 /* ( aXiom_p2(Action,S,E) ::= 15:54:37 ( current_predicate(Kw,mu:Action) , 15:54:37 ! , 15:54:37 adv_safe_to_call(Action) , 15:54:37 call(Action) , 15:54:37 S=E)) */ 15:54:37 %~ aXiom_p2(Action,S,E) :- 15:54:37 %~ current_predicate(Kw,mu:Action) , 15:54:37 %~ ! , 15:54:37 %~ adv_safe_to_call(Action) , 15:54:37 %~ call(Action) , 15:54:37 %~ S=E. 15:54:37 /* ( aXiom_p1(Action) ==>> 15:54:37 ( action_doer(Action,Agent) , 15:54:37 invoke_introspect(Agent,Action,Answer) , 15:54:37 send_1percept(Agent,[answer(Answer),Answer]) , 15:54:37 !)) */ 15:54:37 %~ aXiom_p1(Action,A9,E9) :- 15:54:37 %~ action_doer(Action,Agent,A9,D9) , 15:54:37 %~ invoke_introspect(Agent,Action,Answer,D9,C9) , 15:54:37 %~ send_1percept(Agent,[answer(Answer),Answer],C9,B9) , 15:54:37 %~ ! , 15:54:37 %~ E9=B9. 15:54:37 /* ( aXiom_p1( print_(Agent,Msg)) ==>> 15:54:37 ( h(spatial,descended,Agent,Here) , 15:54:37 queue_local_event(msg_from(Agent,Msg),[Here]))) */ 15:54:37 %~ aXiom_p1(print_(Agent,Msg),A9,C9) :- 15:54:37 %~ h(spatial,descended,Agent,Here,A9,B9) , 15:54:37 %~ queue_local_event(msg_from(Agent,Msg),[Here],B9,C9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(wait,Agent,[]))) ==>> 15:54:37 from_loc(Agent,Here),queue_local_event(time_passes(Agent),Here)) */ 15:54:37 %~ aXiom_p1(attempts(Agent,act3(wait,Agent,[])),A9,C9) :- 15:54:37 %~ from_loc(Agent,Here,A9,B9) , 15:54:37 %~ queue_local_event(time_passes(Agent),Here,B9,C9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(english,Agent,[English]))) ==>> 15:54:37 eng2cmd(Agent,English,Action),add_intent(Agent,Action)) */ 15:54:37 %~ aXiom_p1(attempts(Agent,act3(english,Agent,[English])),A9,C9) :- 15:54:37 %~ eng2cmd(Agent,English,Action,A9,B9) , 15:54:37 %~ add_intent(Agent,Action,B9,C9). 15:54:37 /* ( aXiom_p1( intent_english(Agent,English)) ==>> 15:54:37 !,{assertz(mu_global:console_tokens(Agent,English))}) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:143 15:54:37 %~ aXiom_p1(intent_english(Agent,English),A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ assertz( mu_global : console_tokens(Agent,English)) , 15:54:37 %~ B9=A9. 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(talk,Agent,[Object,Message]))) ==>> 15:54:37 ( can_sense(Agent,audio,Object) , 15:54:37 from_loc(Agent,Here) , 15:54:37 queue_local_event( 15:54:37 [ did( Agent, 15:54:37 act3(talk,Agent,[Here,Object,Message]))], 15:54:37 [Here]))) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:147 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts(Agent,act3(talk,Agent,[Object,Message])), A9,D9) :- 15:54:37 %~ can_sense(Agent,audio,Object,A9,C9) , 15:54:37 %~ from_loc(Agent,Here,C9,B9) , 15:54:37 %~ queue_local_event( 15:54:37 %~ [ did( Agent, 15:54:37 %~ act3(talk,Agent,[Here,Object,Message]))], [Here],B9,D9). 15:54:37 /* ( aXiom_p1( say(Agent,Message)) ==>> 15:54:37 ( from_loc(Agent,Here) , 15:54:37 queue_local_event( 15:54:37 [ did(Agent,act3(talk,Agent,[Here,*,Message]))], 15:54:37 [Here]))) */ 15:54:37 %~ aXiom_p1(say(Agent,Message),A9,C9) :- 15:54:37 %~ from_loc(Agent,Here,A9,B9) , 15:54:37 %~ queue_local_event( 15:54:37 %~ [ did(Agent,act3(talk,Agent,[Here,*,Message]))], [Here],B9,C9). 15:54:37 /* ( aXiom_p1( attempts( Agent, 15:54:37 act3(emote,Agent,[EmoteType,Object,Message]))) ==>> 15:54:37 ( ! , 15:54:37 from_loc(Agent,Here) , 15:54:37 queue_local_event( 15:54:37 [ act3(emote,Agent,[EmoteType,Object,Message])], 15:54:37 [Here]))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(emote,Agent,[EmoteType,Object,Message])), A9,C9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ from_loc(Agent,Here,A9,B9) , 15:54:37 %~ queue_local_event( 15:54:37 %~ [ act3(emote,Agent,[EmoteType,Object,Message])], [Here],B9,C9). 15:54:37 /* ( aXiom_p1( terminates( h(Spatially,Prep,Object,Here))) ==>> 15:54:37 !,undeclare(h(Spatially,Prep,Object,Here))) */ 15:54:37 %~ aXiom_p1(terminates(h(Spatially,Prep,Object,Here)),A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ undeclare(h(Spatially,Prep,Object,Here),A9,B9). 15:54:37 /* ( aXiom_p1( attempts( Agent, 15:54:37 act3(go__prep_obj,Agent,[Walk,At,Object]))) ==>> 15:54:37 ( will_need_touch(Agent,Object) , 15:54:37 has_rel(At,Object) , 15:54:37 \+( is_closed(At,Object)) , 15:54:37 eVent( Agent, 15:54:37 event3( arrive, 15:54:37 [At,Agent,Object], 15:54:37 [Walk,At])))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(go__prep_obj,Agent,[Walk,At,Object])), A9,F9) :- 15:54:37 %~ will_need_touch(Agent,Object,A9,E9) , 15:54:37 %~ has_rel(At,Object,E9,D9) , 15:54:37 %~ \+( is_closed(At,Object,D9,C9)) , 15:54:37 %~ B9=D9 , 15:54:37 %~ eVent( Agent, 15:54:37 %~ event3( arrive, 15:54:37 %~ [At,Agent,Object], 15:54:37 %~ [Walk,At]), B9,F9). 15:54:37 /* ( aXiom_p1( initiates( h(Spatially,Prep,Object,Dest))) ==>> 15:54:37 !,declare(h(Spatially,Prep,Object,Dest))) */ 15:54:37 %~ aXiom_p1(initiates(h(Spatially,Prep,Object,Dest)),A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ declare(h(Spatially,Prep,Object,Dest),A9,B9). 15:54:37 /* ==>>(aXiom_p1(status_msg(_Begin,_End)),[]) */ 15:54:37 %~ aXiom_p1(status_msg(_Begin,_End),P1_Status_msg,P1_Status_msg) :- 15:54:37 %~ 15:54:37 %~ true. 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts(Agent,act3(go__obj,Agent,[Walk,Object])), 15:54:37 RECALC) ==>> 15:54:37 ( has_rel(At,Object) , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(go__prep_obj,Agent,[Walk,At,Object])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(go__obj,Agent,[Walk,Object])), RECALC,A9,C9) :- 15:54:37 %~ has_rel(At,Object,A9,B9) , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(go__prep_obj,Agent,[Walk,At,Object])), B9,C9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(go__loc,Agent,[_Walk,There]))) ==>> 15:54:37 ( has_rel(fn(exit,Fn_Exit),There) , 15:54:37 eVent(Agent,make_true(Agent,h(spatial,in,Agent,There))))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts(Agent,act3(go__loc,Agent,[_Walk,There])), A9,C9) :- 15:54:37 %~ has_rel(fn(exit,Fn_Exit),There,A9,B9) , 15:54:37 %~ eVent( Agent, 15:54:37 %~ make_true(Agent,h(spatial,in,Agent,There)), B9,C9). 15:54:37 /* ( aXiom_p1( make_true(Doer,h(spatial,in,Agent,There))) ==>> 15:54:37 ( { Doer==Agent } , 15:54:37 has_rel(fn(exit,Fn_Exit),There) , 15:54:37 from_loc(Agent,Here) , 15:54:37 agent_thought_model(Agent,ModelData) , 15:54:37 { find_path(Doer,Here,There,Route,ModelData) } , 15:54:37 ! , 15:54:37 eVent( Agent, 15:54:37 follow_plan( Agent, 15:54:37 did(Agent,act3(go__loc,Agent,[walk,There])), 15:54:37 Route)))) */ 15:54:37 %~ aXiom_p1(make_true(Doer,h(spatial,in,Agent,There)),A9,H9) :- 15:54:37 %~ Doer==Agent , 15:54:37 %~ G9=A9 , 15:54:37 %~ has_rel(fn(exit,Fn_Exit),There,G9,F9) , 15:54:37 %~ from_loc(Agent,Here,F9,E9) , 15:54:37 %~ agent_thought_model(Agent,ModelData,E9,D9) , 15:54:37 %~ find_path(Doer,Here,There,Route,ModelData) , 15:54:37 %~ C9=D9 , 15:54:37 %~ ! , 15:54:37 %~ B9=C9 , 15:54:37 %~ eVent( Agent, 15:54:37 %~ follow_plan( Agent, 15:54:37 %~ did(Agent,act3(go__loc,Agent,[walk,There])), 15:54:37 %~ Route), B9,H9). 15:54:37 /* ==>>(aXiom_p1(make_true(Agent,FACT)),add_agent_goal(Agent,FACT)) */ 15:54:37 %~ aXiom_p1(make_true(Agent,FACT),A9,B9) :- 15:54:37 %~ 15:54:37 %~ add_agent_goal(Agent,FACT,A9,B9). 15:54:37 /* ==>>(aXiom_p1(add_intent(Agent,TODO)),add_agent_intent(Agent,TODO)) */ 15:54:37 %~ aXiom_p1(add_intent(Agent,TODO),A9,B9) :- 15:54:37 %~ 15:54:37 %~ add_agent_intent(Agent,TODO,A9,B9). 15:54:37 /* ( aXiom_p1( follow_plan(Agent,Name,[])) ==>> 15:54:37 !,send_1percept(Agent,[success(followed_plan(Agent,Name))])) */ 15:54:37 %~ aXiom_p1(follow_plan(Agent,Name,[]),A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ send_1percept( Agent, 15:54:37 %~ [ success( followed_plan(Agent,Name))], A9,B9). 15:54:37 /* ( aXiom_p1( follow_plan(Agent,Name,[Step])) ==>> 15:54:37 ( eVent(Agent,follow_step(Agent,Name,Step)) , 15:54:37 eVent(Agent,follow_plan(Agent,Name,CO_Route)))) */ 15:54:37 %~ aXiom_p1(follow_plan(Agent,Name,[Step|Route]),A9,C9) :- 15:54:37 %~ eVent(Agent,follow_step(Agent,Name,Step),A9,B9) , 15:54:37 %~ eVent(Agent,follow_plan(Agent,Name,Route),B9,C9). 15:54:37 /* ( aXiom_p1( follow_step(Agent,Name,Step)) ==>> 15:54:37 {dbug1(follow_step(Agent,Name,Step))},raise_aXiom_events(Step)) */ 15:54:37 %~ aXiom_p1(follow_step(Agent,Name,Step),A9,C9) :- 15:54:37 %~ dbug1( follow_step(Agent,Name,Step)) , 15:54:37 %~ B9=A9 , 15:54:37 %~ raise_aXiom_events(Step,B9,C9). 15:54:37 /* ( axiom_Recalc_e(attempts(Agent,act3(take,Agent,[Thing])),RECALC) ==>> 15:54:37 ( ! , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put__via,Agent,[take,Thing,held_by,Agent])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(take,Agent,[Thing])), RECALC,A9,B9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put__via,Agent,[take,Thing,held_by,Agent])), A9,B9). 15:54:37 /* ( axiom_Recalc_e(attempts(Agent,act3(drop,Agent,[Thing])),RECALC) ==>> 15:54:37 ( ! , 15:54:37 dshow_failure( h(spatial,At,Agent,Here)) , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put__via,Agent,[drop,Thing,At,Here])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(drop,Agent,[Thing])), RECALC,A9,C9) :- 15:54:37 %~ ! , 15:54:37 %~ A9=A9 , 15:54:37 %~ dshow_failure(h(spatial,At,Agent,Here),A9,B9) , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put__via,Agent,[drop,Thing,At,Here])), B9,C9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts( Agent, 15:54:37 act3(put,Agent,[Thing1,PrepAt,Thing2])), 15:54:37 RECALC) ==>> 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put__via,Agent,[put,Thing1,PrepAt,Thing2]))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put,Agent,[Thing1,PrepAt,Thing2])), RECALC,A9,B9) :- 15:54:37 %~ 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put__via,Agent,[put,Thing1,PrepAt,Thing2])), A9,B9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts(Agent,act3(give,Agent,[Thing,Recipient])), 15:54:37 RECALC) ==>> 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put__via,Agent,[give,Thing,held_by,Recipient]))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(give,Agent,[Thing,Recipient])), RECALC,A9,B9) :- 15:54:37 %~ 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put__via,Agent,[give,Thing,held_by,Recipient])), A9,B9). 15:54:37 /* ( aXiom_p1( attempts( Agent, 15:54:37 act3( put__via, 15:54:37 Agent, 15:54:37 [How,Thing1,Prep,Thing2]))) ==>> 15:54:37 ( {fail} , 15:54:37 ! , 15:54:37 dshow_failure( prep_to_rel(Thing2,Prep,At)) , 15:54:37 from_loc(Agent,Here) , 15:54:37 dshow_failure( has_rel(At,Thing2)) , 15:54:37 dshow_failure( will_need_touch(Agent,Thing2)) , 15:54:37 moveto( Agent, 15:54:37 How, Thing1,At,Thing2, 15:54:37 [Here], 15:54:37 [ cap( subj(Agent)), 15:54:37 person(How,es(How)), Thing1,At,Thing2, 15:54:37 '.']))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3( put__via, 15:54:37 %~ Agent, 15:54:37 %~ [How,Thing1,Prep,Thing2])), A9,H9) :- 15:54:37 %~ fail , 15:54:37 %~ G9=A9 , 15:54:37 %~ ! , 15:54:37 %~ F9=G9 , 15:54:37 %~ dshow_failure(prep_to_rel(Thing2,Prep,At),F9,E9) , 15:54:37 %~ from_loc(Agent,Here,E9,D9) , 15:54:37 %~ dshow_failure(has_rel(At,Thing2),D9,C9) , 15:54:37 %~ dshow_failure(will_need_touch(Agent,Thing2),C9,B9) , 15:54:37 %~ moveto( Agent, 15:54:37 %~ How, Thing1,At,Thing2, 15:54:37 %~ [Here], 15:54:37 %~ [ cap( subj(Agent)), person(How,es(How)),Thing1, 15:54:37 %~ At,Thing2,'.'], B9,H9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts(Agent,act3(throw_dir,Agent,[Thing,ExitName])), 15:54:37 RECALC) ==>> 15:54:37 ( from_loc(Agent,Here) , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(throw_prep_obj,Agent,[Thing,ExitName,Here])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(throw_dir,Agent,[Thing,ExitName])), RECALC,A9,C9) :- 15:54:37 %~ from_loc(Agent,Here,A9,B9) , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(throw_prep_obj,Agent,[Thing,ExitName,Here])), B9,C9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts(Agent,act3(throw_at,Agent,[Thing,Target])), 15:54:37 RECALC) ==>> 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(throw_prep_obj,Agent,[Thing,at,Target]))) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:274 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts(Agent,act3(throw_at,Agent,[Thing,Target])), RECALC,A9,B9) :- 15:54:37 %~ 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(throw_prep_obj,Agent,[Thing,at,Target])), A9,B9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts( Agent, 15:54:37 act3(throw_prep_obj,Agent,[Thing,Prep,Target])), 15:54:37 RECALC) ==>> 15:54:37 ( prep_to_rel(Target,Prep,Rel) , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put,Agent,[throw,Thing,Rel,Target])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(throw_prep_obj,Agent,[Thing,Prep,Target])), RECALC,A9,C9) :- 15:54:37 %~ prep_to_rel(Target,Prep,Rel,A9,B9) , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put,Agent,[throw,Thing,Rel,Target])), B9,C9). 15:54:37 /* ( axiom_Recalc_e( 15:54:37 attempts( Agent, 15:54:37 act3(throw,Agent,[Thing,Prep,Target])), 15:54:37 RECALC) ==>> 15:54:37 ( prep_to_rel(Target,Prep,Rel);Prep=Rel , 15:54:37 RECALC = 15:54:37 15:54:37 attempts( Agent, 15:54:37 act3(put,Agent,[throw,Thing,Rel,Target])))) */ 15:54:37 %~ axiom_Recalc_e( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(throw,Agent,[Thing,Prep,Target])), RECALC,A9,C9) :- 15:54:37 %~ ( prep_to_rel(Target,Prep,Rel,A9,B9) ; 15:54:37 %~ =(Prep,Rel,A9,B9)) , 15:54:37 %~ =( RECALC, 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(put,Agent,[throw,Thing,Rel,Target])), B9,C9). 15:54:37 /* ( aXiom_p1( attempts( Agent, 15:54:37 act3(throw,Agent,[Thing,At,Target]))) ==>> 15:54:37 ( will_need_touch(Agent,Thing) , 15:54:37 can_sense(Agent,see,Target) , 15:54:37 eVent( Agent, 15:54:37 act3(throw,Agent,[Thing,At,Target])))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(throw,Agent,[Thing,At,Target])), A9,D9) :- 15:54:37 %~ will_need_touch(Agent,Thing,A9,C9) , 15:54:37 %~ can_sense(Agent,see,Target,C9,B9) , 15:54:37 %~ eVent( Agent, 15:54:37 %~ act3(throw,Agent,[Thing,At,Target]), B9,D9). 15:54:37 /* ( aXiom_p1( act3(throw,Agent,[Thing,AtTarget,Target])) ==>> 15:54:37 ( ignore( ( getprop(Thing,breaks_into(Broken)) , 15:54:37 dbug(general,'object ~p is breaks_into~n',[Thing]) , 15:54:37 eVent(Agent,thing_transforms(Thing,Broken)))) , 15:54:37 eVent( Agent, 15:54:37 disgorge( Agent, 15:54:37 do_throw, Target,AtTarget,Target, 15:54:37 [Target],'Something falls out.')))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ act3(throw,Agent,[Thing,AtTarget,Target]), A9,C9) :- 15:54:37 %~ ignore( 15:54:37 %~ ( getprop(Thing,breaks_into(Broken)) , 15:54:37 %~ dbug(general,'object ~p is breaks_into~n',[Thing]) , 15:54:37 %~ eVent(Agent,thing_transforms(Thing,Broken))), A9,B9) , 15:54:37 %~ eVent( Agent, 15:54:37 %~ disgorge( Agent, 15:54:37 %~ do_throw, Target,AtTarget,Target, 15:54:37 %~ [Target],'Something falls out.'), B9,C9). 15:54:37 /* ( aXiom_p1( thing_transforms(Thing,Broken)) ==>> 15:54:37 ( undeclare( h(Spatial,At,Thing,Here)) , 15:54:37 declare( h(Spatial,At,Broken,Here)) , 15:54:37 queue_local_event([transformed(Thing,Broken)],Here))) */ 15:54:37 %~ aXiom_p1(thing_transforms(Thing,Broken),A9,D9) :- 15:54:37 %~ undeclare(h(Spatial,At,Thing,Here),A9,C9) , 15:54:37 %~ declare(h(Spatial,At,Broken,Here),C9,B9) , 15:54:37 %~ queue_local_event([transformed(Thing,Broken)],Here,B9,D9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(hit_with,Agent,[Thing,With]))) ==>> 15:54:37 ( from_loc(Agent,Here) , 15:54:37 invoke_hit(Agent,Thing,With,[Here]) , 15:54:37 send_1percept(Agent,[true,'OK.']))) */ 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts(Agent,act3(hit_with,Agent,[Thing,With])), A9,D9) :- 15:54:37 %~ from_loc(Agent,Here,A9,C9) , 15:54:37 %~ invoke_hit(Agent,Thing,With,[Here],C9,B9) , 15:54:37 %~ send_1percept(Agent,[true,'OK.'],B9,D9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(hit,Agent,[Thing]))) ==>> 15:54:37 ( from_loc(Agent,Here) , 15:54:37 invoke_hit(Agent,Thing,Agent,[Here]) , 15:54:37 send_1percept(Agent,[true,'OK.']))) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:311 15:54:37 %~ aXiom_p1(attempts(Agent,act3(hit,Agent,[Thing])),A9,D9) :- 15:54:37 %~ from_loc(Agent,Here,A9,C9) , 15:54:37 %~ invoke_hit(Agent,Thing,Agent,[Here],C9,B9) , 15:54:37 %~ send_1percept(Agent,[true,'OK.'],B9,D9). 15:54:37 /* ( invoke_hit(Doer,Target,_With,Vicinity) ==>> 15:54:37 ignore( ( getprop(Target,breaks_into(Broken)) , 15:54:37 dbug(general,'target ~p is breaks_into~n',[Target]) , 15:54:37 undeclare( h(Spatial,Prep,Target,Here)) , 15:54:37 queue_local_event([transformed(Target,Broken)],Vicinity) , 15:54:37 declare( h(Spatial,Prep,Broken,Here)) , 15:54:37 disgorge(Doer,hit,Target,Prep,Here,Vicinity,'Something falls out.')))) */ 15:54:37 %~ invoke_hit(Doer,Target,_With,Vicinity,A9,B9) :- 15:54:37 %~ 15:54:37 %~ ignore( 15:54:37 %~ ( getprop(Target,breaks_into(Broken)) , 15:54:37 %~ dbug(general,'target ~p is breaks_into~n',[Target]) , 15:54:37 %~ undeclare( h(Spatial,Prep,Target,Here)) , 15:54:37 %~ queue_local_event([transformed(Target,Broken)],Vicinity) , 15:54:37 %~ declare( h(Spatial,Prep,Broken,Here)) , 15:54:37 %~ disgorge(Doer,hit,Target,Prep,Here,Vicinity,'Something falls out.')), A9,B9). 15:54:37 /* ( aXiom_p1( attempts( Agent, 15:54:37 act3(dig,Agent,[Hole,Where,Tool]))) ==>> 15:54:37 ( { memberchk(Hole,[hole,trench,pit,ditch]), 15:54:37 memberchk(Where,[garden]), 15:54:37 memberchk(Tool,[shovel,spade]) } , 15:54:37 open_traverse(Tool,Agent) , 15:54:37 from_loc(Agent,Where) , 15:54:37 \+( h(spatial,_At,Hole,Where)) , 15:54:37 declare( h(spatial,in,Hole,Where)) , 15:54:37 setprop(Hole,default_rel=in) , 15:54:37 setprop(Hole,can_be(move,f)) , 15:54:37 setprop(Hole,can_be(take,f)) , 15:54:37 declare( h(spatial,in,dirt,Where)) , 15:54:37 queue_event( [ created(Hole,Where), 15:54:37 [ cap( subj(Agent)), person(dig,digs),a,Hole,'in the', 15:54:37 Where,'.']]))) */ 15:54:37 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:326 15:54:37 %~ aXiom_p1( 15:54:37 %~ attempts( Agent, 15:54:37 %~ act3(dig,Agent,[Hole,Where,Tool])), A9,L9) :- 15:54:37 %~ memberchk(Hole,[hole,trench,pit,ditch]) , 15:54:37 %~ memberchk(Where,[garden]) , 15:54:37 %~ memberchk(Tool,[shovel,spade]) , 15:54:37 %~ K9=A9 , 15:54:37 %~ open_traverse(Tool,Agent,K9,J9) , 15:54:37 %~ from_loc(Agent,Where,J9,I9) , 15:54:37 %~ \+( h(spatial,_At,Hole,Where,I9,H9)) , 15:54:37 %~ G9=I9 , 15:54:37 %~ declare(h(spatial,in,Hole,Where),G9,F9) , 15:54:37 %~ setprop(Hole,default_rel=in,F9,E9) , 15:54:37 %~ setprop(Hole,can_be(move,f),E9,D9) , 15:54:37 %~ setprop(Hole,can_be(take,f),D9,C9) , 15:54:37 %~ declare(h(spatial,in,dirt,Where),C9,B9) , 15:54:37 %~ queue_event( 15:54:37 %~ [ created(Hole,Where), 15:54:37 %~ [ cap( subj(Agent)), person(dig,digs),a,Hole,'in the', 15:54:37 %~ Where,'.']], B9,L9). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(eat,Agent,[Thing]))) ==>> 15:54:37 ( getprop(Thing,can_be(eat,t)) -> 15:54:37 15:54:37 ( undeclare( h(spatial,_1,Thing,_2)) , 15:54:37 send_1percept(Agent,[destroyed(Thing),'Mmmm, good!'])) ; 15:54:37 send_1percept( Agent, [ 15:54:37 [ failure( attempts(Agent,act3(eat,Agent,[Thing]))), 15:54:37 'It\'s inedible!'])])) */ 15:54:37 %~ aXiom_p1(attempts(Agent,act3(eat,Agent,[Thing])),A9,D9) -> 15:54:37 %~ 15:54:37 %~ ( getprop(Thing,can_be(eat,t),A9,C9) -> 15:54:37 %~ undeclare(h(spatial,_1,Thing,_2),C9,B9) , 15:54:37 %~ send_1percept(Agent,[destroyed(Thing),'Mmmm, good!'],B9,D9) ; 15:54:37 %~ send_1percept( Agent, 15:54:37 %~ [ failure( attempts(Agent,act3(eat,Agent,[Thing]))), 15:54:37 %~ 'It\'s inedible!'], A9,D9)). 15:54:37 /* ( aXiom_p1( attempts(Agent,act3(switch,Agent,[OnOff,Thing]))) ==>> 15:54:37 ( will_need_touch(Agent,Thing) , 15:54:37 getprop(Thing,can_be(switch(OnOff),t)) , 15:54:37 getprop(Thing,effect(switch(OnOff),Term0)) , 15:54:37 { adv_subst(equivalent,$self,Thing,Term0,Term) } , 15:54:37 call(Term) , 15:54:37 send_1percept(Agent,[success(true,'OK')]))) */ 15:54:37 %~ aXiom_p1( 15:54:38 %~ attempts(Agent,act3(switch,Agent,[OnOff,Thing])), A9,G9) :- 15:54:38 %~ will_need_touch(Agent,Thing,A9,F9) , 15:54:38 %~ getprop(Thing,can_be(switch(OnOff),t),F9,E9) , 15:54:38 %~ getprop(Thing,effect(switch(OnOff),Term0),E9,D9) , 15:54:38 %~ adv_subst(equivalent,$self,Thing,Term0,Term) , 15:54:38 %~ C9=D9 , 15:54:38 %~ call(Term,C9,B9) , 15:54:38 %~ send_1percept(Agent,[success(true,'OK')],B9,G9). 15:54:38 /* ( axiom_Recalc_e(attempts(Agent,act3(inventory,Who,[])),RECALC) ==>> 15:54:38 RECALC = 15:54:38 15:54:38 attempts(Agent,act3(examine,Agent,[Who]))) */ 15:54:38 %~ axiom_Recalc_e(attempts(Agent,act3(inventory,Who,[])),RECALC,A9,B9) :- 15:54:38 %~ 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts(Agent,act3(examine,Agent,[Who])), A9,B9). 15:54:38 /* ( axiom_Recalc_e(attempts(Agent,act3(look,Agent,[])),RECALC) ==>> 15:54:38 ( h(spatial,At,Agent,Here) , 15:54:38 RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3(examine__D3,Agent,[see,At,Here])))) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:365 15:54:38 %~ axiom_Recalc_e(attempts(Agent,act3(look,Agent,[])),RECALC,A9,C9) :- 15:54:38 %~ h(spatial,At,Agent,Here,A9,B9) , 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts(Agent,act3(examine__D3,Agent,[see,At,Here])), B9,C9). 15:54:38 /* ( axiom_Recalc_e(attempts(Agent,act3(examine,Agent,[Sense])),RECALC) ==>> 15:54:38 ( { is_sense(Sense) } , 15:54:38 ! , 15:54:38 from_loc(Agent,Place) , 15:54:38 RECALC = 15:54:38 15:54:38 attempts(Agent,act3(examine__D3,Agent,[see,in,Place])))) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts(Agent,act3(examine,Agent,[Sense])), RECALC,A9,E9) :- 15:54:38 %~ is_sense(Sense) , 15:54:38 %~ D9=A9 , 15:54:38 %~ ! , 15:54:38 %~ C9=D9 , 15:54:38 %~ from_loc(Agent,Place,C9,B9) , 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts(Agent,act3(examine__D3,Agent,[see,in,Place])), B9,E9). 15:54:38 /* ( axiom_Recalc_e(attempts(Agent,act3(examine,Agent,[Object])),RECALC) ==>> 15:54:38 RECALC = 15:54:38 15:54:38 attempts(Agent,act3(examine__D3,Agent,[see,at,Object]))) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts(Agent,act3(examine,Agent,[Object])), RECALC,A9,B9) :- 15:54:38 %~ 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts(Agent,act3(examine__D3,Agent,[see,at,Object])), A9,B9). 15:54:38 /* ( axiom_Recalc_e( 15:54:38 attempts(Agent,act3(examine,Agent,[Sense,Object])), 15:54:38 RECALC) ==>> 15:54:38 ( RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3(examine__D3,Agent,[Sense,at,Object])) , 15:54:38 !)) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts(Agent,act3(examine,Agent,[Sense,Object])), RECALC,A9,C9) :- 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts(Agent,act3(examine__D3,Agent,[Sense,at,Object])), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( axiom_Recalc_e( 15:54:38 attempts( Agent, 15:54:38 act3(examine,Agent,[Sense,Prep,Object])), 15:54:38 RECALC) ==>> 15:54:38 ( RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3(examine__D3,Agent,[Sense,Prep,Object])) , 15:54:38 !)) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3(examine,Agent,[Sense,Prep,Object])), RECALC,A9,C9) :- 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3(examine__D3,Agent,[Sense,Prep,Object])), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( axiom_Recalc_e( 15:54:38 attempts( Agent, 15:54:38 act3( examine, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])), 15:54:38 RECALC) ==>> 15:54:38 ( RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3( examine__D3, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])) , 15:54:38 !)) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), RECALC,A9,C9) :- 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D3, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( axiom_Recalc_e( 15:54:38 attempts( Agent, 15:54:38 act3(examine__D3,Agent,[Sense,Prep,Object])), 15:54:38 RECALC) ==>> 15:54:38 ( RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3(examine__D5,Agent,[Sense,Prep,Object,3])) , 15:54:38 !)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:380 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3(examine__D3,Agent,[Sense,Prep,Object])), RECALC,A9,C9) :- 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3(examine__D5,Agent,[Sense,Prep,Object,3])), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( axiom_Recalc_e( 15:54:38 attempts( Agent, 15:54:38 act3( examine__D3, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])), 15:54:38 RECALC) ==>> 15:54:38 ( RECALC = 15:54:38 15:54:38 attempts( Agent, 15:54:38 act3( examine__D5, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])) , 15:54:38 !)) */ 15:54:38 %~ axiom_Recalc_e( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D3, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), RECALC,A9,C9) :- 15:54:38 %~ =( RECALC, 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D5, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( aXiom_p1( attempts( Agent, 15:54:38 act3( examine__D5, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth]))) ==>> 15:54:38 ( \+( sg( can_sense_here(Agent,Sense))) , 15:54:38 ! , 15:54:38 raise_aXiom_events( failed( 15:54:38 did( Agent, 15:54:38 act3( examine, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])), 15:54:38 \+( can_sense_here(Agent,Sense)))))) */ 15:54:38 %~ aXiom_p1( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D5, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), A9,E9) :- 15:54:38 %~ \+( sg(can_sense_here(Agent,Sense),A9,D9)) , 15:54:38 %~ C9=A9 , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ raise_aXiom_events( 15:54:38 %~ failed( 15:54:38 %~ did( Agent, 15:54:38 %~ act3( examine, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), 15:54:38 %~ \+( can_sense_here(Agent,Sense))), B9,E9). 15:54:38 /* ( aXiom_p1( attempts( Agent, 15:54:38 act3( examine__D5, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth]))) ==>> 15:54:38 ( \+( sg( can_sense(Agent,Sense,Object))) , 15:54:38 ! , 15:54:38 raise_aXiom_events( failed( 15:54:38 did( Agent, 15:54:38 act3( examine, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth])), 15:54:38 \+( can_sense(Agent,Sense,Object)))))) */ 15:54:38 %~ aXiom_p1( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D5, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), A9,E9) :- 15:54:38 %~ \+( sg(can_sense(Agent,Sense,Object),A9,D9)) , 15:54:38 %~ C9=A9 , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ raise_aXiom_events( 15:54:38 %~ failed( 15:54:38 %~ did( Agent, 15:54:38 %~ act3( examine, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), 15:54:38 %~ \+( can_sense(Agent,Sense,Object))), B9,E9). 15:54:38 /* ( aXiom_p1( attempts( Agent, 15:54:38 act3( examine__D5, 15:54:38 Agent, 15:54:38 [Sense,Prep,Object,Depth]))) ==>> 15:54:38 act_examine(Agent,Sense,Prep,Object,Depth),!) */ 15:54:38 %~ aXiom_p1( 15:54:38 %~ attempts( Agent, 15:54:38 %~ act3( examine__D5, 15:54:38 %~ Agent, 15:54:38 %~ [Sense,Prep,Object,Depth])), A9,C9) :- 15:54:38 %~ must_mw1( 15:54:38 %~ act_examine(Agent,Sense,Prep,Object,Depth), A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( aXiom_p1( attempts(Agent,act3(touch,Agent,[Thing]))) ==>> 15:54:38 ( ! , 15:54:38 unless_reason( Agent, 15:54:38 will_need_touch(Agent,Thing), 15:54:38 cant( reach(Agent,Thing)), 15:54:38 send_1percept(Agent,[success(act3(touch,Agent,[Thing]),'Ok.')])))) */ 15:54:38 %~ aXiom_p1(attempts(Agent,act3(touch,Agent,[Thing])),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ unless_reason( Agent, 15:54:38 %~ will_need_touch(Agent,Thing), 15:54:38 %~ cant( reach(Agent,Thing)), 15:54:38 %~ send_1percept(Agent,[success(act3(touch,Agent,[Thing]),'Ok.')]), A9,B9). 15:54:38 /* ( aXiom_p1( change_state(Agent,Action,Thing,Prop)) ==>> 15:54:38 !,change_state(Agent,Action,Thing,Prop)) */ 15:54:38 %~ aXiom_p1(change_state(Agent,Action,Thing,Prop),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ change_state(Agent,Action,Thing,Prop,A9,B9). 15:54:38 /* ( aXiom_p1(Action,S0,S9) ::= 15:54:38 ( action_verb_agent_thing(Action,Verb,Agent,Thing) , 15:54:38 nonvar(Verb) , 15:54:38 nonvar(Thing) , 15:54:38 nonvar(Agent) , 15:54:38 act_change_state_or_fallback(Verb,State,TF) , 15:54:38 ! , 15:54:38 eVent( Agent, 15:54:38 change_state(Agent,Action,Thing,State=TF), S0,S9) , 15:54:38 !)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:406 15:54:38 %~ aXiom_p1(Action,S0,S9) :- 15:54:38 %~ action_verb_agent_thing(Action,Verb,Agent,Thing) , 15:54:38 %~ nonvar(Verb) , 15:54:38 %~ nonvar(Thing) , 15:54:38 %~ nonvar(Agent) , 15:54:38 %~ act_change_state_or_fallback(Verb,State,TF) , 15:54:38 %~ ! , 15:54:38 %~ eVent( Agent, 15:54:38 %~ change_state(Agent,Action,Thing,State=TF), S0,S9) , 15:54:38 %~ !. 15:54:38 /* ( invoke_command(Requester,attempts(Agent,Action)) ==>> 15:54:38 ( { Requester==Agent } , 15:54:38 invoke_command(Agent,Action) , 15:54:38 !)) */ 15:54:38 %~ invoke_command(Requester,attempts(Agent,Action),A9,D9) :- 15:54:38 %~ Requester==Agent , 15:54:38 %~ C9=A9 , 15:54:38 %~ invoke_command(Agent,Action,C9,B9) , 15:54:38 %~ ! , 15:54:38 %~ D9=B9. 15:54:38 /* ( invoke_command(Agent,Action) ==>> 15:54:38 ( invoke_metacmd(Agent,Action) , 15:54:38 { overwrote_prompt(Agent) } , 15:54:38 !)) */ 15:54:38 %~ invoke_command(Agent,Action,A9,D9) :- 15:54:38 %~ invoke_metacmd(Agent,Action,A9,C9) , 15:54:38 %~ overwrote_prompt(Agent) , 15:54:38 %~ B9=C9 , 15:54:38 %~ ! , 15:54:38 %~ D9=B9. 15:54:38 /* ( invoke_command(Agent,Action) ==>> 15:54:38 ( { set_last_action(Agent,Action) } , 15:54:38 agent_try_action(Agent,Action) , 15:54:38 !)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:137 15:54:38 %~ invoke_command(Agent,Action,A9,D9) :- 15:54:38 %~ set_last_action(Agent,Action) , 15:54:38 %~ C9=A9 , 15:54:38 %~ agent_try_action(Agent,Action,C9,B9) , 15:54:38 %~ ! , 15:54:38 %~ D9=B9. 15:54:38 /* ( invoke_intents(Agent) ==>> 15:54:38 ( sg( declared( memories(Agent,Mem0))) , 15:54:38 { member(intent(Agent,[]),Mem0) } , 15:54:38 !)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:154 15:54:38 %~ invoke_intents(Agent,A9,D9) :- 15:54:38 %~ sg(declared(memories(Agent,Mem0)),A9,C9) , 15:54:38 %~ member(intent(Agent,[]),Mem0) , 15:54:38 %~ B9=C9 , 15:54:38 %~ ! , 15:54:38 %~ D9=B9. 15:54:38 /* ==>>(satisfy_each_cond(Ctxt,[],success(Ctxt)),!) */ 15:54:38 %~ satisfy_each_cond(Ctxt,[],success(Ctxt),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ B9=A9. 15:54:38 /* ( satisfy_each_cond(Context,[Cond],Out) ==>> 15:54:38 ( satisfy_each(Context,Cond) , 15:54:38 ! , 15:54:38 ( sg( member( failed(Why))) -> 15:54:38 15:54:38 Out = 15:54:38 15:54:38 failed(Why) ; 15:54:38 satisfy_each_cond(Context,CondList,Out)) , 15:54:38 !)) */ 15:54:38 %~ satisfy_each_cond(Context,[Cond|CondList],Out,A9,F9) -> 15:54:38 %~ dmust_tracing(satisfy_each(Context,Cond),A9,E9) , 15:54:38 %~ ! , 15:54:38 %~ D9=E9 , 15:54:38 %~ ( sg(member(failed(Why)),D9,C9) -> 15:54:38 %~ 15:54:38 %~ =(Out,failed(Why),C9,B9) ; 15:54:38 %~ satisfy_each_cond(Context,CondList,Out,D9,B9)) , 15:54:38 %~ ! , 15:54:38 %~ F9=B9. 15:54:38 /* ==>>(satisfy_each2(Ctx,Cond),satisfy_each1(Ctx,Cond)) */ 15:54:38 %~ satisfy_each2(Ctx,Cond,A9,B9) :- 15:54:38 %~ 15:54:38 %~ satisfy_each1(Ctx,Cond,A9,B9). 15:54:38 /* ==>>(satisfy_each2(Cond3,Cond),[failed(Cond)]) */ 15:54:38 %~ satisfy_each2( Cond2, 15:54:38 %~ Cond, 15:54:38 %~ [ failed(Cond) | 15:54:38 %~ Each2_Failed], 15:54:38 %~ Each2_Failed) :- 15:54:38 %~ 15:54:38 %~ true. 15:54:38 /* ( satisfy_each1(_Context,h(spatial,P,_X,_Y)) ==>> 15:54:38 {P==takeable},!) */ 15:54:38 %~ satisfy_each1(_Context,h(spatial,P,_X,_Y),A9,C9) :- 15:54:38 %~ P==takeable , 15:54:38 %~ B9=A9 , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( satisfy_each1(Context,List) ==>> 15:54:38 ( { is_list(List) } , 15:54:38 ! , 15:54:38 satisfy_each_cond(Context,List,Out) , 15:54:38 ! , 15:54:38 { Out\=failed(Failed) })) */ 15:54:38 %~ satisfy_each1(Context,List,A9,F9) :- 15:54:38 %~ is_list(List) , 15:54:38 %~ E9=A9 , 15:54:38 %~ ! , 15:54:38 %~ D9=E9 , 15:54:38 %~ satisfy_each_cond(Context,List,Out,D9,C9) , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ Out\=failed(Failed) , 15:54:38 %~ F9=B9. 15:54:38 /* ==>>(satisfy_each1(_Ctx,A\=B),({dif(A,B)},!)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:281 15:54:38 %~ satisfy_each1(_Ctx,A\=B,A9,C9) :- 15:54:38 %~ dif(A,B) , 15:54:38 %~ B9=A9 , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ==>>(satisfy_each1(_Ctxt,exists(Ex)),(!,{ground(Ex)})) */ 15:54:38 %~ satisfy_each1(_Ctxt,exists(Ex),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ ground(Ex) , 15:54:38 %~ B9=A9. 15:54:38 /* ( satisfy_each1(Context,believe(Beliver,Cond)) ==>> 15:54:38 ( pre_redeclare( memories(Beliver,Memory)) , 15:54:38 { satisfy_each_always(Context,Cond,Memory,NewMemory) } , 15:54:38 ! , 15:54:38 redeclare( memories(Beliver,NewMemory)))) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:286 15:54:38 %~ satisfy_each1(Context,believe(Beliver,Cond),A9,E9) :- 15:54:38 %~ pre_redeclare(memories(Beliver,Memory),A9,D9) , 15:54:38 %~ satisfy_each_always(Context,Cond,Memory,NewMemory) , 15:54:38 %~ C9=D9 , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ redeclare(memories(Beliver,NewMemory),B9,E9). 15:54:38 /* ( satisfy_each1(Context,believe(_Beliver,Cond)) ==>> 15:54:38 ( ! , 15:54:38 satisfy_each(Context,Cond) , 15:54:38 !)) */ 15:54:38 %~ satisfy_each1(Context,believe(_Beliver,Cond),A9,C9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ satisfy_each(Context,Cond,A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ==>>(satisfy_each1(postCond(_Action),~Cond),(!,undeclare_always(Cond))) */ 15:54:38 %~ satisfy_each1(postCond(_Action),~Cond,A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ undeclare_always(Cond,A9,B9). 15:54:38 /* ( satisfy_each1(Ctx_Percept_local,percept_local(Where,Event)) ==>> 15:54:38 !,queue_local_event([Event],[Where])) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:305 15:54:38 %~ satisfy_each1(Percept_local,percept_local(Where,Event),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ queue_local_event([Event],[Where],A9,B9). 15:54:38 /* ( satisfy_each1(Ctx_Percept,percept(Agent,Event)) ==>> 15:54:38 !,send_1percept(Agent,Event)) */ 15:54:38 %~ satisfy_each1(Percept,percept(Agent,Event),A9,B9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ send_1percept(Agent,Event,A9,B9). 15:54:38 /* ( satisfy_each1(Context,~Cond) ==>> 15:54:38 !,(\+satisfy_each1(Context,Cond);[failed(Cond)])) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:307 15:54:38 %~ satisfy_each1(Context,~Cond,A9,C9) :- 15:54:38 %~ ! , 15:54:38 %~ A9=A9 , 15:54:38 %~ ( \+satisfy_each1(Context,Cond,A9,B9),C9=A9 ; 15:54:38 %~ A9 = 15:54:38 %~ 15:54:38 %~ [ failed(Cond) | 15:54:38 %~ C9]). 15:54:38 /* ( satisfy_each1(Ctx_Call,call(Cond)) ==>> 15:54:38 declared(Cond)*->true;apply_aXioms(Cond)) */ 15:54:38 %~ satisfy_each1(Call,call(Cond),A9,C9) :- 15:54:38 %~ 15:54:38 %~ ( declared(Cond,A9,B9)*->true(B9,C9) ; 15:54:38 %~ apply_aXioms(Cond,A9,C9)). 15:54:38 /* ==>>(satisfy_each1(Ctx_Cond1,Cond),(declared(Cond),!)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:309 15:54:38 %~ satisfy_each1(Cond1,Cond,A9,C9) :- 15:54:38 %~ declared(Cond,A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( satisfy_each1(postCond(_Action),Cond) ==>> 15:54:38 ( { old_figment(Cond,_F,_A,Old) } , 15:54:38 undeclare_always(Old) , 15:54:38 ! , 15:54:38 declare(Cond))) */ 15:54:38 %~ satisfy_each1(postCond(_Action),Cond,A9,D9) :- 15:54:38 %~ must( 15:54:38 %~ {old_figment(Cond,_F,_A,Old)},undeclare_always(Old), A9,C9) , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ declare(Cond,B9,D9). 15:54:38 /* ==>>(api_invoke(Action),apply_aXioms(Action)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:341 15:54:38 %~ api_invoke(Action,A9,B9) :- 15:54:38 %~ 15:54:38 %~ apply_aXioms(Action,A9,B9). 15:54:38 /* ==>>(apply_aXioms(Action),(aXiom(Action),!)) */ 15:54:38 %~ apply_aXioms(Action,A9,C9) :- 15:54:38 %~ aXiom(Action,A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( raise_aXiom_events(Action) ==>> 15:54:38 ( action_doer(Action,Agent) , 15:54:38 send_1percept(Agent,[failure(Action,unknown_to(Agent,Action))]))) */ 15:54:38 %~ raise_aXiom_events(Action,A9,C9) :- 15:54:38 %~ action_doer(Action,Agent,A9,B9) , 15:54:38 %~ send_1percept( Agent, 15:54:38 %~ [ failure(Action,unknown_to(Agent,Action))], B9,C9). 15:54:38 /* ==>>(unless_reason(_Agent,Then,_Msg),(Then,!)) */ 15:54:38 %~ unless_reason(_Agent,Then,_Msg,A9,C9) :- 15:54:38 %~ phrase(Then,A9,B9) , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ( unless_reason(Agent,_Then,Msg) ==>> 15:54:38 ( { event_failed(Agent,Msg) } , 15:54:38 ! , 15:54:38 {fail})) */ 15:54:38 %~ unless_reason(Agent,_Then,Msg,A9,D9) :- 15:54:38 %~ event_failed(Agent,Msg) , 15:54:38 %~ C9=A9 , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ fail , 15:54:38 %~ D9=B9. 15:54:38 /* ( unless_reason(_Agent,Unless,_Msg,Then) ==>> 15:54:38 ( Unless , 15:54:38 ! , 15:54:38 Then)) */ 15:54:38 %~ unless_reason(_Agent,Unless,_Msg,Then,A9,D9) :- 15:54:38 %~ phrase(Unless,A9,C9) , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ phrase(Then,B9,D9). 15:54:38 /* ( unless_reason(Agent,_Unless,Msg,_Then) ==>> 15:54:38 {event_failed(Agent,Msg)},!) */ 15:54:38 %~ unless_reason(Agent,_Unless,Msg,_Then,A9,C9) :- 15:54:38 %~ event_failed(Agent,Msg) , 15:54:38 %~ B9=A9 , 15:54:38 %~ ! , 15:54:38 %~ C9=B9. 15:54:38 /* ==>>(unless(_Agent,Required,Then),(Required,!,Then)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:429 15:54:38 %~ unless(_Agent,Required,Then,A9,D9) :- 15:54:38 %~ phrase(Required,A9,C9) , 15:54:38 %~ ! , 15:54:38 %~ B9=C9 , 15:54:38 %~ phrase(Then,B9,D9). 15:54:38 /* ( unless(Agent,Required,_Then) ==>> 15:54:38 ( { simplify_reason(Required,CUZ), 15:54:38 event_failed(Agent,cant(cuz(\+CUZ))) } , 15:54:38 !)) */ 15:54:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:430 15:54:39 %~ unless(Agent,Required,_Then,A9,C9) :- 15:54:39 %~ simplify_reason(Required,CUZ) , 15:54:39 %~ event_failed(Agent,cant(cuz(\+CUZ))) , 15:54:39 %~ B9=A9 , 15:54:39 %~ ! , 15:54:39 %~ C9=B9. 15:54:39 /* ( add_intent_look(Agent) ==>> 15:54:39 ( h(spatial,inside,Agent,_Somewhere) , 15:54:39 add_agent_intent(Agent,attempts(Agent,act3(look,Agent,[]))))) */ 15:54:39 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:474 15:54:39 %~ add_intent_look(Agent,A9,C9) :- 15:54:39 %~ h(spatial,inside,Agent,_Somewhere,A9,B9) , 15:54:39 %~ add_agent_intent(Agent,attempts(Agent,act3(look,Agent,[])),B9,C9). 15:54:39 /* ( disgorge( Doer, 15:54:39 Verb, Container,Prep,Here, 15:54:39 Vicinity,Msg) ==>> 15:54:39 ( verb_domain(Verb,Spatially) , 15:54:39 findall(Inner,h(Spatially,child,Inner,Container),Contents) , 15:54:39 { dbug(general,'~p childs: ~p~n',[Container,Contents]) } , 15:54:39 moveto( Doer, 15:54:39 Verb, Contents,Prep,Here, 15:54:39 Vicinity,Msg))) */ 15:54:39 %~ disgorge( Doer, 15:54:39 %~ Verb, Container,Prep,Here, 15:54:39 %~ Vicinity,Msg,A9, 15:54:39 %~ E9) :- 15:54:39 %~ verb_domain(Verb,Spatially,A9,D9) , 15:54:39 %~ findall( Inner, 15:54:39 %~ h(Spatially,child,Inner,Container), Contents,D9,C9) , 15:54:39 %~ dbug(general,'~p childs: ~p~n',[Container,Contents]) , 15:54:39 %~ B9=C9 , 15:54:39 %~ moveto( Doer, 15:54:39 %~ Verb, Contents,Prep,Here, 15:54:39 %~ Vicinity,Msg,B9, 15:54:39 %~ E9). 15:54:39 /* ( moveto(Doer,Verb,List,At,Dest,Vicinity,Msg) ==>> 15:54:39 ( { is_list(List) } , 15:54:39 ! , 15:54:39 apply_mapl_rest_state( moveto(Doer,Verb), 15:54:39 List, 15:54:39 [At,Dest,Vicinity,Msg]))) */ 15:54:39 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:560 15:54:39 %~ moveto( Doer, 15:54:39 %~ Verb, List,At,Dest, 15:54:39 %~ Vicinity,Msg,A9, 15:54:39 %~ D9) :- 15:54:39 %~ is_list(List) , 15:54:39 %~ C9=A9 , 15:54:39 %~ ! , 15:54:39 %~ B9=C9 , 15:54:39 %~ apply_mapl_rest_state( moveto(Doer,Verb), 15:54:39 %~ List, 15:54:39 %~ [At,Dest,Vicinity,Msg], B9,D9). 15:54:39 /* ( moveto(Doer,Verb,Object,At,Dest,Vicinity,Msg) ==>> 15:54:39 ( undeclare( h(spatial,Prep_Spatial,Object,From)) , 15:54:39 declare( h(spatial,At,Object,Dest)) , 15:54:39 queue_local_event( 15:54:39 [ act3( move, 15:54:39 Doer, 15:54:39 [ Verb, Object,From,At, 15:54:39 Dest]), 15:54:39 Msg], 15:54:39 Vicinity))) */ 15:54:39 %~ moveto( Doer, 15:54:39 %~ Verb, Object,At,Dest, 15:54:39 %~ Vicinity,Msg,A9, 15:54:39 %~ D9) :- 15:54:39 %~ undeclare(h(spatial,Prep_Spatial,Object,From),A9,C9) , 15:54:39 %~ declare(h(spatial,At,Object,Dest),C9,B9) , 15:54:39 %~ queue_local_event( 15:54:39 %~ [ act3( move, 15:54:39 %~ Doer, 15:54:39 %~ [ Verb, Object,From,At, 15:54:39 %~ Dest]), 15:54:39 %~ Msg], Vicinity,B9,D9). 15:54:39 /* ( setloc_silent(Prep,Object,Dest) ==>> 15:54:39 ( undeclare( h(spatial,Prep_Spatial,Object,Target_Object4)) , 15:54:39 declare( h(spatial,Prep,Object,Dest)))) */ 15:54:39 %~ setloc_silent(Prep,Object,Dest,A9,C9) :- 15:54:39 %~ undeclare(h(spatial,Prep_Spatial,Object,Target_Object4),A9,B9) , 15:54:39 %~ declare(h(spatial,Prep,Object,Dest),B9,C9). 15:54:39 ORDERING TEST: 15:54:39 unordered was [before(start,completeFn(CompleteFn)),before(start,x),before(start,y),before(y,completeFn(CompleteFn)),before(x,z),before(z,completeFn(CompleteFn))] 15:54:39 ordering is [before(z,completeFn(CompleteFn)),before(x,completeFn(CompleteFn)),before(x,z),before(start,z),before(y,completeFn(CompleteFn)),before(start,y),before(start,x),before(start,completeFn(CompleteFn))] 15:54:39 picked [start,x,y,z,completeFn(CompleteFn3)] 15:54:39 END ORDERING TEST 15:54:39 ============================================= 15:54:39 RESET STATE 15:54:39 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story/adv_test_01.pl:34 15:54:39 %~ create_1obj(se_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(ss_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(sw_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(ee_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(cc_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(ww_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(ne_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(nn_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(nw_subregion,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(x(red_pebble,5),i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(x(red_pebble,4),i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(x(red_pebble,3),i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(x(red_pebble,2),i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(x(red_pebble,1),i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(x(blue_pebble,5),i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(x(blue_pebble,4),i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(x(blue_pebble,3),i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(x(blue_pebble,2),i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(x(blue_pebble,1),i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(ttt_table,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(brklamp,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(screendoor,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(apple,i1) 15:54:39 %~ create_1obj(crate,i1) 15:54:39 %~ create_1obj(crate,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(screendoor,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(fireplace,i1) 15:54:39 %~ create_1obj(living_room,i1) 15:54:39 %~ create_1obj(videocamera,i1) 15:54:39 %~ create_1obj(living_room,i1) 15:54:39 %~ create_1obj(shovel,i1) 15:54:39 %~ create_1obj(basement,i1) 15:54:39 %~ create_1obj(mushroom,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(water,i1) 15:54:39 %~ create_1obj(fountain,i1) 15:54:39 %~ create_1obj(fountain,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(x(rock,2),i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(rock,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(locker,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(shelf,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(living_room,i1) 15:54:39 %~ create_1obj(dining_room,i1) 15:54:39 %~ create_1obj(dining_room,i1) 15:54:39 %~ create_1obj(living_room,i1) 15:54:39 %~ create_1obj(dining_room,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(dining_room,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(garden,i1) 15:54:39 %~ create_1obj(basement,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(basement,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(wrench,i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(coins,i1) 15:54:39 %~ create_1obj(bag,i1) 15:54:39 %~ create_1obj(bag,i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(watch,i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(player,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(floyd,i1) 15:54:39 %~ create_1obj(pantry,i1) 15:54:39 %~ create_1obj(cup,i1) 15:54:39 %~ create_1obj(cabinate,i1) 15:54:39 %~ create_1obj(cabinate,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(plate,i1) 15:54:39 %~ create_1obj(sink,i1) 15:54:39 %~ create_1obj(sink,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(lamp,i1) 15:54:39 %~ create_1obj(table,i1) 15:54:39 %~ create_1obj(table,i1) 15:54:39 %~ create_1obj(kitchen,i1) 15:54:39 %~ create_1obj(flour,i1) 15:54:39 %~ create_1obj(bowl,i1) 15:54:39 %~ create_1obj(bowl,i1) 15:54:39 %~ create_1obj(box,i1) 15:54:39 %~ create_1obj(box,i1) 15:54:39 %~ create_1obj(table,i1) 15:54:39 %~ create_1obj(table,i1) 15:54:39 %~ create_1obj(table_leg,i1) 15:54:39 /* oldObjectList=[] */ 15:54:39 /* newObjectList = [ x(table_leg,i1), x(table,i1),x(box,i1),x(bowl,i1), 15:54:39 x(flour,i1),x(kitchen,i1),x(lamp,i1), 15:54:39 x(sink,i1),x(plate,i1),x(cabinate,i1), 15:54:39 x(cup,i1),x(pantry,i1),x(floyd,i1), 15:54:39 x(player,i1),x(watch,i1),x(bag,i1), 15:54:39 x(coins,i1),x(wrench,i1), 15:54:39 x(basement,i1),x(garden,i1), 15:54:39 x(dining_room,i1),x(living_room,i1), 15:54:39 x(shelf,i1),x(locker,i1),x(rock,i1), 15:54:39 x(fountain,i1),x(water,i1), 15:54:39 x(mushroom,i1),x(shovel,i1), 15:54:39 x(videocamera,i1),x(fireplace,i1), 15:54:39 x(screendoor,i1),x(crate,i1), 15:54:39 x(apple,i1),x(brklamp,i1), 15:54:39 x(ttt_table,i1),x(nw_subregion,i1), 15:54:39 x(nn_subregion,i1),x(ne_subregion,i1), 15:54:39 x(ww_subregion,i1),x(cc_subregion,i1), 15:54:39 x(ee_subregion,i1),x(sw_subregion,i1), 15:54:39 x(ss_subregion,i1),x(se_subregion,i1)] */ 15:54:39 /* mu_create_object( x(table_leg,i1), [ 15:54:39 [ shape=table_leg, traits([table_leg]),inherit(table_leg,t), 15:54:39 sp(nouns,[table_leg])])] */ 15:54:39 /* mu_create_object( x(table,i1), [ 15:54:39 [ shape=(table), traits([table]),inherit(table,t), 15:54:39 sp(nouns,[table])])] */ 15:54:39 /* mu_create_object( x(box,i1), [ 15:54:45 [ shape=box, traits([box]),inherit(box,t), 15:54:45 sp(nouns,[box])])] */ 15:54:45 /* mu_create_object( x(bowl,i1), [ 15:54:45 [ shape=bowl, traits([bowl]),inherit(bowl,t), 15:54:45 sp(nouns,[bowl])])] */ 15:54:45 /* mu_create_object( x(flour,i1), [ 15:54:45 [ shape=flour, traits([flour]),inherit(flour,t), 15:54:45 sp(nouns,[flour])])] */ 15:54:45 /* mu_create_object( x(kitchen,i1), [ 15:54:45 [ shape=kitchen, traits([kitchen]),inherit(kitchen,t), 15:54:45 sp(nouns,[kitchen])])] */ 15:54:45 /* mu_create_object( x(lamp,i1), [ 15:54:45 [ shape=lamp, traits([lamp]),inherit(lamp,t), 15:54:45 sp(nouns,[lamp])])] */ 15:54:45 /* mu_create_object( x(sink,i1), [ 15:54:45 [ shape=sink, traits([sink]),inherit(sink,t), 15:54:45 sp(nouns,[sink])])] */ 15:54:45 /* mu_create_object( x(plate,i1), [ 15:54:45 [ shape=plate, traits([plate]),inherit(plate,t), 15:54:45 sp(nouns,[plate])])] */ 15:54:45 /* mu_create_object( x(cabinate,i1), [ 15:54:45 [ shape=cabinate, traits([cabinate]),inherit(cabinate,t), 15:54:45 sp(nouns,[cabinate])])] */ 15:54:45 /* mu_create_object( x(cup,i1), [ 15:54:45 [ shape=cup, traits([cup]),inherit(cup,t), 15:54:45 sp(nouns,[cup])])] */ 15:54:45 /* mu_create_object( x(pantry,i1), [ 15:54:45 [ shape=pantry, traits([pantry]),inherit(pantry,t), 15:54:45 sp(nouns,[pantry])])] */ 15:54:45 /* mu_create_object( x(floyd,i1), [ 15:54:45 [ shape=floyd, traits([floyd]),inherit(floyd,t), 15:54:45 sp(nouns,[floyd])])] */ 15:54:45 /* mu_create_object( x(player,i1), [ 15:54:45 [ shape=player, traits([player]),inherit(player,t), 15:54:45 sp(nouns,[player])])] */ 15:54:45 /* mu_create_object( x(watch,i1), [ 15:54:45 [ shape=watch, traits([watch]),inherit(watch,t), 15:54:45 sp(nouns,[watch])])] */ 15:54:45 /* mu_create_object( x(bag,i1), [ 15:54:45 [ shape=bag, traits([bag]),inherit(bag,t), 15:54:45 sp(nouns,[bag])])] */ 15:54:45 /* mu_create_object( x(coins,i1), [ 15:54:45 [ shape=coins, traits([coins]),inherit(coins,t), 15:54:45 sp(nouns,[coins])])] */ 15:54:45 /* mu_create_object( x(wrench,i1), [ 15:54:45 [ shape=wrench, traits([wrench]),inherit(wrench,t), 15:54:45 sp(nouns,[wrench])])] */ 15:54:45 /* mu_create_object( x(basement,i1), [ 15:54:45 [ shape=basement, traits([basement]),inherit(basement,t), 15:54:45 sp(nouns,[basement])])] */ 15:54:45 /* mu_create_object( x(garden,i1), [ 15:54:45 [ shape=garden, traits([garden]),inherit(garden,t), 15:54:45 sp(nouns,[garden])])] */ 15:54:45 /* mu_create_object( x(dining_room,i1), [ 15:54:45 [ shape=dining_room, traits([dining_room]),inherit(dining_room,t), 15:54:45 sp(nouns,[dining_room])])] */ 15:54:45 /* mu_create_object( x(living_room,i1), [ 15:54:45 [ shape=living_room, traits([living_room]),inherit(living_room,t), 15:54:45 sp(nouns,[living_room])])] */ 15:54:45 /* mu_create_object( x(shelf,i1), [ 15:54:45 [ shape=shelf, traits([shelf]),inherit(shelf,t), 15:54:45 sp(nouns,[shelf])])] */ 15:54:45 /* mu_create_object( x(locker,i1), [ 15:54:45 [ shape=locker, traits([locker]),inherit(locker,t), 15:54:45 sp(nouns,[locker])])] */ 15:54:45 /* mu_create_object( x(rock,i1), [ 15:54:45 [ shape=rock, traits([rock]),inherit(rock,t), 15:54:45 sp(nouns,[rock])])] */ 15:54:45 /* mu_create_object( x(fountain,i1), [ 15:54:45 [ shape=fountain, traits([fountain]),inherit(fountain,t), 15:54:45 sp(nouns,[fountain])])] */ 15:54:45 /* mu_create_object( x(water,i1), [ 15:54:45 [ shape=water, traits([water]),inherit(water,t), 15:54:45 sp(nouns,[water])])] */ 15:54:45 /* mu_create_object( x(mushroom,i1), [ 15:54:45 [ shape=mushroom, traits([mushroom]),inherit(mushroom,t), 15:54:45 sp(nouns,[mushroom])])] */ 15:54:45 /* mu_create_object( x(shovel,i1), [ 15:54:45 [ shape=shovel, traits([shovel]),inherit(shovel,t), 15:54:45 sp(nouns,[shovel])])] */ 15:54:45 /* mu_create_object( x(videocamera,i1), [ 15:54:45 [ shape=videocamera, traits([videocamera]),inherit(videocamera,t), 15:54:45 sp(nouns,[videocamera])])] */ 15:54:45 /* mu_create_object( x(fireplace,i1), [ 15:54:45 [ shape=fireplace, traits([fireplace]),inherit(fireplace,t), 15:54:45 sp(nouns,[fireplace])])] */ 15:54:45 /* mu_create_object( x(screendoor,i1), [ 15:54:45 [ shape=screendoor, traits([screendoor]),inherit(screendoor,t), 15:54:45 sp(nouns,[screendoor])])] */ 15:54:45 /* mu_create_object( x(crate,i1), [ 15:54:45 [ shape=crate, traits([crate]),inherit(crate,t), 15:54:45 sp(nouns,[crate])])] */ 15:54:45 /* mu_create_object( x(apple,i1), [ 15:54:45 [ shape=apple, traits([apple]),inherit(apple,t), 15:54:45 sp(nouns,[apple])])] */ 15:54:45 /* mu_create_object( x(brklamp,i1), [ 15:54:45 [ shape=brklamp, traits([brklamp]),inherit(brklamp,t), 15:54:45 sp(nouns,[brklamp])])] */ 15:54:45 /* mu_create_object( x(ttt_table,i1), [ 15:54:45 [ shape=ttt_table, traits([ttt_table]),inherit(ttt_table,t), 15:54:45 sp(nouns,[ttt_table])])] */ 15:54:45 /* mu_create_object( x(nw_subregion,i1), [ 15:54:45 [ shape=nw_subregion, traits([nw_subregion]),inherit(nw_subregion,t), 15:54:45 sp(nouns,[nw_subregion])])] */ 15:54:45 /* mu_create_object( x(nn_subregion,i1), [ 15:54:45 [ shape=nn_subregion, traits([nn_subregion]),inherit(nn_subregion,t), 15:54:45 sp(nouns,[nn_subregion])])] */ 15:54:45 /* mu_create_object( x(ne_subregion,i1), [ 15:54:45 [ shape=ne_subregion, traits([ne_subregion]),inherit(ne_subregion,t), 15:54:45 sp(nouns,[ne_subregion])])] */ 15:54:45 /* mu_create_object( x(ww_subregion,i1), [ 15:54:45 [ shape=ww_subregion, traits([ww_subregion]),inherit(ww_subregion,t), 15:54:45 sp(nouns,[ww_subregion])])] */ 15:54:45 /* mu_create_object( x(cc_subregion,i1), [ 15:54:45 [ shape=cc_subregion, traits([cc_subregion]),inherit(cc_subregion,t), 15:54:45 sp(nouns,[cc_subregion])])] */ 15:54:45 /* mu_create_object( x(ee_subregion,i1), [ 15:54:45 [ shape=ee_subregion, traits([ee_subregion]),inherit(ee_subregion,t), 15:54:45 sp(nouns,[ee_subregion])])] */ 15:54:45 /* mu_create_object( x(sw_subregion,i1), [ 15:54:45 [ shape=sw_subregion, traits([sw_subregion]),inherit(sw_subregion,t), 15:54:45 sp(nouns,[sw_subregion])])] */ 15:54:45 /* mu_create_object( x(ss_subregion,i1), [ 15:54:45 [ shape=ss_subregion, traits([ss_subregion]),inherit(ss_subregion,t), 15:54:45 sp(nouns,[ss_subregion])])] */ 15:54:45 /* mu_create_object( x(se_subregion,i1), [ 15:54:45 [ shape=se_subregion, traits([se_subregion]),inherit(se_subregion,t), 15:54:45 sp(nouns,[se_subregion])])] */ 15:54:45 ============================================= 15:54:45 ============================================= 15:54:45 INIT STATE 15:54:45 ============================================= 15:54:45 totalTime=10.000 15:54:45 15:54:45 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k adv_test_02.pl (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:54:45 15:54:47 ISSUE_INFO=704 OPEN logicmoo.agi.agi_test.adv_story.ADV_TEST_02 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.adv_story, ADV_TEST_02 2021-09-26 22:45:36 +0000 UTC 15:54:47 ISSUE_ID=704 15:54:47 ISSUE_OC=OPEN 15:54:47 Editing Issue For FAILED 704 OPEN logicmoo.agi.agi_test.adv_story.ADV_TEST_02 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.adv_story, ADV_TEST_02 2021-09-26 22:45:36 +0000 UTC 15:54:54 https://github.com/logicmoo/logicmoo_workspace/issues/704 15:54:54 FileTestCase=logicmoo.agi.agi_test.adv_story.ADV_TEST_01 JUnit 15:54:54 15:54:54 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['adv_test_01.pl']" 15:54:54 15:54:54 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['adv_test_01.pl']") 15:54:54 15:54:54 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_agi/t/agi_tests/adv_story/adv_test_01.pl 15:54:54 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.agi.agi_test.adv_story/ADV_TEST_01/ 15:54:54 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AADV_TEST_01 15:54:54 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/703 15:54:54 15:54:54 15:54:56 %~ init_phase(after_load) 15:54:56 %~ init_phase(restore_state) 15:54:56 % 15:54:56 %~ init_why(after_boot,program) 15:54:56 %~ READONLY PACKAGES 15:54:56 %~ READONLY PACKAGES 15:54:56 %~ READONLY PACKAGES 15:54:56 %~ after_boot. 15:54:56 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:44 15:54:56 %~ message_hook_type(warning) 15:54:56 %~ message_hook( 15:54:56 %~ redefined_procedure(static,mu:aXiom/1), 15:54:56 %~ warning, 15:54:56 %~ [ 'Redefined ~w procedure ~p' - [ static, 15:54:56 %~ mu : aXiom/1]]) 15:54:56 %~ source_location('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl',44) 15:54:56 Redefined static procedure mu:(aXiom/1) 15:54:56 Warning: /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:44: 15:54:56 Warning: Redefined static procedure mu:(aXiom/1) 15:54:56 /* ==>>(will_need_touch(Agent,Thing),h(spatial,touchable,Agent,Thing)) */ 15:54:56 %~ will_need_touch(Agent,Thing,A9,B9) :- 15:54:56 %~ 15:54:56 %~ h(spatial,touchable,Agent,Thing,A9,B9). 15:54:56 %~ will_need_touch(Touchable_Will_need_touch5,Will_need_touch4,Will_need_touch,Touch) :- 15:54:56 %~ 15:54:56 %~ h(spatial,touchable,Touchable_Will_need_touch5,Will_need_touch4,Will_need_touch,Touch). 15:54:56 /* ( will_need_touch(Agent,Thing) ==>> 15:54:56 ( can_sense(Agent,Sense_Agent2,Thing) , 15:54:56 h(spatial,touchable,Agent,Thing))) */ 15:54:56 %~ will_need_touch(Agent,Thing,A9,C9) :- 15:54:56 %~ can_sense(Agent,Sense_Agent2,Thing,A9,B9) , 15:54:56 %~ h(spatial,touchable,Agent,Thing,B9,C9). 15:54:56 :- multifile will_need_touch/4. 15:54:56 15:54:56 /* ( will_need_touch(Source_Agent_Touchable_Will_need_touch,Target_Thing_Touch) ==>> 15:54:56 ( can_sense(Source_Agent_Touchable_Will_need_touch,Can_senseWill_need_touch,Target_Thing_Touch) , 15:54:56 h(spatial,touchable,Source_Agent_Touchable_Will_need_touch,Target_Thing_Touch))) */ 15:54:56 %~ will_need_touch(Agent_Touchable_Will_need_touch,Thing,A9,C9) :- 15:54:56 %~ can_sense( Agent_Touchable_Will_need_touch, 15:54:56 %~ Can_senseWill_need_touch, Thing,A9,B9) , 15:54:56 %~ h(spatial,touchable,Agent_Touchable_Will_need_touch,Thing,B9,C9). 15:54:56 will_need_touch(Agent, Thing, A, B) :- 15:54:56 can_sense(Agent, _, Thing, A, C), 15:54:56 h(spatial, touchable, Agent, Thing, C, B). 15:54:56 15:54:56 /* ( eVent(Agent,Event) ==>> 15:54:56 send_1percept(Agent,Event),apply_aXioms(Event)) */ 15:54:56 %~ eVent(Agent,Event,A9,C9) :- 15:54:56 %~ send_1percept(Agent,Event,A9,B9) , 15:54:56 %~ must_mw1(apply_aXioms(Event),B9,C9). 15:54:56 /* ( aXiom(Action,_S0,_S9) ::= 15:54:56 xnotrace((\+trival_act(Action),dbug1(aXiom(Action)))),xnotrace(fail)) */ 15:54:56 %~ aXiom(Action,_S0,_S9) :- 15:54:56 %~ xnotrace( \+trival_act(Action),dbug1(aXiom(Action))) , 15:54:56 %~ xnotrace(fail). 15:54:56 /* ==>>(aXiom(Action),aXiom_p1(Action)) */ 15:54:56 %~ aXiom(Action,A9,B9) :- 15:54:56 %~ 15:54:56 %~ aXiom_p1(Action,A9,B9). 15:54:56 /* ==>>(aXiom(Action),aXiom_p2(Action)) */ 15:54:56 %~ aXiom(Action,A9,B9) :- 15:54:56 %~ 15:54:56 %~ aXiom_p2(Action,A9,B9). 15:54:56 /* ==>>(aXiom_p1((P1,P11)),(!,aXiom_p1(P1),aXiom_p1(P11))) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:71 15:54:56 %~ aXiom_p1((_57744,_57746),A9,C9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ aXiom_p1(_57744,A9,B9) , 15:54:56 %~ aXiom_p1(_57746,B9,C9). 15:54:56 /* ==>>(aXiom_p1((P1;P11)),(!,(aXiom_p1(P1);aXiom_p1(P11)))) */ 15:54:56 %~ aXiom_p1((_45140;_45142),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ aXiom_p1(_45140,A9,B9);aXiom_p1(_45142,A9,B9). 15:54:56 /* ==>>(aXiom_p1((P1->P11)),(!,(aXiom_p1(P1)->aXiom_p1(P11)))) */ 15:54:56 %~ aXiom_p1((_29328->_29330),A9,C9) -> 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ aXiom_p1(_29328,A9,B9) -> 15:54:56 %~ 15:54:56 %~ aXiom_p1(_29330,B9,C9). 15:54:56 /* ==>>(aXiom_p1(true),!) */ 15:54:56 %~ aXiom_p1(true,A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ B9=A9. 15:54:56 /* ( aXiom_p1( P1_Xx_c62*->P1;P1_Xx_c621) ==>> 15:54:56 !,(aXiom_p1(P1_Xx_c62)*->aXiom_p1(P1);aXiom_p1(P1_Xx_c621))) */ 15:54:56 %~ aXiom_p1((Xx_c62*->Xx_c622;Xx_c621),A9,C9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ ( aXiom_p1(Xx_c62,A9,B9)*->aXiom_p1(Xx_c622,B9,C9) ; 15:54:56 %~ aXiom_p1(Xx_c621,A9,C9)). 15:54:56 /* ( aXiom_p1( P1_Xx_c623*->P1) ==>> 15:54:56 !,(aXiom_p1(P1_Xx_c623)*->aXiom_p1(P1))) */ 15:54:56 %~ aXiom_p1((Xx_c623*->Xx_c6234),A9,C9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ aXiom_p1(Xx_c623,A9,B9)*->aXiom_p1(Xx_c6234,B9,C9). 15:54:56 /* ( aXiom_p2(Action) ==>> 15:54:56 ( { implications(DoesEvent,Action,Preconds,Postconds), 15:54:56 action_doer(Action,Agent) } , 15:54:56 satisfy_each(preCond(_1),Preconds) , 15:54:56 ( sg(member(failed(Why))),send_1percept(Agent,failed(Action,Why)) ; 15:54:56 satisfy_each(postCond(_2),Postconds),send_1percept(Agent,Action)) , 15:54:56 { episodic_mem(Agent,implications(DoesEvent,Action,Preconds,Postconds)) } , 15:54:56 { dbug1( used_implications(DoesEvent,Action,Preconds,Postconds)) } , 15:54:56 !)) */ 15:54:56 %~ aXiom_p2(Action,A9,I9) :- 15:54:56 %~ implications(DoesEvent,Action,Preconds,Postconds) , 15:54:56 %~ action_doer(Action,Agent) , 15:54:56 %~ H9=A9 , 15:54:56 %~ satisfy_each(preCond(_1),Preconds,H9,G9) , 15:54:56 %~ ( ( sg(member(failed(Why)),G9,F9) , 15:54:56 %~ send_1percept(Agent,failed(Action,Why),F9,E9)) ; 15:54:56 %~ ( satisfy_each(postCond(_2),Postconds,G9,D9) , 15:54:56 %~ send_1percept(Agent,Action,D9,E9))) , 15:54:56 %~ episodic_mem( Agent, 15:54:56 %~ implications(DoesEvent,Action,Preconds,Postconds)) , 15:54:56 %~ C9=E9 , 15:54:56 %~ dbug1( used_implications(DoesEvent,Action,Preconds,Postconds)) , 15:54:56 %~ B9=C9 , 15:54:56 %~ ! , 15:54:56 %~ I9=B9. 15:54:56 /* ( aXiom_p1(Action) ==>> 15:54:56 ( { oper_splitk(Agent,Action,Preconds,Postconds) } , 15:54:56 { dbug1( using_oper_splitk(Agent,Action,Preconds,Postconds)) } , 15:54:56 satisfy_each(preCond(_1),Preconds) , 15:54:56 ( sg(member(failed(Why))),send_1percept(Agent,failed(Action,Why)) ; 15:54:56 ( satisfy_each(postCond(_2),Postconds) , 15:54:56 send_1percept(Agent,success(Action)))) , 15:54:56 { dbug1( used_oper_splitk(Agent,Action,Preconds,Postconds)) } , 15:54:56 !)) */ 15:54:56 %~ aXiom_p1(Action,A9,I9) :- 15:54:56 %~ oper_splitk(Agent,Action,Preconds,Postconds) , 15:54:56 %~ H9=A9 , 15:54:56 %~ dbug1( using_oper_splitk(Agent,Action,Preconds,Postconds)) , 15:54:56 %~ G9=H9 , 15:54:56 %~ satisfy_each(preCond(_1),Preconds,G9,F9) , 15:54:56 %~ ( ( sg(member(failed(Why)),F9,E9) , 15:54:56 %~ send_1percept(Agent,failed(Action,Why),E9,D9)) ; 15:54:56 %~ ( satisfy_each(postCond(_2),Postconds,F9,C9) , 15:54:56 %~ send_1percept(Agent,success(Action),C9,D9))) , 15:54:56 %~ dbug1( used_oper_splitk(Agent,Action,Preconds,Postconds)) , 15:54:56 %~ B9=D9 , 15:54:56 %~ ! , 15:54:56 %~ I9=B9. 15:54:56 /* ( aXiom_p2(Action,S,E) ::= 15:54:56 ( append_termlist(Action,[S,E],ActionSE) , 15:54:56 current_predicate(_15778,mu:ActionSE) , 15:54:56 adv_safe_to_call(ActionSE) , 15:54:56 ! , 15:54:56 call(Action,S,E))) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:107 15:54:56 %~ aXiom_p2(Action,S,E) :- 15:54:56 %~ append_termlist(Action,[S,E],ActionSE) , 15:54:56 %~ current_predicate(Kw,mu:ActionSE) , 15:54:56 %~ adv_safe_to_call(ActionSE) , 15:54:56 %~ ! , 15:54:56 %~ call(Action,S,E). 15:54:56 /* ( aXiom_p2(Action,S,E) ::= 15:54:56 ( current_predicate(Kw,mu:Action) , 15:54:56 ! , 15:54:56 adv_safe_to_call(Action) , 15:54:56 call(Action) , 15:54:56 S=E)) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:114 15:54:56 %~ aXiom_p2(Action,S,E) :- 15:54:56 %~ current_predicate(Kw,mu:Action) , 15:54:56 %~ ! , 15:54:56 %~ adv_safe_to_call(Action) , 15:54:56 %~ call(Action) , 15:54:56 %~ S=E. 15:54:56 /* ( aXiom_p1(Action) ==>> 15:54:56 ( action_doer(Action,Agent) , 15:54:56 invoke_introspect(Agent,Action,Answer) , 15:54:56 send_1percept(Agent,[answer(Answer),Answer]) , 15:54:56 !)) */ 15:54:56 %~ aXiom_p1(Action,A9,E9) :- 15:54:56 %~ action_doer(Action,Agent,A9,D9) , 15:54:56 %~ invoke_introspect(Agent,Action,Answer,D9,C9) , 15:54:56 %~ send_1percept(Agent,[answer(Answer),Answer],C9,B9) , 15:54:56 %~ ! , 15:54:56 %~ E9=B9. 15:54:56 /* ( aXiom_p1( print_(Agent,Msg)) ==>> 15:54:56 ( h(spatial,descended,Agent,Here) , 15:54:56 queue_local_event(msg_from(Agent,Msg),[Here]))) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:130 15:54:56 %~ aXiom_p1(print_(Agent,Msg),A9,C9) :- 15:54:56 %~ h(spatial,descended,Agent,Here,A9,B9) , 15:54:56 %~ queue_local_event(msg_from(Agent,Msg),[Here],B9,C9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(wait,Agent,[]))) ==>> 15:54:56 from_loc(Agent,Here),queue_local_event(time_passes(Agent),Here)) */ 15:54:56 %~ aXiom_p1(attempts(Agent,act3(wait,Agent,[])),A9,C9) :- 15:54:56 %~ from_loc(Agent,Here,A9,B9) , 15:54:56 %~ queue_local_event(time_passes(Agent),Here,B9,C9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(english,Agent,[English]))) ==>> 15:54:56 eng2cmd(Agent,English,Action),add_intent(Agent,Action)) */ 15:54:56 %~ aXiom_p1(attempts(Agent,act3(english,Agent,[English])),A9,C9) :- 15:54:56 %~ eng2cmd(Agent,English,Action,A9,B9) , 15:54:56 %~ add_intent(Agent,Action,B9,C9). 15:54:56 /* ( aXiom_p1( intent_english(Agent,English)) ==>> 15:54:56 !,{assertz(mu_global:console_tokens(Agent,English))}) */ 15:54:56 %~ aXiom_p1(intent_english(Agent,English),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ assertz( mu_global : console_tokens(Agent,English)) , 15:54:56 %~ B9=A9. 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(talk,Agent,[Object,Message]))) ==>> 15:54:56 ( can_sense(Agent,audio,Object) , 15:54:56 from_loc(Agent,Here) , 15:54:56 queue_local_event( 15:54:56 [ did( Agent, 15:54:56 act3(talk,Agent,[Here,Object,Message]))], 15:54:56 [Here]))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts(Agent,act3(talk,Agent,[Object,Message])), A9,D9) :- 15:54:56 %~ can_sense(Agent,audio,Object,A9,C9) , 15:54:56 %~ from_loc(Agent,Here,C9,B9) , 15:54:56 %~ queue_local_event( 15:54:56 %~ [ did( Agent, 15:54:56 %~ act3(talk,Agent,[Here,Object,Message]))], [Here],B9,D9). 15:54:56 /* ( aXiom_p1( say(Agent,Message)) ==>> 15:54:56 ( from_loc(Agent,Here) , 15:54:56 queue_local_event( 15:54:56 [ did(Agent,act3(talk,Agent,[Here,*,Message]))], 15:54:56 [Here]))) */ 15:54:56 %~ aXiom_p1(say(Agent,Message),A9,C9) :- 15:54:56 %~ from_loc(Agent,Here,A9,B9) , 15:54:56 %~ queue_local_event( 15:54:56 %~ [ did(Agent,act3(talk,Agent,[Here,*,Message]))], [Here],B9,C9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3(emote,Agent,[EmoteType,Object,Message]))) ==>> 15:54:56 ( ! , 15:54:56 from_loc(Agent,Here) , 15:54:56 queue_local_event( 15:54:56 [ act3(emote,Agent,[EmoteType,Object,Message])], 15:54:56 [Here]))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(emote,Agent,[EmoteType,Object,Message])), A9,C9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ from_loc(Agent,Here,A9,B9) , 15:54:56 %~ queue_local_event( 15:54:56 %~ [ act3(emote,Agent,[EmoteType,Object,Message])], [Here],B9,C9). 15:54:56 /* ( aXiom_p1( terminates( h(Spatially,Prep,Object,Here))) ==>> 15:54:56 !,undeclare(h(Spatially,Prep,Object,Here))) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:163 15:54:56 %~ aXiom_p1(terminates(h(Spatially,Prep,Object,Here)),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ undeclare(h(Spatially,Prep,Object,Here),A9,B9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3(go__prep_obj,Agent,[Walk,At,Object]))) ==>> 15:54:56 ( will_need_touch(Agent,Object) , 15:54:56 has_rel(At,Object) , 15:54:56 \+( is_closed(At,Object)) , 15:54:56 eVent( Agent, 15:54:56 event3( arrive, 15:54:56 [At,Agent,Object], 15:54:56 [Walk,At])))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(go__prep_obj,Agent,[Walk,At,Object])), A9,F9) :- 15:54:56 %~ will_need_touch(Agent,Object,A9,E9) , 15:54:56 %~ has_rel(At,Object,E9,D9) , 15:54:56 %~ \+( is_closed(At,Object,D9,C9)) , 15:54:56 %~ B9=D9 , 15:54:56 %~ eVent( Agent, 15:54:56 %~ event3( arrive, 15:54:56 %~ [At,Agent,Object], 15:54:56 %~ [Walk,At]), B9,F9). 15:54:56 /* ( aXiom_p1( initiates( h(Spatially,Prep,Object,Dest))) ==>> 15:54:56 !,declare(h(Spatially,Prep,Object,Dest))) */ 15:54:56 %~ aXiom_p1(initiates(h(Spatially,Prep,Object,Dest)),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ declare(h(Spatially,Prep,Object,Dest),A9,B9). 15:54:56 /* ==>>(aXiom_p1(status_msg(_Begin,_End)),[]) */ 15:54:56 %~ aXiom_p1(status_msg(_Begin,_End),P1_Status_msg,P1_Status_msg) :- 15:54:56 %~ 15:54:56 %~ true. 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts(Agent,act3(go__obj,Agent,[Walk,Object])), 15:54:56 RECALC) ==>> 15:54:56 ( has_rel(At,Object) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(go__prep_obj,Agent,[Walk,At,Object])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(go__obj,Agent,[Walk,Object])), RECALC,A9,C9) :- 15:54:56 %~ has_rel(At,Object,A9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(go__prep_obj,Agent,[Walk,At,Object])), B9,C9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(go__loc,Agent,[_Walk,There]))) ==>> 15:54:56 ( has_rel(fn(exit,Fn_Exit),There) , 15:54:56 eVent(Agent,make_true(Agent,h(spatial,in,Agent,There))))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts(Agent,act3(go__loc,Agent,[_Walk,There])), A9,C9) :- 15:54:56 %~ has_rel(fn(exit,Fn_Exit),There,A9,B9) , 15:54:56 %~ eVent( Agent, 15:54:56 %~ make_true(Agent,h(spatial,in,Agent,There)), B9,C9). 15:54:56 /* ( aXiom_p1( make_true(Doer,h(spatial,in,Agent,There))) ==>> 15:54:56 ( { Doer==Agent } , 15:54:56 has_rel(fn(exit,Fn_Exit),There) , 15:54:56 from_loc(Agent,Here) , 15:54:56 agent_thought_model(Agent,ModelData) , 15:54:56 { find_path(Doer,Here,There,Route,ModelData) } , 15:54:56 ! , 15:54:56 eVent( Agent, 15:54:56 follow_plan( Agent, 15:54:56 did(Agent,act3(go__loc,Agent,[walk,There])), 15:54:56 Route)))) */ 15:54:56 %~ aXiom_p1(make_true(Doer,h(spatial,in,Agent,There)),A9,H9) :- 15:54:56 %~ Doer==Agent , 15:54:56 %~ G9=A9 , 15:54:56 %~ has_rel(fn(exit,Fn_Exit),There,G9,F9) , 15:54:56 %~ from_loc(Agent,Here,F9,E9) , 15:54:56 %~ agent_thought_model(Agent,ModelData,E9,D9) , 15:54:56 %~ find_path(Doer,Here,There,Route,ModelData) , 15:54:56 %~ C9=D9 , 15:54:56 %~ ! , 15:54:56 %~ B9=C9 , 15:54:56 %~ eVent( Agent, 15:54:56 %~ follow_plan( Agent, 15:54:56 %~ did(Agent,act3(go__loc,Agent,[walk,There])), 15:54:56 %~ Route), B9,H9). 15:54:56 /* ==>>(aXiom_p1(make_true(Agent,FACT)),add_agent_goal(Agent,FACT)) */ 15:54:56 %~ aXiom_p1(make_true(Agent,FACT),A9,B9) :- 15:54:56 %~ 15:54:56 %~ add_agent_goal(Agent,FACT,A9,B9). 15:54:56 /* ==>>(aXiom_p1(add_intent(Agent,TODO)),add_agent_intent(Agent,TODO)) */ 15:54:56 %~ aXiom_p1(add_intent(Agent,TODO),A9,B9) :- 15:54:56 %~ 15:54:56 %~ add_agent_intent(Agent,TODO,A9,B9). 15:54:56 /* ( aXiom_p1( follow_plan(Agent,Name,[])) ==>> 15:54:56 !,send_1percept(Agent,[success(followed_plan(Agent,Name))])) */ 15:54:56 %~ aXiom_p1(follow_plan(Agent,Name,[]),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ send_1percept( Agent, 15:54:56 %~ [ success( followed_plan(Agent,Name))], A9,B9). 15:54:56 /* ( aXiom_p1( follow_plan(Agent,Name,[Step])) ==>> 15:54:56 ( eVent(Agent,follow_step(Agent,Name,Step)) , 15:54:56 eVent(Agent,follow_plan(Agent,Name,CO_Route)))) */ 15:54:56 %~ aXiom_p1(follow_plan(Agent,Name,[Step|Route]),A9,C9) :- 15:54:56 %~ eVent(Agent,follow_step(Agent,Name,Step),A9,B9) , 15:54:56 %~ eVent(Agent,follow_plan(Agent,Name,Route),B9,C9). 15:54:56 /* ( aXiom_p1( follow_step(Agent,Name,Step)) ==>> 15:54:56 {dbug1(follow_step(Agent,Name,Step))},raise_aXiom_events(Step)) */ 15:54:56 %~ aXiom_p1(follow_step(Agent,Name,Step),A9,C9) :- 15:54:56 %~ dbug1( follow_step(Agent,Name,Step)) , 15:54:56 %~ B9=A9 , 15:54:56 %~ raise_aXiom_events(Step,B9,C9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(take,Agent,[Thing])),RECALC) ==>> 15:54:56 ( ! , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put__via,Agent,[take,Thing,held_by,Agent])))) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:243 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(take,Agent,[Thing])), RECALC,A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put__via,Agent,[take,Thing,held_by,Agent])), A9,B9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(drop,Agent,[Thing])),RECALC) ==>> 15:54:56 ( ! , 15:54:56 dshow_failure( h(spatial,At,Agent,Here)) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put__via,Agent,[drop,Thing,At,Here])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(drop,Agent,[Thing])), RECALC,A9,C9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ dshow_failure(h(spatial,At,Agent,Here),A9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put__via,Agent,[drop,Thing,At,Here])), B9,C9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3(put,Agent,[Thing1,PrepAt,Thing2])), 15:54:56 RECALC) ==>> 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put__via,Agent,[put,Thing1,PrepAt,Thing2]))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put,Agent,[Thing1,PrepAt,Thing2])), RECALC,A9,B9) :- 15:54:56 %~ 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put__via,Agent,[put,Thing1,PrepAt,Thing2])), A9,B9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts(Agent,act3(give,Agent,[Thing,Recipient])), 15:54:56 RECALC) ==>> 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put__via,Agent,[give,Thing,held_by,Recipient]))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(give,Agent,[Thing,Recipient])), RECALC,A9,B9) :- 15:54:56 %~ 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put__via,Agent,[give,Thing,held_by,Recipient])), A9,B9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3( put__via, 15:54:56 Agent, 15:54:56 [How,Thing1,Prep,Thing2]))) ==>> 15:54:56 ( {fail} , 15:54:56 ! , 15:54:56 dshow_failure( prep_to_rel(Thing2,Prep,At)) , 15:54:56 from_loc(Agent,Here) , 15:54:56 dshow_failure( has_rel(At,Thing2)) , 15:54:56 dshow_failure( will_need_touch(Agent,Thing2)) , 15:54:56 moveto( Agent, 15:54:56 How, Thing1,At,Thing2, 15:54:56 [Here], 15:54:56 [ cap( subj(Agent)), 15:54:56 person(How,es(How)), Thing1,At,Thing2, 15:54:56 '.']))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( put__via, 15:54:56 %~ Agent, 15:54:56 %~ [How,Thing1,Prep,Thing2])), A9,H9) :- 15:54:56 %~ fail , 15:54:56 %~ G9=A9 , 15:54:56 %~ ! , 15:54:56 %~ F9=G9 , 15:54:56 %~ dshow_failure(prep_to_rel(Thing2,Prep,At),F9,E9) , 15:54:56 %~ from_loc(Agent,Here,E9,D9) , 15:54:56 %~ dshow_failure(has_rel(At,Thing2),D9,C9) , 15:54:56 %~ dshow_failure(will_need_touch(Agent,Thing2),C9,B9) , 15:54:56 %~ moveto( Agent, 15:54:56 %~ How, Thing1,At,Thing2, 15:54:56 %~ [Here], 15:54:56 %~ [ cap( subj(Agent)), person(How,es(How)),Thing1, 15:54:56 %~ At,Thing2,'.'], B9,H9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts(Agent,act3(throw_dir,Agent,[Thing,ExitName])), 15:54:56 RECALC) ==>> 15:54:56 ( from_loc(Agent,Here) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(throw_prep_obj,Agent,[Thing,ExitName,Here])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(throw_dir,Agent,[Thing,ExitName])), RECALC,A9,C9) :- 15:54:56 %~ from_loc(Agent,Here,A9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(throw_prep_obj,Agent,[Thing,ExitName,Here])), B9,C9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts(Agent,act3(throw_at,Agent,[Thing,Target])), 15:54:56 RECALC) ==>> 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(throw_prep_obj,Agent,[Thing,at,Target]))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(throw_at,Agent,[Thing,Target])), RECALC,A9,B9) :- 15:54:56 %~ 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(throw_prep_obj,Agent,[Thing,at,Target])), A9,B9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3(throw_prep_obj,Agent,[Thing,Prep,Target])), 15:54:56 RECALC) ==>> 15:54:56 ( prep_to_rel(Target,Prep,Rel) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put,Agent,[throw,Thing,Rel,Target])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(throw_prep_obj,Agent,[Thing,Prep,Target])), RECALC,A9,C9) :- 15:54:56 %~ prep_to_rel(Target,Prep,Rel,A9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put,Agent,[throw,Thing,Rel,Target])), B9,C9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3(throw,Agent,[Thing,Prep,Target])), 15:54:56 RECALC) ==>> 15:54:56 ( prep_to_rel(Target,Prep,Rel);Prep=Rel , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(put,Agent,[throw,Thing,Rel,Target])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(throw,Agent,[Thing,Prep,Target])), RECALC,A9,C9) :- 15:54:56 %~ ( prep_to_rel(Target,Prep,Rel,A9,B9) ; 15:54:56 %~ =(Prep,Rel,A9,B9)) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(put,Agent,[throw,Thing,Rel,Target])), B9,C9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3(throw,Agent,[Thing,At,Target]))) ==>> 15:54:56 ( will_need_touch(Agent,Thing) , 15:54:56 can_sense(Agent,see,Target) , 15:54:56 eVent( Agent, 15:54:56 act3(throw,Agent,[Thing,At,Target])))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(throw,Agent,[Thing,At,Target])), A9,D9) :- 15:54:56 %~ will_need_touch(Agent,Thing,A9,C9) , 15:54:56 %~ can_sense(Agent,see,Target,C9,B9) , 15:54:56 %~ eVent( Agent, 15:54:56 %~ act3(throw,Agent,[Thing,At,Target]), B9,D9). 15:54:56 /* ( aXiom_p1( act3(throw,Agent,[Thing,AtTarget,Target])) ==>> 15:54:56 ( ignore( ( getprop(Thing,breaks_into(Broken)) , 15:54:56 dbug(general,'object ~p is breaks_into~n',[Thing]) , 15:54:56 eVent(Agent,thing_transforms(Thing,Broken)))) , 15:54:56 eVent( Agent, 15:54:56 disgorge( Agent, 15:54:56 do_throw, Target,AtTarget,Target, 15:54:56 [Target],'Something falls out.')))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ act3(throw,Agent,[Thing,AtTarget,Target]), A9,C9) :- 15:54:56 %~ ignore( 15:54:56 %~ ( getprop(Thing,breaks_into(Broken)) , 15:54:56 %~ dbug(general,'object ~p is breaks_into~n',[Thing]) , 15:54:56 %~ eVent(Agent,thing_transforms(Thing,Broken))), A9,B9) , 15:54:56 %~ eVent( Agent, 15:54:56 %~ disgorge( Agent, 15:54:56 %~ do_throw, Target,AtTarget,Target, 15:54:56 %~ [Target],'Something falls out.'), B9,C9). 15:54:56 /* ( aXiom_p1( thing_transforms(Thing,Broken)) ==>> 15:54:56 ( undeclare( h(Spatial,At,Thing,Here)) , 15:54:56 declare( h(Spatial,At,Broken,Here)) , 15:54:56 queue_local_event([transformed(Thing,Broken)],Here))) */ 15:54:56 %~ aXiom_p1(thing_transforms(Thing,Broken),A9,D9) :- 15:54:56 %~ undeclare(h(Spatial,At,Thing,Here),A9,C9) , 15:54:56 %~ declare(h(Spatial,At,Broken,Here),C9,B9) , 15:54:56 %~ queue_local_event([transformed(Thing,Broken)],Here,B9,D9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(hit_with,Agent,[Thing,With]))) ==>> 15:54:56 ( from_loc(Agent,Here) , 15:54:56 invoke_hit(Agent,Thing,With,[Here]) , 15:54:56 send_1percept(Agent,[true,'OK.']))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts(Agent,act3(hit_with,Agent,[Thing,With])), A9,D9) :- 15:54:56 %~ from_loc(Agent,Here,A9,C9) , 15:54:56 %~ invoke_hit(Agent,Thing,With,[Here],C9,B9) , 15:54:56 %~ send_1percept(Agent,[true,'OK.'],B9,D9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(hit,Agent,[Thing]))) ==>> 15:54:56 ( from_loc(Agent,Here) , 15:54:56 invoke_hit(Agent,Thing,Agent,[Here]) , 15:54:56 send_1percept(Agent,[true,'OK.']))) */ 15:54:56 %~ aXiom_p1(attempts(Agent,act3(hit,Agent,[Thing])),A9,D9) :- 15:54:56 %~ from_loc(Agent,Here,A9,C9) , 15:54:56 %~ invoke_hit(Agent,Thing,Agent,[Here],C9,B9) , 15:54:56 %~ send_1percept(Agent,[true,'OK.'],B9,D9). 15:54:56 /* ( invoke_hit(Doer,Target,_With,Vicinity) ==>> 15:54:56 ignore( ( getprop(Target,breaks_into(Broken)) , 15:54:56 dbug(general,'target ~p is breaks_into~n',[Target]) , 15:54:56 undeclare( h(Spatial,Prep,Target,Here)) , 15:54:56 queue_local_event([transformed(Target,Broken)],Vicinity) , 15:54:56 declare( h(Spatial,Prep,Broken,Here)) , 15:54:56 disgorge(Doer,hit,Target,Prep,Here,Vicinity,'Something falls out.')))) */ 15:54:56 %~ invoke_hit(Doer,Target,_With,Vicinity,A9,B9) :- 15:54:56 %~ 15:54:56 %~ ignore( 15:54:56 %~ ( getprop(Target,breaks_into(Broken)) , 15:54:56 %~ dbug(general,'target ~p is breaks_into~n',[Target]) , 15:54:56 %~ undeclare( h(Spatial,Prep,Target,Here)) , 15:54:56 %~ queue_local_event([transformed(Target,Broken)],Vicinity) , 15:54:56 %~ declare( h(Spatial,Prep,Broken,Here)) , 15:54:56 %~ disgorge(Doer,hit,Target,Prep,Here,Vicinity,'Something falls out.')), A9,B9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3(dig,Agent,[Hole,Where,Tool]))) ==>> 15:54:56 ( { memberchk(Hole,[hole,trench,pit,ditch]), 15:54:56 memberchk(Where,[garden]), 15:54:56 memberchk(Tool,[shovel,spade]) } , 15:54:56 open_traverse(Tool,Agent) , 15:54:56 from_loc(Agent,Where) , 15:54:56 \+( h(spatial,_At,Hole,Where)) , 15:54:56 declare( h(spatial,in,Hole,Where)) , 15:54:56 setprop(Hole,default_rel=in) , 15:54:56 setprop(Hole,can_be(move,f)) , 15:54:56 setprop(Hole,can_be(take,f)) , 15:54:56 declare( h(spatial,in,dirt,Where)) , 15:54:56 queue_event( [ created(Hole,Where), 15:54:56 [ cap( subj(Agent)), person(dig,digs),a,Hole,'in the', 15:54:56 Where,'.']]))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(dig,Agent,[Hole,Where,Tool])), A9,L9) :- 15:54:56 %~ memberchk(Hole,[hole,trench,pit,ditch]) , 15:54:56 %~ memberchk(Where,[garden]) , 15:54:56 %~ memberchk(Tool,[shovel,spade]) , 15:54:56 %~ K9=A9 , 15:54:56 %~ open_traverse(Tool,Agent,K9,J9) , 15:54:56 %~ from_loc(Agent,Where,J9,I9) , 15:54:56 %~ \+( h(spatial,_At,Hole,Where,I9,H9)) , 15:54:56 %~ G9=I9 , 15:54:56 %~ declare(h(spatial,in,Hole,Where),G9,F9) , 15:54:56 %~ setprop(Hole,default_rel=in,F9,E9) , 15:54:56 %~ setprop(Hole,can_be(move,f),E9,D9) , 15:54:56 %~ setprop(Hole,can_be(take,f),D9,C9) , 15:54:56 %~ declare(h(spatial,in,dirt,Where),C9,B9) , 15:54:56 %~ queue_event( 15:54:56 %~ [ created(Hole,Where), 15:54:56 %~ [ cap( subj(Agent)), person(dig,digs),a,Hole,'in the', 15:54:56 %~ Where,'.']], B9,L9). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(eat,Agent,[Thing]))) ==>> 15:54:56 ( getprop(Thing,can_be(eat,t)) -> 15:54:56 15:54:56 ( undeclare( h(spatial,_1,Thing,_2)) , 15:54:56 send_1percept(Agent,[destroyed(Thing),'Mmmm, good!'])) ; 15:54:56 send_1percept( Agent, [ 15:54:56 [ failure( attempts(Agent,act3(eat,Agent,[Thing]))), 15:54:56 'It\'s inedible!'])])) */ 15:54:56 %~ aXiom_p1(attempts(Agent,act3(eat,Agent,[Thing])),A9,D9) -> 15:54:56 %~ 15:54:56 %~ ( getprop(Thing,can_be(eat,t),A9,C9) -> 15:54:56 %~ undeclare(h(spatial,_1,Thing,_2),C9,B9) , 15:54:56 %~ send_1percept(Agent,[destroyed(Thing),'Mmmm, good!'],B9,D9) ; 15:54:56 %~ send_1percept( Agent, 15:54:56 %~ [ failure( attempts(Agent,act3(eat,Agent,[Thing]))), 15:54:56 %~ 'It\'s inedible!'], A9,D9)). 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(switch,Agent,[OnOff,Thing]))) ==>> 15:54:56 ( will_need_touch(Agent,Thing) , 15:54:56 getprop(Thing,can_be(switch(OnOff),t)) , 15:54:56 getprop(Thing,effect(switch(OnOff),Term0)) , 15:54:56 { adv_subst(equivalent,$self,Thing,Term0,Term) } , 15:54:56 call(Term) , 15:54:56 send_1percept(Agent,[success(true,'OK')]))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts(Agent,act3(switch,Agent,[OnOff,Thing])), A9,G9) :- 15:54:56 %~ will_need_touch(Agent,Thing,A9,F9) , 15:54:56 %~ getprop(Thing,can_be(switch(OnOff),t),F9,E9) , 15:54:56 %~ getprop(Thing,effect(switch(OnOff),Term0),E9,D9) , 15:54:56 %~ adv_subst(equivalent,$self,Thing,Term0,Term) , 15:54:56 %~ C9=D9 , 15:54:56 %~ call(Term,C9,B9) , 15:54:56 %~ send_1percept(Agent,[success(true,'OK')],B9,G9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(inventory,Who,[])),RECALC) ==>> 15:54:56 RECALC = 15:54:56 15:54:56 attempts(Agent,act3(examine,Agent,[Who]))) */ 15:54:56 %~ axiom_Recalc_e(attempts(Agent,act3(inventory,Who,[])),RECALC,A9,B9) :- 15:54:56 %~ 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts(Agent,act3(examine,Agent,[Who])), A9,B9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(look,Agent,[])),RECALC) ==>> 15:54:56 ( h(spatial,At,Agent,Here) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(examine__D3,Agent,[see,At,Here])))) */ 15:54:56 %~ axiom_Recalc_e(attempts(Agent,act3(look,Agent,[])),RECALC,A9,C9) :- 15:54:56 %~ h(spatial,At,Agent,Here,A9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts(Agent,act3(examine__D3,Agent,[see,At,Here])), B9,C9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(examine,Agent,[Sense])),RECALC) ==>> 15:54:56 ( { is_sense(Sense) } , 15:54:56 ! , 15:54:56 from_loc(Agent,Place) , 15:54:56 RECALC = 15:54:56 15:54:56 attempts(Agent,act3(examine__D3,Agent,[see,in,Place])))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(examine,Agent,[Sense])), RECALC,A9,E9) :- 15:54:56 %~ is_sense(Sense) , 15:54:56 %~ D9=A9 , 15:54:56 %~ ! , 15:54:56 %~ C9=D9 , 15:54:56 %~ from_loc(Agent,Place,C9,B9) , 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts(Agent,act3(examine__D3,Agent,[see,in,Place])), B9,E9). 15:54:56 /* ( axiom_Recalc_e(attempts(Agent,act3(examine,Agent,[Object])),RECALC) ==>> 15:54:56 RECALC = 15:54:56 15:54:56 attempts(Agent,act3(examine__D3,Agent,[see,at,Object]))) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(examine,Agent,[Object])), RECALC,A9,B9) :- 15:54:56 %~ 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts(Agent,act3(examine__D3,Agent,[see,at,Object])), A9,B9). 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts(Agent,act3(examine,Agent,[Sense,Object])), 15:54:56 RECALC) ==>> 15:54:56 ( RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(examine__D3,Agent,[Sense,at,Object])) , 15:54:56 !)) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:374 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts(Agent,act3(examine,Agent,[Sense,Object])), RECALC,A9,C9) :- 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts(Agent,act3(examine__D3,Agent,[Sense,at,Object])), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3(examine,Agent,[Sense,Prep,Object])), 15:54:56 RECALC) ==>> 15:54:56 ( RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(examine__D3,Agent,[Sense,Prep,Object])) , 15:54:56 !)) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(examine,Agent,[Sense,Prep,Object])), RECALC,A9,C9) :- 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(examine__D3,Agent,[Sense,Prep,Object])), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3( examine, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])), 15:54:56 RECALC) ==>> 15:54:56 ( RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3( examine__D3, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])) , 15:54:56 !)) */ 15:54:56 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_axiom.pl:377 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), RECALC,A9,C9) :- 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D3, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3(examine__D3,Agent,[Sense,Prep,Object])), 15:54:56 RECALC) ==>> 15:54:56 ( RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3(examine__D5,Agent,[Sense,Prep,Object,3])) , 15:54:56 !)) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(examine__D3,Agent,[Sense,Prep,Object])), RECALC,A9,C9) :- 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3(examine__D5,Agent,[Sense,Prep,Object,3])), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( axiom_Recalc_e( 15:54:56 attempts( Agent, 15:54:56 act3( examine__D3, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])), 15:54:56 RECALC) ==>> 15:54:56 ( RECALC = 15:54:56 15:54:56 attempts( Agent, 15:54:56 act3( examine__D5, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])) , 15:54:56 !)) */ 15:54:56 %~ axiom_Recalc_e( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D3, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), RECALC,A9,C9) :- 15:54:56 %~ =( RECALC, 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D5, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3( examine__D5, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth]))) ==>> 15:54:56 ( \+( sg( can_sense_here(Agent,Sense))) , 15:54:56 ! , 15:54:56 raise_aXiom_events( failed( 15:54:56 did( Agent, 15:54:56 act3( examine, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])), 15:54:56 \+( can_sense_here(Agent,Sense)))))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D5, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), A9,E9) :- 15:54:56 %~ \+( sg(can_sense_here(Agent,Sense),A9,D9)) , 15:54:56 %~ C9=A9 , 15:54:56 %~ ! , 15:54:56 %~ B9=C9 , 15:54:56 %~ raise_aXiom_events( 15:54:56 %~ failed( 15:54:56 %~ did( Agent, 15:54:56 %~ act3( examine, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), 15:54:56 %~ \+( can_sense_here(Agent,Sense))), B9,E9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3( examine__D5, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth]))) ==>> 15:54:56 ( \+( sg( can_sense(Agent,Sense,Object))) , 15:54:56 ! , 15:54:56 raise_aXiom_events( failed( 15:54:56 did( Agent, 15:54:56 act3( examine, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth])), 15:54:56 \+( can_sense(Agent,Sense,Object)))))) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D5, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), A9,E9) :- 15:54:56 %~ \+( sg(can_sense(Agent,Sense,Object),A9,D9)) , 15:54:56 %~ C9=A9 , 15:54:56 %~ ! , 15:54:56 %~ B9=C9 , 15:54:56 %~ raise_aXiom_events( 15:54:56 %~ failed( 15:54:56 %~ did( Agent, 15:54:56 %~ act3( examine, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), 15:54:56 %~ \+( can_sense(Agent,Sense,Object))), B9,E9). 15:54:56 /* ( aXiom_p1( attempts( Agent, 15:54:56 act3( examine__D5, 15:54:56 Agent, 15:54:56 [Sense,Prep,Object,Depth]))) ==>> 15:54:56 act_examine(Agent,Sense,Prep,Object,Depth),!) */ 15:54:56 %~ aXiom_p1( 15:54:56 %~ attempts( Agent, 15:54:56 %~ act3( examine__D5, 15:54:56 %~ Agent, 15:54:56 %~ [Sense,Prep,Object,Depth])), A9,C9) :- 15:54:56 %~ must_mw1( 15:54:56 %~ act_examine(Agent,Sense,Prep,Object,Depth), A9,B9) , 15:54:56 %~ ! , 15:54:56 %~ C9=B9. 15:54:56 /* ( aXiom_p1( attempts(Agent,act3(touch,Agent,[Thing]))) ==>> 15:54:56 ( ! , 15:54:56 unless_reason( Agent, 15:54:56 will_need_touch(Agent,Thing), 15:54:56 cant( reach(Agent,Thing)), 15:54:56 send_1percept(Agent,[success(act3(touch,Agent,[Thing]),'Ok.')])))) */ 15:54:56 %~ aXiom_p1(attempts(Agent,act3(touch,Agent,[Thing])),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ unless_reason( Agent, 15:54:56 %~ will_need_touch(Agent,Thing), 15:54:56 %~ cant( reach(Agent,Thing)), 15:54:56 %~ send_1percept(Agent,[success(act3(touch,Agent,[Thing]),'Ok.')]), A9,B9). 15:54:56 /* ( aXiom_p1( change_state(Agent,Action,Thing,Prop)) ==>> 15:54:56 !,change_state(Agent,Action,Thing,Prop)) */ 15:54:56 %~ aXiom_p1(change_state(Agent,Action,Thing,Prop),A9,B9) :- 15:54:56 %~ ! , 15:54:56 %~ A9=A9 , 15:54:56 %~ change_state(Agent,Action,Thing,Prop,A9,B9). 15:54:56 /* ( aXiom_p1(Action,S0,S9) ::= 15:54:56 ( action_verb_agent_thing(Action,Verb,Agent,Thing) , 15:54:56 nonvar(Verb) , 15:54:56 nonvar(Thing) , 15:54:56 nonvar(Agent) , 15:54:56 act_change_state_or_fallback(Verb,State,TF) , 15:54:56 ! , 15:54:56 eVent( Agent, 15:54:56 change_state(Agent,Action,Thing,State=TF), S0,S9) , 15:54:56 !)) */ 15:54:56 %~ aXiom_p1(Action,S0,S9) :- 15:54:56 %~ action_verb_agent_thing(Action,Verb,Agent,Thing) , 15:54:56 %~ nonvar(Verb) , 15:54:56 %~ nonvar(Thing) , 15:54:56 %~ nonvar(Agent) , 15:54:56 %~ act_change_state_or_fallback(Verb,State,TF) , 15:54:56 %~ ! , 15:54:56 %~ eVent( Agent, 15:54:56 %~ change_state(Agent,Action,Thing,State=TF), S0,S9) , 15:54:57 %~ !. 15:54:57 /* ( invoke_command(Requester,attempts(Agent,Action)) ==>> 15:54:57 ( { Requester==Agent } , 15:54:57 invoke_command(Agent,Action) , 15:54:57 !)) */ 15:54:57 %~ invoke_command(Requester,attempts(Agent,Action),A9,D9) :- 15:54:57 %~ Requester==Agent , 15:54:57 %~ C9=A9 , 15:54:57 %~ invoke_command(Agent,Action,C9,B9) , 15:54:57 %~ ! , 15:54:57 %~ D9=B9. 15:54:57 /* ( invoke_command(Agent,Action) ==>> 15:54:57 ( invoke_metacmd(Agent,Action) , 15:54:57 { overwrote_prompt(Agent) } , 15:54:57 !)) */ 15:54:57 %~ invoke_command(Agent,Action,A9,D9) :- 15:54:57 %~ invoke_metacmd(Agent,Action,A9,C9) , 15:54:57 %~ overwrote_prompt(Agent) , 15:54:57 %~ B9=C9 , 15:54:57 %~ ! , 15:54:57 %~ D9=B9. 15:54:57 /* ( invoke_command(Agent,Action) ==>> 15:54:57 ( { set_last_action(Agent,Action) } , 15:54:57 agent_try_action(Agent,Action) , 15:54:57 !)) */ 15:54:57 %~ invoke_command(Agent,Action,A9,D9) :- 15:54:57 %~ set_last_action(Agent,Action) , 15:54:57 %~ C9=A9 , 15:54:57 %~ agent_try_action(Agent,Action,C9,B9) , 15:54:57 %~ ! , 15:54:57 %~ D9=B9. 15:54:57 /* ( invoke_intents(Agent) ==>> 15:54:57 ( sg( declared( memories(Agent,Mem0))) , 15:54:57 { member(intent(Agent,[]),Mem0) } , 15:54:57 !)) */ 15:54:57 %~ invoke_intents(Agent,A9,D9) :- 15:54:57 %~ sg(declared(memories(Agent,Mem0)),A9,C9) , 15:54:57 %~ member(intent(Agent,[]),Mem0) , 15:54:57 %~ B9=C9 , 15:54:57 %~ ! , 15:54:57 %~ D9=B9. 15:54:57 /* ==>>(satisfy_each_cond(Ctxt,[],success(Ctxt)),!) */ 15:54:57 %~ satisfy_each_cond(Ctxt,[],success(Ctxt),A9,B9) :- 15:54:57 %~ ! , 15:54:57 %~ B9=A9. 15:54:57 /* ( satisfy_each_cond(Context,[Cond],Out) ==>> 15:54:57 ( satisfy_each(Context,Cond) , 15:54:57 ! , 15:54:57 ( sg( member( failed(Why))) -> 15:54:57 15:54:57 Out = 15:54:57 15:54:57 failed(Why) ; 15:54:57 satisfy_each_cond(Context,CondList,Out)) , 15:54:57 !)) */ 15:54:57 %~ satisfy_each_cond(Context,[Cond|CondList],Out,A9,F9) -> 15:54:57 %~ dmust_tracing(satisfy_each(Context,Cond),A9,E9) , 15:54:57 %~ ! , 15:54:57 %~ D9=E9 , 15:54:57 %~ ( sg(member(failed(Why)),D9,C9) -> 15:54:57 %~ 15:54:57 %~ =(Out,failed(Why),C9,B9) ; 15:54:57 %~ satisfy_each_cond(Context,CondList,Out,D9,B9)) , 15:54:57 %~ ! , 15:54:57 %~ F9=B9. 15:54:57 /* ==>>(satisfy_each2(Ctx,Cond),satisfy_each1(Ctx,Cond)) */ 15:54:57 %~ satisfy_each2(Ctx,Cond,A9,B9) :- 15:54:57 %~ 15:54:57 %~ satisfy_each1(Ctx,Cond,A9,B9). 15:54:57 /* ==>>(satisfy_each2(Cond3,Cond),[failed(Cond)]) */ 15:54:57 %~ satisfy_each2( Cond2, 15:54:57 %~ Cond, 15:54:57 %~ [ failed(Cond) | 15:54:57 %~ Each2_Failed], 15:54:57 %~ Each2_Failed) :- 15:54:57 %~ 15:54:57 %~ true. 15:54:57 /* ( satisfy_each1(_Context,h(spatial,P,_X,_Y)) ==>> 15:54:57 {P==takeable},!) */ 15:54:57 %~ satisfy_each1(_Context,h(spatial,P,_X,_Y),A9,C9) :- 15:54:57 %~ P==takeable , 15:54:57 %~ B9=A9 , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ( satisfy_each1(Context,List) ==>> 15:54:57 ( { is_list(List) } , 15:54:57 ! , 15:54:57 satisfy_each_cond(Context,List,Out) , 15:54:57 ! , 15:54:57 { Out\=failed(Failed) })) */ 15:54:57 %~ satisfy_each1(Context,List,A9,F9) :- 15:54:57 %~ is_list(List) , 15:54:57 %~ E9=A9 , 15:54:57 %~ ! , 15:54:57 %~ D9=E9 , 15:54:57 %~ satisfy_each_cond(Context,List,Out,D9,C9) , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ Out\=failed(Failed) , 15:54:57 %~ F9=B9. 15:54:57 /* ==>>(satisfy_each1(_Ctx,A\=B),({dif(A,B)},!)) */ 15:54:57 %~ satisfy_each1(_Ctx,A\=B,A9,C9) :- 15:54:57 %~ dif(A,B) , 15:54:57 %~ B9=A9 , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ==>>(satisfy_each1(_Ctxt,exists(Ex)),(!,{ground(Ex)})) */ 15:54:57 %~ satisfy_each1(_Ctxt,exists(Ex),A9,B9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ ground(Ex) , 15:54:57 %~ B9=A9. 15:54:57 /* ( satisfy_each1(Context,believe(Beliver,Cond)) ==>> 15:54:57 ( pre_redeclare( memories(Beliver,Memory)) , 15:54:57 { satisfy_each_always(Context,Cond,Memory,NewMemory) } , 15:54:57 ! , 15:54:57 redeclare( memories(Beliver,NewMemory)))) */ 15:54:57 %~ satisfy_each1(Context,believe(Beliver,Cond),A9,E9) :- 15:54:57 %~ pre_redeclare(memories(Beliver,Memory),A9,D9) , 15:54:57 %~ satisfy_each_always(Context,Cond,Memory,NewMemory) , 15:54:57 %~ C9=D9 , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ redeclare(memories(Beliver,NewMemory),B9,E9). 15:54:57 /* ( satisfy_each1(Context,believe(_Beliver,Cond)) ==>> 15:54:57 ( ! , 15:54:57 satisfy_each(Context,Cond) , 15:54:57 !)) */ 15:54:57 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:291 15:54:57 %~ satisfy_each1(Context,believe(_Beliver,Cond),A9,C9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ satisfy_each(Context,Cond,A9,B9) , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ==>>(satisfy_each1(postCond(_Action),~Cond),(!,undeclare_always(Cond))) */ 15:54:57 %~ satisfy_each1(postCond(_Action),~Cond,A9,B9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ undeclare_always(Cond,A9,B9). 15:54:57 /* ( satisfy_each1(Ctx_Percept_local,percept_local(Where,Event)) ==>> 15:54:57 !,queue_local_event([Event],[Where])) */ 15:54:57 %~ satisfy_each1(Percept_local,percept_local(Where,Event),A9,B9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ queue_local_event([Event],[Where],A9,B9). 15:54:57 /* ( satisfy_each1(Ctx_Percept,percept(Agent,Event)) ==>> 15:54:57 !,send_1percept(Agent,Event)) */ 15:54:57 %~ satisfy_each1(Percept,percept(Agent,Event),A9,B9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ send_1percept(Agent,Event,A9,B9). 15:54:57 /* ( satisfy_each1(Context,~Cond) ==>> 15:54:57 !,(\+satisfy_each1(Context,Cond);[failed(Cond)])) */ 15:54:57 %~ satisfy_each1(Context,~Cond,A9,C9) :- 15:54:57 %~ ! , 15:54:57 %~ A9=A9 , 15:54:57 %~ ( \+satisfy_each1(Context,Cond,A9,B9),C9=A9 ; 15:54:57 %~ A9 = 15:54:57 %~ 15:54:57 %~ [ failed(Cond) | 15:54:57 %~ C9]). 15:54:57 /* ( satisfy_each1(Ctx_Call,call(Cond)) ==>> 15:54:57 declared(Cond)*->true;apply_aXioms(Cond)) */ 15:54:57 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:308 15:54:57 %~ satisfy_each1(Call,call(Cond),A9,C9) :- 15:54:57 %~ 15:54:57 %~ ( declared(Cond,A9,B9)*->true(B9,C9) ; 15:54:57 %~ apply_aXioms(Cond,A9,C9)). 15:54:57 /* ==>>(satisfy_each1(Ctx_Cond1,Cond),(declared(Cond),!)) */ 15:54:57 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:309 15:54:57 %~ satisfy_each1(Cond1,Cond,A9,C9) :- 15:54:57 %~ declared(Cond,A9,B9) , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ( satisfy_each1(postCond(_Action),Cond) ==>> 15:54:57 ( { old_figment(Cond,_F,_A,Old) } , 15:54:57 undeclare_always(Old) , 15:54:57 ! , 15:54:57 declare(Cond))) */ 15:54:57 %~ satisfy_each1(postCond(_Action),Cond,A9,D9) :- 15:54:57 %~ must( 15:54:57 %~ {old_figment(Cond,_F,_A,Old)},undeclare_always(Old), A9,C9) , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ declare(Cond,B9,D9). 15:54:57 /* ==>>(api_invoke(Action),apply_aXioms(Action)) */ 15:54:57 %~ api_invoke(Action,A9,B9) :- 15:54:57 %~ 15:54:57 %~ apply_aXioms(Action,A9,B9). 15:54:57 /* ==>>(apply_aXioms(Action),(aXiom(Action),!)) */ 15:54:57 %~ apply_aXioms(Action,A9,C9) :- 15:54:57 %~ aXiom(Action,A9,B9) , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ( raise_aXiom_events(Action) ==>> 15:54:57 ( action_doer(Action,Agent) , 15:54:57 send_1percept(Agent,[failure(Action,unknown_to(Agent,Action))]))) */ 15:54:57 %~ raise_aXiom_events(Action,A9,C9) :- 15:54:57 %~ action_doer(Action,Agent,A9,B9) , 15:54:57 %~ send_1percept( Agent, 15:54:57 %~ [ failure(Action,unknown_to(Agent,Action))], B9,C9). 15:54:57 /* ==>>(unless_reason(_Agent,Then,_Msg),(Then,!)) */ 15:54:57 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:421 15:54:57 %~ unless_reason(_Agent,Then,_Msg,A9,C9) :- 15:54:57 %~ phrase(Then,A9,B9) , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ( unless_reason(Agent,_Then,Msg) ==>> 15:54:57 ( { event_failed(Agent,Msg) } , 15:54:57 ! , 15:54:57 {fail})) */ 15:54:57 %~ unless_reason(Agent,_Then,Msg,A9,D9) :- 15:54:57 %~ event_failed(Agent,Msg) , 15:54:57 %~ C9=A9 , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ fail , 15:54:57 %~ D9=B9. 15:54:57 /* ( unless_reason(_Agent,Unless,_Msg,Then) ==>> 15:54:57 ( Unless , 15:54:57 ! , 15:54:57 Then)) */ 15:54:57 %~ unless_reason(_Agent,Unless,_Msg,Then,A9,D9) :- 15:54:57 %~ phrase(Unless,A9,C9) , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ phrase(Then,B9,D9). 15:54:57 /* ( unless_reason(Agent,_Unless,Msg,_Then) ==>> 15:54:57 {event_failed(Agent,Msg)},!) */ 15:54:57 %~ unless_reason(Agent,_Unless,Msg,_Then,A9,C9) :- 15:54:57 %~ event_failed(Agent,Msg) , 15:54:57 %~ B9=A9 , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ==>>(unless(_Agent,Required,Then),(Required,!,Then)) */ 15:54:57 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:429 15:54:57 %~ unless(_Agent,Required,Then,A9,D9) :- 15:54:57 %~ phrase(Required,A9,C9) , 15:54:57 %~ ! , 15:54:57 %~ B9=C9 , 15:54:57 %~ phrase(Then,B9,D9). 15:54:57 /* ( unless(Agent,Required,_Then) ==>> 15:54:57 ( { simplify_reason(Required,CUZ), 15:54:57 event_failed(Agent,cant(cuz(\+CUZ))) } , 15:54:57 !)) */ 15:54:57 %~ unless(Agent,Required,_Then,A9,C9) :- 15:54:57 %~ simplify_reason(Required,CUZ) , 15:54:57 %~ event_failed(Agent,cant(cuz(\+CUZ))) , 15:54:57 %~ B9=A9 , 15:54:57 %~ ! , 15:54:57 %~ C9=B9. 15:54:57 /* ( add_intent_look(Agent) ==>> 15:54:57 ( h(spatial,inside,Agent,_Somewhere) , 15:54:57 add_agent_intent(Agent,attempts(Agent,act3(look,Agent,[]))))) */ 15:54:57 %~ add_intent_look(Agent,A9,C9) :- 15:54:57 %~ h(spatial,inside,Agent,_Somewhere,A9,B9) , 15:54:57 %~ add_agent_intent(Agent,attempts(Agent,act3(look,Agent,[])),B9,C9). 15:54:57 /* ( disgorge( Doer, 15:54:57 Verb, Container,Prep,Here, 15:54:57 Vicinity,Msg) ==>> 15:54:57 ( verb_domain(Verb,Spatially) , 15:54:57 findall(Inner,h(Spatially,child,Inner,Container),Contents) , 15:54:58 { dbug(general,'~p childs: ~p~n',[Container,Contents]) } , 15:54:58 moveto( Doer, 15:54:58 Verb, Contents,Prep,Here, 15:54:58 Vicinity,Msg))) */ 15:54:58 %~ disgorge( Doer, 15:54:58 %~ Verb, Container,Prep,Here, 15:54:58 %~ Vicinity,Msg,A9, 15:54:58 %~ E9) :- 15:54:58 %~ verb_domain(Verb,Spatially,A9,D9) , 15:54:58 %~ findall( Inner, 15:54:58 %~ h(Spatially,child,Inner,Container), Contents,D9,C9) , 15:54:58 %~ dbug(general,'~p childs: ~p~n',[Container,Contents]) , 15:54:58 %~ B9=C9 , 15:54:58 %~ moveto( Doer, 15:54:58 %~ Verb, Contents,Prep,Here, 15:54:58 %~ Vicinity,Msg,B9, 15:54:58 %~ E9). 15:54:58 /* ( moveto(Doer,Verb,List,At,Dest,Vicinity,Msg) ==>> 15:54:58 ( { is_list(List) } , 15:54:58 ! , 15:54:58 apply_mapl_rest_state( moveto(Doer,Verb), 15:54:58 List, 15:54:58 [At,Dest,Vicinity,Msg]))) */ 15:54:58 %~ moveto( Doer, 15:54:58 %~ Verb, List,At,Dest, 15:54:58 %~ Vicinity,Msg,A9, 15:54:58 %~ D9) :- 15:54:58 %~ is_list(List) , 15:54:58 %~ C9=A9 , 15:54:58 %~ ! , 15:54:58 %~ B9=C9 , 15:54:58 %~ apply_mapl_rest_state( moveto(Doer,Verb), 15:54:58 %~ List, 15:54:58 %~ [At,Dest,Vicinity,Msg], B9,D9). 15:54:58 /* ( moveto(Doer,Verb,Object,At,Dest,Vicinity,Msg) ==>> 15:54:58 ( undeclare( h(spatial,Prep_Spatial,Object,From)) , 15:54:58 declare( h(spatial,At,Object,Dest)) , 15:54:58 queue_local_event( 15:54:58 [ act3( move, 15:54:58 Doer, 15:54:58 [ Verb, Object,From,At, 15:54:58 Dest]), 15:54:58 Msg], 15:54:58 Vicinity))) */ 15:54:58 %~ moveto( Doer, 15:54:58 %~ Verb, Object,At,Dest, 15:54:58 %~ Vicinity,Msg,A9, 15:54:58 %~ D9) :- 15:54:58 %~ undeclare(h(spatial,Prep_Spatial,Object,From),A9,C9) , 15:54:58 %~ declare(h(spatial,At,Object,Dest),C9,B9) , 15:54:58 %~ queue_local_event( 15:54:58 %~ [ act3( move, 15:54:58 %~ Doer, 15:54:58 %~ [ Verb, Object,From,At, 15:54:58 %~ Dest]), 15:54:58 %~ Msg], Vicinity,B9,D9). 15:54:58 /* ( setloc_silent(Prep,Object,Dest) ==>> 15:54:58 ( undeclare( h(spatial,Prep_Spatial,Object,Target_Object4)) , 15:54:58 declare( h(spatial,Prep,Object,Dest)))) */ 15:54:58 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/prolog/episodic_memory/adv_action.pl:579 15:54:58 %~ setloc_silent(Prep,Object,Dest,A9,C9) :- 15:54:58 %~ undeclare(h(spatial,Prep_Spatial,Object,Target_Object4),A9,B9) , 15:54:58 %~ declare(h(spatial,Prep,Object,Dest),B9,C9). 15:54:58 ORDERING TEST: 15:54:58 unordered was [before(start,completeFn(CompleteFn)),before(start,x),before(start,y),before(y,completeFn(CompleteFn)),before(x,z),before(z,completeFn(CompleteFn))] 15:54:58 ordering is [before(z,completeFn(CompleteFn)),before(x,completeFn(CompleteFn)),before(x,z),before(start,z),before(y,completeFn(CompleteFn)),before(start,y),before(start,x),before(start,completeFn(CompleteFn))] 15:54:58 picked [start,x,y,z,completeFn(CompleteFn3)] 15:54:58 END ORDERING TEST 15:54:58 ============================================= 15:54:58 RESET STATE 15:54:58 %~ create_1obj(se_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(ss_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(sw_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(ee_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(cc_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(ww_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(ne_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(nn_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(nw_subregion,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/adv_story/adv_test_01.pl:34 15:54:58 %~ create_1obj(x(red_pebble,5),i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(x(red_pebble,4),i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(x(red_pebble,3),i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(x(red_pebble,2),i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(x(red_pebble,1),i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(x(blue_pebble,5),i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(x(blue_pebble,4),i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(x(blue_pebble,3),i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(x(blue_pebble,2),i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(x(blue_pebble,1),i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(ttt_table,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(brklamp,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(screendoor,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(apple,i1) 15:54:58 %~ create_1obj(crate,i1) 15:54:58 %~ create_1obj(crate,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(screendoor,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(fireplace,i1) 15:54:58 %~ create_1obj(living_room,i1) 15:54:58 %~ create_1obj(videocamera,i1) 15:54:58 %~ create_1obj(living_room,i1) 15:54:58 %~ create_1obj(shovel,i1) 15:54:58 %~ create_1obj(basement,i1) 15:54:58 %~ create_1obj(mushroom,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(water,i1) 15:54:58 %~ create_1obj(fountain,i1) 15:54:58 %~ create_1obj(fountain,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(x(rock,2),i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(rock,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(locker,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(shelf,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(living_room,i1) 15:54:58 %~ create_1obj(dining_room,i1) 15:54:58 %~ create_1obj(dining_room,i1) 15:54:58 %~ create_1obj(living_room,i1) 15:54:58 %~ create_1obj(dining_room,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(dining_room,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(garden,i1) 15:54:58 %~ create_1obj(basement,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(basement,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(wrench,i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(coins,i1) 15:54:58 %~ create_1obj(bag,i1) 15:54:58 %~ create_1obj(bag,i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(watch,i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(player,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(floyd,i1) 15:54:58 %~ create_1obj(pantry,i1) 15:54:58 %~ create_1obj(cup,i1) 15:54:58 %~ create_1obj(cabinate,i1) 15:54:58 %~ create_1obj(cabinate,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(plate,i1) 15:54:58 %~ create_1obj(sink,i1) 15:54:58 %~ create_1obj(sink,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(lamp,i1) 15:54:58 %~ create_1obj(table,i1) 15:54:58 %~ create_1obj(table,i1) 15:54:58 %~ create_1obj(kitchen,i1) 15:54:58 %~ create_1obj(flour,i1) 15:54:58 %~ create_1obj(bowl,i1) 15:54:58 %~ create_1obj(bowl,i1) 15:54:58 %~ create_1obj(box,i1) 15:54:58 %~ create_1obj(box,i1) 15:54:58 %~ create_1obj(table,i1) 15:54:58 %~ create_1obj(table,i1) 15:54:58 %~ create_1obj(table_leg,i1) 15:54:58 /* oldObjectList=[] */ 15:54:58 /* newObjectList = [ x(table_leg,i1), x(table,i1),x(box,i1),x(bowl,i1), 15:54:58 x(flour,i1),x(kitchen,i1),x(lamp,i1), 15:54:58 x(sink,i1),x(plate,i1),x(cabinate,i1), 15:54:58 x(cup,i1),x(pantry,i1),x(floyd,i1), 15:54:58 x(player,i1),x(watch,i1),x(bag,i1), 15:54:58 x(coins,i1),x(wrench,i1), 15:54:58 x(basement,i1),x(garden,i1), 15:54:58 x(dining_room,i1),x(living_room,i1), 15:54:58 x(shelf,i1),x(locker,i1),x(rock,i1), 15:54:58 x(fountain,i1),x(water,i1), 15:54:58 x(mushroom,i1),x(shovel,i1), 15:54:58 x(videocamera,i1),x(fireplace,i1), 15:54:58 x(screendoor,i1),x(crate,i1), 15:54:58 x(apple,i1),x(brklamp,i1), 15:54:58 x(ttt_table,i1),x(nw_subregion,i1), 15:54:58 x(nn_subregion,i1),x(ne_subregion,i1), 15:54:58 x(ww_subregion,i1),x(cc_subregion,i1), 15:54:58 x(ee_subregion,i1),x(sw_subregion,i1), 15:54:58 x(ss_subregion,i1),x(se_subregion,i1)] */ 15:54:58 /* mu_create_object( x(table_leg,i1), [ 15:54:58 [ shape=table_leg, traits([table_leg]),inherit(table_leg,t), 15:54:58 sp(nouns,[table_leg])])] */ 15:54:58 /* mu_create_object( x(table,i1), [ 15:54:58 [ shape=(table), traits([table]),inherit(table,t), 15:54:58 sp(nouns,[table])])] */ 15:54:58 /* mu_create_object( x(box,i1), [ 15:54:58 [ shape=box, traits([box]),inherit(box,t), 15:54:58 sp(nouns,[box])])] */ 15:54:58 /* mu_create_object( x(bowl,i1), [ 15:54:58 [ shape=bowl, traits([bowl]),inherit(bowl,t), 15:54:58 sp(nouns,[bowl])])] */ 15:54:58 /* mu_create_object( x(flour,i1), [ 15:54:58 [ shape=flour, traits([flour]),inherit(flour,t), 15:54:58 sp(nouns,[flour])])] */ 15:54:58 /* mu_create_object( x(kitchen,i1), [ 15:54:58 [ shape=kitchen, traits([kitchen]),inherit(kitchen,t), 15:54:58 sp(nouns,[kitchen])])] */ 15:54:58 /* mu_create_object( x(lamp,i1), [ 15:54:58 [ shape=lamp, traits([lamp]),inherit(lamp,t), 15:54:58 sp(nouns,[lamp])])] */ 15:54:58 /* mu_create_object( x(sink,i1), [ 15:54:58 [ shape=sink, traits([sink]),inherit(sink,t), 15:54:58 sp(nouns,[sink])])] */ 15:54:58 /* mu_create_object( x(plate,i1), [ 15:54:58 [ shape=plate, traits([plate]),inherit(plate,t), 15:54:58 sp(nouns,[plate])])] */ 15:54:58 /* mu_create_object( x(cabinate,i1), [ 15:55:04 [ shape=cabinate, traits([cabinate]),inherit(cabinate,t), 15:55:04 sp(nouns,[cabinate])])] */ 15:55:04 /* mu_create_object( x(cup,i1), [ 15:55:04 [ shape=cup, traits([cup]),inherit(cup,t), 15:55:04 sp(nouns,[cup])])] */ 15:55:04 /* mu_create_object( x(pantry,i1), [ 15:55:04 [ shape=pantry, traits([pantry]),inherit(pantry,t), 15:55:04 sp(nouns,[pantry])])] */ 15:55:04 /* mu_create_object( x(floyd,i1), [ 15:55:04 [ shape=floyd, traits([floyd]),inherit(floyd,t), 15:55:04 sp(nouns,[floyd])])] */ 15:55:04 /* mu_create_object( x(player,i1), [ 15:55:04 [ shape=player, traits([player]),inherit(player,t), 15:55:04 sp(nouns,[player])])] */ 15:55:04 /* mu_create_object( x(watch,i1), [ 15:55:04 [ shape=watch, traits([watch]),inherit(watch,t), 15:55:04 sp(nouns,[watch])])] */ 15:55:04 /* mu_create_object( x(bag,i1), [ 15:55:04 [ shape=bag, traits([bag]),inherit(bag,t), 15:55:04 sp(nouns,[bag])])] */ 15:55:04 /* mu_create_object( x(coins,i1), [ 15:55:04 [ shape=coins, traits([coins]),inherit(coins,t), 15:55:04 sp(nouns,[coins])])] */ 15:55:04 /* mu_create_object( x(wrench,i1), [ 15:55:04 [ shape=wrench, traits([wrench]),inherit(wrench,t), 15:55:04 sp(nouns,[wrench])])] */ 15:55:04 /* mu_create_object( x(basement,i1), [ 15:55:04 [ shape=basement, traits([basement]),inherit(basement,t), 15:55:04 sp(nouns,[basement])])] */ 15:55:04 /* mu_create_object( x(garden,i1), [ 15:55:04 [ shape=garden, traits([garden]),inherit(garden,t), 15:55:04 sp(nouns,[garden])])] */ 15:55:04 /* mu_create_object( x(dining_room,i1), [ 15:55:04 [ shape=dining_room, traits([dining_room]),inherit(dining_room,t), 15:55:04 sp(nouns,[dining_room])])] */ 15:55:04 /* mu_create_object( x(living_room,i1), [ 15:55:04 [ shape=living_room, traits([living_room]),inherit(living_room,t), 15:55:04 sp(nouns,[living_room])])] */ 15:55:04 /* mu_create_object( x(shelf,i1), [ 15:55:04 [ shape=shelf, traits([shelf]),inherit(shelf,t), 15:55:04 sp(nouns,[shelf])])] */ 15:55:04 /* mu_create_object( x(locker,i1), [ 15:55:04 [ shape=locker, traits([locker]),inherit(locker,t), 15:55:04 sp(nouns,[locker])])] */ 15:55:04 /* mu_create_object( x(rock,i1), [ 15:55:04 [ shape=rock, traits([rock]),inherit(rock,t), 15:55:04 sp(nouns,[rock])])] */ 15:55:04 /* mu_create_object( x(fountain,i1), [ 15:55:04 [ shape=fountain, traits([fountain]),inherit(fountain,t), 15:55:04 sp(nouns,[fountain])])] */ 15:55:04 /* mu_create_object( x(water,i1), [ 15:55:04 [ shape=water, traits([water]),inherit(water,t), 15:55:04 sp(nouns,[water])])] */ 15:55:04 /* mu_create_object( x(mushroom,i1), [ 15:55:04 [ shape=mushroom, traits([mushroom]),inherit(mushroom,t), 15:55:04 sp(nouns,[mushroom])])] */ 15:55:04 /* mu_create_object( x(shovel,i1), [ 15:55:04 [ shape=shovel, traits([shovel]),inherit(shovel,t), 15:55:04 sp(nouns,[shovel])])] */ 15:55:04 /* mu_create_object( x(videocamera,i1), [ 15:55:04 [ shape=videocamera, traits([videocamera]),inherit(videocamera,t), 15:55:04 sp(nouns,[videocamera])])] */ 15:55:04 /* mu_create_object( x(fireplace,i1), [ 15:55:04 [ shape=fireplace, traits([fireplace]),inherit(fireplace,t), 15:55:04 sp(nouns,[fireplace])])] */ 15:55:04 /* mu_create_object( x(screendoor,i1), [ 15:55:04 [ shape=screendoor, traits([screendoor]),inherit(screendoor,t), 15:55:04 sp(nouns,[screendoor])])] */ 15:55:04 /* mu_create_object( x(crate,i1), [ 15:55:04 [ shape=crate, traits([crate]),inherit(crate,t), 15:55:04 sp(nouns,[crate])])] */ 15:55:04 /* mu_create_object( x(apple,i1), [ 15:55:04 [ shape=apple, traits([apple]),inherit(apple,t), 15:55:04 sp(nouns,[apple])])] */ 15:55:04 /* mu_create_object( x(brklamp,i1), [ 15:55:04 [ shape=brklamp, traits([brklamp]),inherit(brklamp,t), 15:55:04 sp(nouns,[brklamp])])] */ 15:55:04 /* mu_create_object( x(ttt_table,i1), [ 15:55:04 [ shape=ttt_table, traits([ttt_table]),inherit(ttt_table,t), 15:55:04 sp(nouns,[ttt_table])])] */ 15:55:04 /* mu_create_object( x(nw_subregion,i1), [ 15:55:04 [ shape=nw_subregion, traits([nw_subregion]),inherit(nw_subregion,t), 15:55:04 sp(nouns,[nw_subregion])])] */ 15:55:04 /* mu_create_object( x(nn_subregion,i1), [ 15:55:04 [ shape=nn_subregion, traits([nn_subregion]),inherit(nn_subregion,t), 15:55:04 sp(nouns,[nn_subregion])])] */ 15:55:04 /* mu_create_object( x(ne_subregion,i1), [ 15:55:04 [ shape=ne_subregion, traits([ne_subregion]),inherit(ne_subregion,t), 15:55:04 sp(nouns,[ne_subregion])])] */ 15:55:04 /* mu_create_object( x(ww_subregion,i1), [ 15:55:04 [ shape=ww_subregion, traits([ww_subregion]),inherit(ww_subregion,t), 15:55:04 sp(nouns,[ww_subregion])])] */ 15:55:04 /* mu_create_object( x(cc_subregion,i1), [ 15:55:04 [ shape=cc_subregion, traits([cc_subregion]),inherit(cc_subregion,t), 15:55:04 sp(nouns,[cc_subregion])])] */ 15:55:04 /* mu_create_object( x(ee_subregion,i1), [ 15:55:04 [ shape=ee_subregion, traits([ee_subregion]),inherit(ee_subregion,t), 15:55:04 sp(nouns,[ee_subregion])])] */ 15:55:04 /* mu_create_object( x(sw_subregion,i1), [ 15:55:04 [ shape=sw_subregion, traits([sw_subregion]),inherit(sw_subregion,t), 15:55:04 sp(nouns,[sw_subregion])])] */ 15:55:04 /* mu_create_object( x(ss_subregion,i1), [ 15:55:04 [ shape=ss_subregion, traits([ss_subregion]),inherit(ss_subregion,t), 15:55:04 sp(nouns,[ss_subregion])])] */ 15:55:04 /* mu_create_object( x(se_subregion,i1), [ 15:55:04 [ shape=se_subregion, traits([se_subregion]),inherit(se_subregion,t), 15:55:04 sp(nouns,[se_subregion])])] */ 15:55:04 ============================================= 15:55:04 ============================================= 15:55:04 INIT STATE 15:55:04 ============================================= 15:55:04 totalTime=10.000 15:55:04 15:55:04 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k adv_test_01.pl (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:55:04 15:55:05 ISSUE_INFO=703 OPEN logicmoo.agi.agi_test.adv_story.ADV_TEST_01 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.adv_story, ADV_TEST_01 2021-09-26 22:45:53 +0000 UTC 15:55:05 ISSUE_ID=703 15:55:05 ISSUE_OC=OPEN 15:55:05 Editing Issue For FAILED 703 OPEN logicmoo.agi.agi_test.adv_story.ADV_TEST_01 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.adv_story, ADV_TEST_01 2021-09-26 22:45:53 +0000 UTC 15:55:12 https://github.com/logicmoo/logicmoo_workspace/issues/703 15:55:12 sed: can't read /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units?*-junit.xml: No such file or directory 15:55:12 <!-- 15:55:12 junit-viewer is /usr/bin/junit-viewer 15:55:12 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer.debug.html 15:55:12 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html 15:55:13 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:55:13 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:55:13 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:55:13 junit2html is /usr/local/bin/junit2html 15:55:13 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.html 15:55:13 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-adv_story-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units 15:55:13 --> 15:55:13 stty: 'standard input': Inappropriate ioctl for device 15:55:13 + stty echo 15:55:13 stty: 'standard input': Inappropriate ioctl for device 15:55:13 + CMD_TIMEOUT=1m 15:55:13 + '[' -n 4 ']' 15:55:13 + '[' 4 -lt 10 ']' 15:55:13 + CMD_TIMEOUT=10s 15:55:13 + echo 'Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=10s' 15:55:13 Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=10s 15:55:13 + export 'GLOB=*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:13 + GLOB='*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:13 + '[' -z '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' ']' 15:55:13 ./test_on_release.sh: line 16: syntax error near unexpected token `)' 15:55:13 ./test_on_release.sh: line 16: `)' 15:55:13 Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=40s 15:55:13 <!-- PACK_DIR=logicmoo_agi --> 15:55:13 <!-- JUNIT_PACKAGE=logicmoo.agi.agi_test.comprehension --> 15:55:13 <!-- GLOBSTEM=logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl --> 15:55:13 <!-- TEST_STEM=Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units --> 15:55:13 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units --> 15:55:13 <!-- Running release (all) tests 15:55:13 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/comprehension ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *_01*.pl) --> 15:55:13 <!-- PACK_DIR=logicmoo_agi --> 15:55:13 <!-- JUNIT_PACKAGE=logicmoo.agi.agi_test.comprehension --> 15:55:13 <!-- GLOBSTEM=logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl --> 15:55:13 <!-- TEST_STEM=Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units --> 15:55:13 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units --> 15:55:13 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:55:13 <!-- test_completed=true --> 15:55:13 <!-- ROLLUP_STEM=Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-Rollup --> 15:55:13 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-Rollup.tmp --> 15:55:13 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/comprehension ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *_01*.pl) 15:55:13 15:55:19 gh: Validation Failed (HTTP 422) 15:55:20 SORTED_FILES=comprehension_01.pl 15:55:20 FileTestCase=logicmoo.agi.agi_test.comprehension.COMPREHENSION_01 JUnit 15:55:20 15:55:20 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['comprehension_01.pl']" 15:55:20 15:55:20 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/comprehension ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['comprehension_01.pl']") 15:55:20 15:55:20 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_agi/t/agi_tests/comprehension/comprehension_01.pl 15:55:20 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.agi.agi_test.comprehension/COMPREHENSION_01/ 15:55:20 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ACOMPREHENSION_01 15:55:20 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/645 15:55:20 15:55:20 15:55:27 %~ init_phase(after_load) 15:55:27 %~ init_phase(restore_state) 15:55:27 % 15:55:27 %~ init_why(after_boot,program) 15:55:27 %~ after_boot. 15:55:27 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:55:27 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_agi/t/agi_tests/comprehension/comprehension_01.pl'), 15:55:27 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:55:27 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:55:27 15:55:27 15:55:27 test_here(X):- notrace(mpred_test(e2c(X))). 15:55:27 15:55:27 /*~ 15:55:27 No source location!? 15:55:27 ~*/ 15:55:27 15:55:27 15:55:27 test_convo_file(File):- atom_contains(File,'0'),!. 15:55:27 /*~ 15:55:27 No source location!? 15:55:27 ~*/ 15:55:27 15:55:27 test_convo_file(File):- 15:55:27 open(File,read,IS), 15:55:27 repeat, 15:55:27 catch(read_term(IS,Term,[syntax_errors(error)]),_,fail), 15:55:27 (Term == end_of_file -> close(IS) ; 15:55:27 (ignore(test_convo_term(Term)),fail)). 15:55:27 15:55:27 /*~ 15:55:27 No source location!? 15:55:27 ~*/ 15:55:27 15:55:27 15:55:27 test_convo_term(X):- 15:55:27 forall((sub_term(E,X),atomic(E),atom_contains(E,' '), 15:55:27 %dont parse end comment (Yet) 15:55:27 \+ atom_contains(E,'CasAm')), 15:55:27 test_here(E)). 15:55:27 15:55:27 /*~ 15:55:27 No source location!? 15:55:27 ~*/ 15:55:27 15:55:27 15:55:27 :- prolog_load_context(directory,X), cd(X), 15:55:27 expand_file_name('Meta*Peacock.plt',Files), 15:55:27 maplist(test_convo_file,Files). 15:55:27 15:55:27 15:55:27 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_agi/t/agi_tests/comprehension/comprehension_01.pl 15:55:27 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.agi.agi_test.comprehension/COMPREHENSION_01/logicmoo_agi_agi_test_comprehension_COMPREHENSION_01/ 15:55:27 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ACOMPREHENSION_01 15:55:27 15:55:27 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/645 15:55:27 /*~ 15:55:27 %~ ?-( mpred_test("Test_0001_Line_0015__What_is_a_peacock_c63",baseKB:e2c('What is a peacock?'))). 15:55:27 ?-e2c('What is a peacock?') 15:55:27 asserted( exists( Exists, 15:55:27 ( info( 'XVAR_NP_What_1_1', [ 15:55:27 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:27 phrase('NP'),size(1),lnks(2), 15:55:27 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(2,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:27 info( 'XVAR_NP_Peacock_3_4', [ 15:55:27 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:27 phrase('NP'),size(2),lnks(3), 15:55:27 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:27 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(3,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:27 warn( unparsed( Exists, [ 15:55:27 [ w( 'XVAR_NP_What_1_1', [ 15:55:27 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:27 phrase('NP'),size(1),lnks(2), 15:55:27 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(2,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:27 w( is, [ 15:55:27 [ pos(vbz), root(be),loc(2),lnks(3),txt("is"), 15:55:27 truecase('LOWER'),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), link(3,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:27 flexicon(bv,[person=3,agr=sg,verb_form=tensed],is), 15:55:27 talk_db(intransitive,be,is,was,being,been), 15:55:27 talk_db(intransitive,am,is,was,being,been), 15:55:27 talk_db(intransitive,are,is,was,being,been)])], 15:55:27 w( 'XVAR_NP_Peacock_3_4', [ 15:55:27 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:27 phrase('NP'),size(2),lnks(3), 15:55:27 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:27 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(3,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:27 w( ?, [ 15:55:27 [ pos('.'), root(?),loc(5),lnks(2),txt("?"), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), link(2,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:27 terminator_lex(?,?),char_type_sentence(?,ask)])], 15:55:27 span( [ seg(2,4), phrase('S'),size(3),lnks(2),#(r('S',seg(2,4))), 15:55:27 txt(["is","a","peacock"]),childs(1), 15:55:27 child(1,'NP',r('NP',seg(3,4))), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(2,'CORENLP',r('CORENLP',seg(1,5)))]), 15:55:27 span( [ seg(1,5), phrase('CORENLP'),size(5),lnks(0), 15:55:27 #( r('CORENLP',seg(1,5))), 15:55:27 txt( [ "What", "is","a","peacock","?"]), childs(1),child(1,'SBAR',r('SBAR',seg(1,5)))]), 15:55:27 span( [ seg(1,5), phrase('SBAR'),size(5),lnks(1), 15:55:27 #( r('SBAR',seg(1,5))), 15:55:27 txt( [ "What", "is","a","peacock","?"]), childs(2),child(1,'NP',r('NP',seg(1,1))), 15:55:27 child(2,'S',r('S',seg(2,4))), 15:55:27 link(1,'CORENLP',r('CORENLP',seg(1,5)))])])])))) 15:55:27 passed=info(why_was_true(baseKB:e2c('What is a peacock?'))) 15:55:27 no_proof_for(e2c('What is a peacock?')). 15:55:27 15:55:27 ?-e2c('What is a peacock?') 15:55:27 asserted( exists( Exists, 15:55:27 ( info( 'XVAR_NP_What_1_1', [ 15:55:27 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:27 phrase('NP'),size(1),lnks(2), 15:55:27 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(2,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:27 info( 'XVAR_NP_Peacock_3_4', [ 15:55:27 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:27 phrase('NP'),size(2),lnks(3), 15:55:27 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:27 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(3,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:27 warn( unparsed( Exists, [ 15:55:27 [ w( 'XVAR_NP_What_1_1', [ 15:55:27 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:27 phrase('NP'),size(1),lnks(2), 15:55:27 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(2,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:27 w( is, [ 15:55:27 [ pos(vbz), root(be),loc(2),lnks(3),txt("is"), 15:55:27 truecase('LOWER'),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), link(3,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:27 flexicon(bv,[person=3,agr=sg,verb_form=tensed],is), 15:55:27 talk_db(intransitive,be,is,was,being,been), 15:55:27 talk_db(intransitive,am,is,was,being,been), 15:55:27 talk_db(intransitive,are,is,was,being,been)])], 15:55:27 w( 'XVAR_NP_Peacock_3_4', [ 15:55:27 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:27 phrase('NP'),size(2),lnks(3), 15:55:27 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:27 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:27 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:27 link(3,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:27 w( ?, [ 15:55:27 [ pos('.'), root(?),loc(5),lnks(2),txt("?"), 15:55:27 link(1,'SBAR',r('SBAR',seg(1,5))), link(2,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:27 terminator_lex(?,?),char_type_sentence(?,ask)])], 15:55:27 span( [ seg(2,4), phrase('S'),size(3),lnks(2),#(r('S',seg(2,4))), 15:55:27 txt(["is","a","peacock"]),childs(1), 15:55:31 child(1,'NP',r('NP',seg(3,4))), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('CORENLP'),size(5),lnks(0), 15:55:31 #( r('CORENLP',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(1),child(1,'SBAR',r('SBAR',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('SBAR'),size(5),lnks(1), 15:55:31 #( r('SBAR',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(2),child(1,'NP',r('NP',seg(1,1))), 15:55:31 child(2,'S',r('S',seg(2,4))), 15:55:31 link(1,'CORENLP',r('CORENLP',seg(1,5)))])])])))) 15:55:31 no_proof_for(e2c('What is a peacock?')). 15:55:31 15:55:31 no_proof_for(e2c('What is a peacock?')). 15:55:31 15:55:31 name = 'logicmoo.agi.agi_test.comprehension.COMPREHENSION_01-Test_0001_Line_0015__What_is_a_peacock_c63'. 15:55:31 JUNIT_CLASSNAME = 'logicmoo.agi.agi_test.comprehension.COMPREHENSION_01'. 15:55:31 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'comprehension_01.pl\']"'. 15:55:31 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-Logicmoo_agi_agi_test_comprehension_COMPREHENSION_01_Test_0001_Line_0015_What_is_a_peacock_c63-junit.xml 15:55:31 %~ ?-( mpred_test("Test_0002_Line_0015__What_is_a_peacock_c63",baseKB:e2c('What is a peacock?'))). 15:55:31 ?-e2c('What is a peacock?') 15:55:31 asserted( exists( Exists, 15:55:31 ( info( 'XVAR_NP_What_1_1', [ 15:55:31 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:31 phrase('NP'),size(1),lnks(2), 15:55:31 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:31 info( 'XVAR_NP_Peacock_3_4', [ 15:55:31 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:31 phrase('NP'),size(2),lnks(3), 15:55:31 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:31 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(3,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:31 warn( unparsed( Exists, [ 15:55:31 [ w( 'XVAR_NP_What_1_1', [ 15:55:31 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:31 phrase('NP'),size(1),lnks(2), 15:55:31 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:31 w( is, [ 15:55:31 [ pos(vbz), root(be),loc(2),lnks(3),txt("is"), 15:55:31 truecase('LOWER'),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), link(3,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:31 flexicon(bv,[person=3,agr=sg,verb_form=tensed],is), 15:55:31 talk_db(intransitive,be,is,was,being,been), 15:55:31 talk_db(intransitive,am,is,was,being,been), 15:55:31 talk_db(intransitive,are,is,was,being,been)])], 15:55:31 w( 'XVAR_NP_Peacock_3_4', [ 15:55:31 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:31 phrase('NP'),size(2),lnks(3), 15:55:31 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:31 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(3,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:31 w( ?, [ 15:55:31 [ pos('.'), root(?),loc(5),lnks(2),txt("?"), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), link(2,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:31 terminator_lex(?,?),char_type_sentence(?,ask)])], 15:55:31 span( [ seg(2,4), phrase('S'),size(3),lnks(2),#(r('S',seg(2,4))), 15:55:31 txt(["is","a","peacock"]),childs(1), 15:55:31 child(1,'NP',r('NP',seg(3,4))), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('CORENLP'),size(5),lnks(0), 15:55:31 #( r('CORENLP',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(1),child(1,'SBAR',r('SBAR',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('SBAR'),size(5),lnks(1), 15:55:31 #( r('SBAR',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(2),child(1,'NP',r('NP',seg(1,1))), 15:55:31 child(2,'S',r('S',seg(2,4))), 15:55:31 link(1,'CORENLP',r('CORENLP',seg(1,5)))])])])))) 15:55:31 passed=info(why_was_true(baseKB:e2c('What is a peacock?'))) 15:55:31 no_proof_for(e2c('What is a peacock?')). 15:55:31 15:55:31 ?-e2c('What is a peacock?') 15:55:31 asserted( exists( Exists, 15:55:31 ( info( 'XVAR_NP_What_1_1', [ 15:55:31 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:31 phrase('NP'),size(1),lnks(2), 15:55:31 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:31 info( 'XVAR_NP_Peacock_3_4', [ 15:55:31 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:31 phrase('NP'),size(2),lnks(3), 15:55:31 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:31 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(3,'CORENLP',r('CORENLP',seg(1,5)))])] & 15:55:31 warn( unparsed( Exists, [ 15:55:31 [ w( 'XVAR_NP_What_1_1', [ 15:55:31 [ loc(1), pos('NP'),equals('XVAR_NP_What_1_1'),seg(1,1), 15:55:31 phrase('NP'),size(1),lnks(2), 15:55:31 #(r('NP',seg(1,1))),txt(["What"]),childs(0), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:31 w( is, [ 15:55:31 [ pos(vbz), root(be),loc(2),lnks(3),txt("is"), 15:55:31 truecase('LOWER'),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), link(3,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:31 flexicon(bv,[person=3,agr=sg,verb_form=tensed],is), 15:55:31 talk_db(intransitive,be,is,was,being,been), 15:55:31 talk_db(intransitive,am,is,was,being,been), 15:55:31 talk_db(intransitive,are,is,was,being,been)])], 15:55:31 w( 'XVAR_NP_Peacock_3_4', [ 15:55:31 [ loc(3), pos('NP'),equals('XVAR_NP_Peacock_3_4'),seg(3,4), 15:55:31 phrase('NP'),size(2),lnks(3), 15:55:31 #(r('NP',seg(3,4))),txt(["a","peacock"]), 15:55:31 childs(0),link(1,'S',r('S',seg(2,4))), 15:55:31 link(2,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(3,'CORENLP',r('CORENLP',seg(1,5)))])], 15:55:31 w( ?, [ 15:55:31 [ pos('.'), root(?),loc(5),lnks(2),txt("?"), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), link(2,'CORENLP',r('CORENLP',seg(1,5))),lex_winfo, 15:55:31 terminator_lex(?,?),char_type_sentence(?,ask)])], 15:55:31 span( [ seg(2,4), phrase('S'),size(3),lnks(2),#(r('S',seg(2,4))), 15:55:31 txt(["is","a","peacock"]),childs(1), 15:55:31 child(1,'NP',r('NP',seg(3,4))), 15:55:31 link(1,'SBAR',r('SBAR',seg(1,5))), 15:55:31 link(2,'CORENLP',r('CORENLP',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('CORENLP'),size(5),lnks(0), 15:55:31 #( r('CORENLP',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(1),child(1,'SBAR',r('SBAR',seg(1,5)))]), 15:55:31 span( [ seg(1,5), phrase('SBAR'),size(5),lnks(1), 15:55:31 #( r('SBAR',seg(1,5))), 15:55:31 txt( [ "What", "is","a","peacock","?"]), childs(2),child(1,'NP',r('NP',seg(1,1))), 15:55:31 child(2,'S',r('S',seg(2,4))), 15:55:31 link(1,'CORENLP',r('CORENLP',seg(1,5)))])])])))) 15:55:31 no_proof_for(e2c('What is a peacock?')). 15:55:31 15:55:31 no_proof_for(e2c('What is a peacock?')). 15:55:31 15:55:31 name = 'logicmoo.agi.agi_test.comprehension.COMPREHENSION_01-Test_0002_Line_0015__What_is_a_peacock_c63'. 15:55:31 JUNIT_CLASSNAME = 'logicmoo.agi.agi_test.comprehension.COMPREHENSION_01'. 15:55:31 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'comprehension_01.pl\']"'. 15:55:31 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-Logicmoo_agi_agi_test_comprehension_COMPREHENSION_01_Test_0002_Line_0015_What_is_a_peacock_c63-junit.xml 15:55:31 %~ ?-( mpred_test("Test_0003_Line_0015__What_is_a_peacock_c63",baseKB:e2c('What is a peacock?'))). 15:55:31 ?-e2c('What is a peacock?') 15:55:31 totalTime=10.000 15:55:31 15:55:31 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k comprehension_01.pl (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:55:31 15:55:32 ISSUE_INFO=645 OPEN logicmoo.agi.agi_test.comprehension.COMPREHENSION_01 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.comprehension, COMPREHENSION_01 2021-09-26 22:46:14 +0000 UTC 15:55:32 ISSUE_ID=645 15:55:32 ISSUE_OC=OPEN 15:55:32 Editing Issue For FAILED 645 OPEN logicmoo.agi.agi_test.comprehension.COMPREHENSION_01 JUnit Test_9999, unit_test, Failing, Errors, Overtime, logicmoo.agi.agi_test.comprehension, COMPREHENSION_01 2021-09-26 22:46:14 +0000 UTC 15:55:38 https://github.com/logicmoo/logicmoo_workspace/issues/645 15:55:38 <!-- 15:55:38 junit-viewer is /usr/bin/junit-viewer 15:55:38 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junit-viewer.debug.html 15:55:38 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junit-viewer-rollup.html 15:55:39 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:55:39 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:55:39 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:55:40 junit2html is /usr/local/bin/junit2html 15:55:40 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units-junitCombined-rollup.html 15:55:40 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-agi-agi_test-comprehension-vSTARv_01vSTARvvDOTvpl-Units 15:55:40 --> 15:55:40 stty: 'standard input': Inappropriate ioctl for device 15:55:40 +++ dirname ./test_on_release.sh 15:55:40 ++ cd . 15:55:40 ++ pwd 15:55:40 + DIR0=/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_nlu/test/logicmoo_nlu 15:55:40 + cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_nlu/test/logicmoo_nlu 15:55:40 + '[' '!' -f /.dockerenv ']' 15:55:40 ++ basename ./test_on_release.sh 15:55:40 + lmoo /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_nlu/test/logicmoo_nlu/test_on_release.sh how_are_you_f_01.plt ping_stanford_01.pl test_charniak_01.pl test_chat80_01.pl test_e2c_01.pl test_e2c_02.pl test_pos_01.pl '2>&1' '|' grep -2 -i ''\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:40 the input device is not a TTY 15:55:40 + return 0 15:55:40 + exit 0 15:55:40 + export 'GLOB=*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:40 + GLOB='*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:40 + lmoo-junit '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:55:40 <!-- PACK_DIR=pfc --> 15:55:40 <!-- JUNIT_PACKAGE=logicmoo.pfc.test.sanity_base --> 15:55:40 <!-- GLOBSTEM=logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:55:40 <!-- TEST_STEM=Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:55:40 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:55:40 <!-- Running release (all) tests 15:55:40 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:55:40 <!-- PACK_DIR=pfc --> 15:55:40 <!-- JUNIT_PACKAGE=logicmoo.pfc.test.sanity_base --> 15:55:40 <!-- GLOBSTEM=logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:55:40 <!-- TEST_STEM=Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:55:40 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:55:40 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:55:40 <!-- test_completed=true --> 15:55:40 <!-- ROLLUP_STEM=Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:55:40 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup.tmp --> 15:55:40 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:55:40 15:55:41 gh: Validation Failed (HTTP 422) 15:55:47 SORTED_FILES=dl_01.pfc df_05.pfc nldm320_fwd.pl nldm1000.pfc nldm1000_fwd.subl nldm1000.P nldm1280.P nldm640.P nldm800.P nldm320.P tml_01d.pfc nldm400.P nldm80.P fc_01u.pfc dupe_chain_01.pfc.pl dia_pfc_mod_01c.pl dia_pfc_mod_01b.pl fc_01r.pfc echo_test_fc_03.pfc echo_test_fc_02.pfc echo_test_fc_01.pfc dia_pfc_mod_01a.pl dia_pfc_mod_01.pl attvar_03.pfc retry_inheritance_01a.pfc min_fail_01.pl holds_01b.pfc tms_01.pfc verbatums_05.pfc verbatums_04.pfc verbatums_03.pfc verbatums_02.pfc verbatums_01.pfc update_number_01.pfc update_list_01.pfc undo_01.pfc sv_or_01.pfc sv_in_arg_01.pfc sv_fwd_01.pfc sv_default_01.pfc shift_02.pl shift_01.pl retry_undefined_09.pfc retry_undefined_08.pfc retry_undefined_07.pfc retry_undefined_06.pfc retry_undefined_05.pfc retry_undefined_04.pfc retry_undefined_03.pfc retry_undefined_02.pfc retry_undefined_01.pfc retry_inheritance_09.pfc retry_inheritance_08.pfc retry_inheritance_07.pfc retry_inheritance_06.pfc retry_inheritance_05.pfc retry_inheritance_04.pfc retry_inheritance_03.pfc retry_inheritance_02.pfc retract_01.pfc reset_db_02.pfc.pl reset_db_01.pfc.pl predmt_01.pfc ppdb_01.pl pl_01.pfc neg_01.pfc nd_cut_01.pfc nd_08.pfc nd_07.pfc nd_06.pfc nd_05.pfc nd_04.pfc nd_03.pfc nd_02.pfc nd_01.pl mt_09.pl mt_07.pl mt_06.pl mt_05.pl mt_04.pl mt_03.pl mt_02.pl mt_01.pl mpred_pfc_test_04.pl mpred_pfc_test_03.pl mpred_pfc_test_02.pl mpred_pfc_test_01.plt mpred_pfc_test_01.pl mdefault_01.pfc load_time_01.pfc list_03.pfc list_02.pfc list_01.pfc if_missing_05.pfc if_missing_04.pfc if_missing_03.pfc if_missing_02.pfc if_missing_01.pfc hybrid_05.pfc hybrid_04.pfc hybrid_03.pfc hybrid_02.pfc hybrid_01.pfc hard_mt_f01.pfc file_03.pfc file_02.pfc file_01.pfc fc_09.pfc fc_08.pfc fc_07.pfc fc_06.pfc fc_05.pfc fc_04.pfc fc_03.pfc fc_02.pfc fc_01.pfc dmost_02.pfc dmost_01.pfc df_07.pfc df_06.pfc df_04.pfc df_03.pfc df_02.pfc df_01.pfc conan_01.pfc.pl clause_fwd_02.pfc.pl bwd_01.pfc bc_02.pfc bc_01.pfc attvar_09.pfc attvar_08.pfc attvar_07.pfc attvar_06.pfc attvar_05.pfc attvar_04.pl attvar_02.pfc attvar_01.pl abc_01.pfc why_bug_01e.pfc undo_02a.pfc undo_01b.pfc undo_01a.pfc tml_01e.pfc tml_01c.pfc tml_01b.pfc tml_01a.pfc sv_in_arg_01e.pfc sv_in_arg_01d.pfc sv_in_arg_01a.pfc sv_fwd_01c.pfc sv_fwd_01b.pfc sv_fwd_01a.pfc sv_fwd_01a_b.pfc sv_default_01a.pfc retract_01e.pfc retract_01d.pfc retract_01c.pfc retract_01b.pfc retract_01a.pfc reset_db_02_user.pfc.pl reset_db_01_user.pfc.pl predmt_01b.pl predmt_01a.pl nldm40.pfc nldm40.P nldm20.pfc nldm10.pfc never_retract_01b.pfc neg_01v_r.pfc neg_01v.pfc neg_01e.pfc neg_01c_r.pfc neg_01c.pfc neg_01b_r.pfc neg_01b.pfc neg_01a.pfc nd_09_rule.pfc nd_02a.pfc mt_07a.pl mt_06_a.pfc mt_03c.pl mt_03b.pl mt_03a.pl mt_02a_0c.pfc mt_01e.pl mt_01d.pl mt_01c_0b.pl mt_01c.pl mt_01c_0a.pl mt_01b.pl mt_01a.pl mdefault_01e.pfc mdefault_01d.pfc mdefault_01c.pfc mdefault_01b.pfc mdefault_01a_two.pfc mdefault_01a.pfc list_03a.pfc list_02a.pfc list_01a.pfc if_missing_01c.pfc if_missing_01b.pfc if_missing_01a.pfc hybrid_05a.pfc hybrid_04a.pfc hybrid_03a.pfc hybrid_02a.pfc hybrid_01a.pfc holds_01c.pfc hard_mt_04a.pfc gshape_01d.pfc gshape_01c_r.pfc gshape_01c.pfc gshape_01b.pfc gshape_01a.pfc file_01a.pfc fc_10.pfc fc_05a.pfc fc_04_user.pfc fc_03a.pfc fc_01v.pfc fc_01s.pfc clause_fwd_01c.pfc.pl clause_fwd_01b.pfc.pl clause_fwd_01a.pfc.pl circle_01d.pfc circle_01c.pfc circle_01b.pfc circle_01a.pfc bwd_01a.pfc birds_01d.pfc birds_01c.pfc birds_01b.pfc birds_01a.pfc bc_01d.pfc bc_01c.pfc bc_01b.pfc bc_01a.pfc bc_01a_1.pfc attvar_10.pfc attvar_08c.pfc attvar_08b.pfc attvar_08a.pfc attvar_02_in_user.pfc sv_fwd_01a_a.pfc.hide 15:55:47 FileTestCase=logicmoo.pfc.test.sanity_base.DL_01 JUnit 15:55:47 15:55:47 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['dl_01.pfc']" 15:55:47 15:55:47 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['dl_01.pfc']") 15:55:47 15:55:47 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/dl_01.pfc 15:55:47 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/DL_01/ 15:55:47 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ADL_01 15:55:47 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/92 15:55:47 15:55:47 15:55:49 %~ init_phase(after_load) 15:55:49 %~ init_phase(restore_state) 15:55:49 % 15:55:49 %~ init_why(after_boot,program) 15:55:49 %~ after_boot. 15:55:49 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:55:49 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/dl_01.pfc'), 15:55:49 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:55:49 15:55:49 15:55:49 :- dynamic(meta_argtypes/1). 15:55:49 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 :- expects_dialect(pfc). 15:55:49 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 :- include('df_include.pi'). 15:55:49 15:55:49 /*~ 15:55:49 running(-), 15:55:49 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:44 15:55:49 %~ reload_of_test_header. 15:55:49 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 :-dynamic((a/1,b/1,c/1)). 15:55:49 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 a(X) ==> c(X). 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 a(1). 15:55:49 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 most(c(X) ==> b(X)) . 15:55:49 15:55:49 /*~ 15:55:49 ~*/ 15:55:49 15:55:49 15:55:49 :- listing([a/1,b/1,c/1,(==>)/2,most/1,pt,nt,bct]). 15:55:49 15:55:49 15:55:49 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/92 15:55:49 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/dl_01.pfc 15:55:49 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/DL_01/ 15:55:49 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ADL_01 15:55:49 15:55:49 /*~ 15:55:49 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/dl_01.pfc:28 15:55:49 %~ skipped( listing( [ a/1, b/1,c/1,(==>)/2,most/1,pt, 15:55:49 %~ nt,bct])) 15:55:49 ~*/ 15:55:49 %~ unused(no_junit_results) 15:55:49 15:55:49 %~ test_completed_exit(0) 15:55:49 totalTime=1.000 15:55:49 15:55:49 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k dl_01.pfc (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:55:49 15:55:56 ISSUE_INFO=92 OPEN logicmoo.pfc.test.sanity_base.DL_01 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, DL_01, Failing 2021-09-26 22:47:21 +0000 UTC 15:55:56 ISSUE_ID=92 15:55:56 ISSUE_OC=OPEN 15:55:56 Editing Issue For FAILED 92 OPEN logicmoo.pfc.test.sanity_base.DL_01 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, DL_01, Failing 2021-09-26 22:47:21 +0000 UTC 15:56:02 https://github.com/logicmoo/logicmoo_workspace/issues/92 15:56:02 FileTestCase=logicmoo.pfc.test.sanity_base.DF_05 JUnit 15:56:02 15:56:02 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['df_05.pfc']" 15:56:02 15:56:02 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['df_05.pfc']") 15:56:02 15:56:02 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/df_05.pfc 15:56:02 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/DF_05/ 15:56:02 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ADF_05 15:56:02 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/306 15:56:02 15:56:02 15:56:03 %~ init_phase(after_load) 15:56:03 %~ init_phase(restore_state) 15:56:03 % 15:56:03 %~ init_why(after_boot,program) 15:56:03 %~ after_boot. 15:56:03 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:56:03 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/df_05.pfc'), 15:56:03 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93 15:56:03 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:56:03 15:56:03 15:56:03 :- expects_dialect(pfc). 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 :- dynamic(test1_2_3/3). 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 :- dynamic(meta_argtypes/1). 15:56:03 15:56:03 % 15:56:03 % PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog 15:56:03 % 15:56:03 % Dec 13, 2035 15:56:03 % Douglas Miles 15:56:03 % cls ; kill -9 %1 ; fg ; swipl -g "ensure_loaded(pack(logicmoo_base/t/examples/base/'sanity_abc.pfc'))." 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % 15:56:03 % PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog 15:56:03 % 15:56:03 % Dec 13, 2035 15:56:03 % Douglas Miles 15:56:03 % cls ; kill -9 %1 ; fg ; swipl -g "ensure_loaded(pack(logicmoo_base/t/examples/base/'sanity_abc.pfc'))." 15:56:03 15:56:03 :- dynamic(most/1). 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 :- expects_dialect(pfc). 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 meta_argtypes(most(ftAssertable)). 15:56:03 15:56:03 % BWD chaining 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % BWD chaining 15:56:03 most((Q <gt;- P))/mpred_literal(Q) ==> (Q <gt;-(P, \+ ~(Q))). 15:56:03 15:56:03 % FWD chaining 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % FWD chaining 15:56:03 most(P==>Q)/nonvar(Q) ==> (((P ==> most(Q)))). 15:56:03 15:56:03 % NEG chaining 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % NEG chaining 15:56:03 most(~Q)/mpred_positive_literal(Q) ==> (( \+ Q ) ==> ~ Q ). 15:56:03 15:56:03 % POS chaining 1 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % POS chaining 1 15:56:03 most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test , (\+ ~ Q)) ==> Q )). 15:56:03 15:56:03 % POS chaining 2 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % POS chaining 2 15:56:03 most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ((R/( \+(R=Q), Test)) ==> (\+ Q))). 15:56:03 15:56:03 % POS chaining 1+2 15:56:03 % most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test ) ==> Q ) ,((R/( \+(R=Q), Test)) ==> (\+ Q))). 15:56:03 15:56:03 % most(Q) ==> if_missing(Q,Q). 15:56:03 15:56:03 %(most(P=>Q)/(mpred_literal_nv(Q),if_missing_mask(Q,R,Test))) ==> ((P, \+ R/Test) => Q). 15:56:03 %(most(P=>Q)/nonvar(Q)) ==> (P => most(Q)). 15:56:03 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 % POS chaining 1+2 15:56:03 % most(Q)/(mpred_positive_literal(Q),if_missing_mask(Q,R,Test)) ==> ( ( ( \+R /Test ) ==> Q ) ,((R/( \+(R=Q), Test)) ==> (\+ Q))). 15:56:03 15:56:03 % most(Q) ==> if_missing(Q,Q). 15:56:03 15:56:03 %(most(P=>Q)/(mpred_literal_nv(Q),if_missing_mask(Q,R,Test))) ==> ((P, \+ R/Test) => Q). 15:56:03 %(most(P=>Q)/nonvar(Q)) ==> (P => most(Q)). 15:56:03 15:56:03 15:56:03 :-ain(most(t(test1_2_3,1,2,3))). 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 most(t(test1_2_3,1,2,3)). 15:56:03 15:56:03 15:56:03 /*~ 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 15:56:03 ?- listing(test1_2_3). 15:56:03 15:56:03 /*~ 15:56:03 :- dynamic test1_2_3/3. 15:56:03 :- multifile test1_2_3/3. 15:56:03 :- public test1_2_3/3. 15:56:03 :- module_transparent test1_2_3/3. 15:56:03 15:56:03 15:56:03 ~*/ 15:56:03 15:56:03 15:56:03 :- mpred_test(test1_2_3(1,2,3)). 15:56:03 15:56:03 15:56:03 15:56:03 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/306 15:56:03 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/df_05.pfc 15:56:03 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/DF_05/ 15:56:03 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ADF_05 15:56:03 15:56:03 /*~ 15:56:03 %~ ?-( mpred_test("Test_0001_Line_0000__test1_2_3_1",baseKB:test1_2_3(1,2,3))). 15:56:03 failure=info((why_was_true(baseKB:(\+test1_2_3(1,2,3))),nop(ftrace(baseKB:test1_2_3(1,2,3))))) 15:56:03 no_proof_for(\+test1_2_3(1,2,3)). 15:56:03 15:56:03 no_proof_for(\+test1_2_3(1,2,3)). 15:56:03 15:56:03 no_proof_for(\+test1_2_3(1,2,3)). 15:56:03 15:56:03 name = 'logicmoo.pfc.test.sanity_base.DF_05-Test_0001_Line_0000__test1_2_3_1'. 15:56:03 JUNIT_CLASSNAME = 'logicmoo.pfc.test.sanity_base.DF_05'. 15:56:03 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'df_05.pfc\']"'. 15:56:03 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_test_sanity_base_DF_05_Test_0001_Line_0000_test1_2_3_1-junit.xml 15:56:03 ~*/ 15:56:03 %~ unused(no_junit_results) 15:56:03 Test_0001_Line_0000__test1_2_3_1 result = failure. 15:56:03 15:56:03 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/df_05.pfc:71 15:56:03 %~ test_completed_exit(8) 15:56:03 totalTime=1.000 15:56:03 15:56:03 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k df_05.pfc (returned 8) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped' 15:56:03 15:56:09 ISSUE_INFO=306 OPEN logicmoo.pfc.test.sanity_base.DF_05 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, DF_05, Failing 2021-09-26 22:47:08 +0000 UTC 15:56:09 ISSUE_ID=306 15:56:09 ISSUE_OC=OPEN 15:56:09 Editing Issue For FAILED 306 OPEN logicmoo.pfc.test.sanity_base.DF_05 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, DF_05, Failing 2021-09-26 22:47:08 +0000 UTC 15:56:15 https://github.com/logicmoo/logicmoo_workspace/issues/306 15:56:15 FileTestCase=logicmoo.pfc.test.sanity_base.NLDM320_FWD JUnit 15:56:15 15:56:15 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['nldm320_fwd.pl']" 15:56:15 15:56:15 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['nldm320_fwd.pl']") 15:56:15 15:56:15 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl 15:56:15 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/NLDM320_FWD/ 15:56:15 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ANLDM320_FWD 15:56:15 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/360 15:56:15 15:56:15 15:56:17 %~ init_phase(after_load) 15:56:17 %~ init_phase(restore_state) 15:56:17 % 15:56:17 %~ init_why(after_boot,program) 15:56:17 %~ after_boot. 15:56:17 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:56:17 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl:37 15:56:17 %~ skipped(messy_on_output,cls) 15:56:17 15:56:17 15:56:17 adj=10 15:56:17 15:56:17 %~ message_hook_type(warning) 15:56:17 %~ message_hook( 15:56:17 %~ goal_failed( directive, 15:56:17 %~ user : ( predicate_property(tc(Tc,Tc3),number_of_clauses(CC)) , 15:56:17 %~ write_ln( tc=CC))), 15:56:17 %~ warning, 15:56:17 %~ [ 'Goal (~w) failed: ~p' - [ directive, 15:56:17 %~ user : ( predicate_property(tc(Tc,Tc3),number_of_clauses(CC)) , 15:56:17 %~ write_ln( tc=CC))]]) 15:56:17 %~ source_location('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl',48) 15:56:17 Goal (directive) failed: user:(predicate_property(tc(_490,_494),number_of_clauses(_498)),write_ln(tc=_498)) 15:56:17 Warning: /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl:48: 15:56:17 Warning: Goal (directive) failed: user:(predicate_property(tc(_490,_494),number_of_clauses(_498)),write_ln(tc=_498)) 15:56:17 % 85 inferences, 0.000 CPU in 0.000 seconds (99% CPU, 2470930 Lips) 15:56:17 %~ message_hook_type(error) 15:56:17 %~ message_hook( 15:56:17 %~ error(existence_error(procedure,tc/2),context('$bags':findall_loop/4,Context_Kw)), 15:56:17 %~ error, 15:56:17 %~ [ '~q/~w: '-[findall_loop,4], 15:56:17 %~ 'Unknown procedure: ~q' - [ tc/2]]) 15:56:17 %~ source_location('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl',52) 15:56:17 findall_loop/4: Unknown procedure: tc/2 15:56:17 ERROR: /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl:52: 15:56:17 ERROR: findall_loop/4: Unknown procedure: tc/2 15:56:17 %~ message_hook_type(warning) 15:56:17 %~ message_hook( 15:56:17 %~ goal_failed( directive, 15:56:17 %~ user : ( time( findall(Tc,tc(_X,_Y),L)) , 15:56:17 %~ ! , 15:56:17 %~ length(L,N) , 15:56:17 %~ write_ln( length_was(N)))), 15:56:17 %~ warning, 15:56:17 %~ [ 'Goal (~w) failed: ~p' - [ directive, 15:56:17 %~ user : ( time( findall(Tc,tc(_X,_Y),L)) , 15:56:17 %~ ! , 15:56:17 %~ length(L,N) , 15:56:17 %~ write_ln( length_was(N)))]]) 15:56:17 %~ source_location('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl',52) 15:56:17 Goal (directive) failed: user:(time(findall(_524,tc(_526,_528),_530)),!,length(_530,_544),write_ln(length_was(_544))) 15:56:17 Warning: /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm320_fwd.pl:52: 15:56:17 Warning: Goal (directive) failed: user:(time(findall(_524,tc(_526,_528),_530)),!,length(_530,_544),write_ln(length_was(_544))) 15:56:17 15:56:17 15:56:17 time_was(0.02637983899999985) 15:56:17 15:56:17 % halt 15:56:17 totalTime=1.000 15:56:17 15:56:17 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k nldm320_fwd.pl (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:56:17 15:56:23 ISSUE_INFO=360 OPEN logicmoo.pfc.test.sanity_base.NLDM320_FWD JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, NLDM320_FWD, Failing 2021-09-26 22:46:55 +0000 UTC 15:56:23 ISSUE_ID=360 15:56:23 ISSUE_OC=OPEN 15:56:23 Editing Issue For FAILED 360 OPEN logicmoo.pfc.test.sanity_base.NLDM320_FWD JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, NLDM320_FWD, Failing 2021-09-26 22:46:55 +0000 UTC 15:56:28 https://github.com/logicmoo/logicmoo_workspace/issues/360 15:56:28 FileTestCase=logicmoo.pfc.test.sanity_base.NLDM1000 JUnit 15:56:28 15:56:28 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['nldm1000.pfc']" 15:56:28 15:56:28 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['nldm1000.pfc']") 15:56:28 15:56:28 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/nldm1000.pfc 15:56:28 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/NLDM1000/ 15:56:28 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ANLDM1000 15:56:28 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/412 15:56:28 15:56:28 15:56:38 %~ init_phase(after_load) 15:56:38 %~ init_phase(restore_state) 15:56:38 % 15:56:38 %~ init_why(after_boot,program) 15:56:38 %~ after_boot. 15:56:38 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:56:38 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/nldm1000.pfc:3 15:56:38 %~ skipped(messy_on_output,cls) 15:56:38 totalTime=10.000 15:56:38 15:56:38 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k nldm1000.pfc (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:56:38 15:56:43 ISSUE_INFO=412 OPEN logicmoo.pfc.test.sanity_base.NLDM1000 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, NLDM1000, Failing, Errors, Overtime 2021-09-26 22:46:43 +0000 UTC 15:56:43 ISSUE_ID=412 15:56:43 ISSUE_OC=OPEN 15:56:43 Editing Issue For FAILED 412 OPEN logicmoo.pfc.test.sanity_base.NLDM1000 JUnit Test_9999, logicmoo.pfc.test.sanity_base, unit_test, NLDM1000, Failing, Errors, Overtime 2021-09-26 22:46:43 +0000 UTC 15:56:48 https://github.com/logicmoo/logicmoo_workspace/issues/412 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm1000_fwd.subl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm1000.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm1280.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm640.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm800.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm320.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tml_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm400.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm80.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_01u.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dupe_chain_01.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dia_pfc_mod_01c.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dia_pfc_mod_01b.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_01r.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. echo_test_fc_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. echo_test_fc_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. echo_test_fc_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dia_pfc_mod_01a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dia_pfc_mod_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. min_fail_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. holds_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tms_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. verbatums_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. verbatums_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. verbatums_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. verbatums_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. verbatums_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. update_number_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. update_list_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. undo_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_or_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_in_arg_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_default_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. shift_02.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. shift_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_09.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_08.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_undefined_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_09.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_08.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retry_inheritance_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. reset_db_02.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. reset_db_01.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. predmt_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. ppdb_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. pl_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_cut_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_08.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_09.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_07.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_06.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_05.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_04.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_03.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_02.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_pfc_test_04.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_pfc_test_03.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_pfc_test_02.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_pfc_test_01.plt 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_pfc_test_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. load_time_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hard_mt_f01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. file_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. file_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. file_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_09.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_08.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dmost_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. dmost_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_04.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_03.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. df_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. conan_01.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. clause_fwd_02.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bwd_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_09.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_08.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_07.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_06.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_05.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_04.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_02.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_01.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. abc_01.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. why_bug_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. undo_02a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. undo_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. undo_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tml_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tml_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tml_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. tml_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_in_arg_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_in_arg_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_in_arg_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01a_b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_default_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. retract_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. reset_db_02_user.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. reset_db_01_user.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. predmt_01b.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. predmt_01a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm40.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm40.P 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm20.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nldm10.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. never_retract_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01v_r.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01v.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01c_r.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01b_r.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. neg_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_09_rule.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. nd_02a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_07a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_06_a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_03c.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_03b.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_03a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_02a_0c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01e.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01d.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01c_0b.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01c.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01c_0a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01b.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mt_01a.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01e.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01a_two.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. mdefault_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_03a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_02a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. list_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. if_missing_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_05a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_04a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_03a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_02a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hybrid_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. holds_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. hard_mt_04a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. gshape_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. gshape_01c_r.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. gshape_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. gshape_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. gshape_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. file_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_10.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_05a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_04_user.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_03a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_01v.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. fc_01s.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. clause_fwd_01c.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. clause_fwd_01b.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. clause_fwd_01a.pfc.pl 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. circle_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. circle_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. circle_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. circle_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bwd_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01d.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. bc_01a_1.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_10.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_08c.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_08b.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_08a.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. attvar_02_in_user.pfc 15:56:48 Warn: reached MAX_JUNIT_TESTS .. skipping .. sv_fwd_01a_a.pfc.hide 15:56:48 <!-- 15:56:48 junit-viewer is /usr/bin/junit-viewer 15:56:48 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer.debug.html 15:56:48 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html 15:56:49 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:56:49 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:56:49 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:56:49 junit2html is /usr/local/bin/junit2html 15:56:49 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.html 15:56:50 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-test-sanity_base-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units 15:56:50 --> 15:56:50 + export 'GLOB=*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:56:50 + GLOB='*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:56:50 + '[' -z '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' ']' 15:56:50 + lmoo-junit '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:56:50 <!-- PACK_DIR=pfc --> 15:56:50 <!-- JUNIT_PACKAGE=logicmoo.pfc.sanity_base.quick_test --> 15:56:50 <!-- GLOBSTEM=logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:56:50 <!-- TEST_STEM=Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:56:50 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:56:50 <!-- Running release (all) tests 15:56:50 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:56:50 <!-- PACK_DIR=pfc --> 15:56:50 <!-- JUNIT_PACKAGE=logicmoo.pfc.sanity_base.quick_test --> 15:56:50 <!-- GLOBSTEM=logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:56:50 <!-- TEST_STEM=Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:56:50 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:56:50 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:56:50 <!-- test_completed=true --> 15:56:50 <!-- ROLLUP_STEM=Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:56:50 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup.tmp --> 15:56:50 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:56:50 15:56:50 gh: Validation Failed (HTTP 422) 15:56:50 SORTED_FILES=attvar_03.pfc fc_01.pfc bc_01.pfc 15:56:50 FileTestCase=logicmoo.pfc.sanity_base.quick_test.ATTVAR_03 JUnit 15:56:50 15:56:50 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['attvar_03.pfc']" 15:56:50 15:56:50 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['attvar_03.pfc']") 15:56:50 15:56:50 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/quick_test/attvar_03.pfc 15:56:50 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.sanity_base.quick_test/ATTVAR_03/ 15:56:50 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AATTVAR_03 15:56:50 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/633 15:56:50 15:56:50 15:56:51 %~ init_phase(after_load) 15:56:51 %~ init_phase(restore_state) 15:56:51 % 15:56:51 %~ init_why(after_boot,program) 15:56:51 %~ after_boot. 15:56:51 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:56:51 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/attvar_03.pfc'), 15:56:51 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:56:51 15:56:51 :- if(\+ current_module(attvar_reader)). 15:56:51 :- use_module(library(logicmoo/attvar_reader)). 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 :- endif. 15:56:51 % :- '$set_source_module'(ABox),'$set_typein_module'(ABox). 15:56:51 15:56:51 :- ABox = user, '$set_source_module'(ABox),'$set_typein_module'(ABox). 15:56:51 % Tests Non-module Forward chaining of assertable attributed variables 15:56:51 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 % Tests Non-module Forward chaining of assertable attributed variables 15:56:51 15:56:51 15:56:51 :- debug_logicmoo(_). 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 :- nodebug_logicmoo(http(_)). 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 :- debug_logicmoo(logicmoo(_)). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 :- mpred_trace_exec. 15:56:51 % :- expects_dialect(pfc). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 % :- expects_dialect(pfc). 15:56:51 15:56:51 :- dynamic(sk_out/1). 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 :- dynamic(sk_in/1). 15:56:51 15:56:51 % :- process_this_script. 15:56:51 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 % :- process_this_script. 15:56:51 15:56:51 15:56:51 sk_in(Ex)==>sk_out(Ex). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 sk_in(foo). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 :- read_attvars(true). 15:56:51 /*~ 15:56:51 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/attvar_03.pfc:40 15:56:51 %~ install_attvar_expander(user) 15:56:51 ~*/ 15:56:51 15:56:51 :- set_prolog_flag(access_level,system). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 sk_in(avar([vn='Ex',sk='SKF-666'])). 15:56:51 15:56:51 /*~ 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 :- listing(sk_out/1). 15:56:51 /*~ 15:56:51 %~ skipped( listing( sk_out/1)) 15:56:51 ~*/ 15:56:51 15:56:51 :- listing(sk_in/1). 15:56:51 15:56:51 15:56:51 /*~ 15:56:51 %~ skipped( listing( sk_in/1)) 15:56:51 ~*/ 15:56:51 15:56:51 15:56:51 15:56:51 :- must((sk_in(VAR),get_attr(VAR,sk,What),What='SKF-666')). 15:56:51 15:56:51 15:56:51 15:56:51 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/attvar_03.pfc 15:56:51 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.test.sanity_base/ATTVAR_03/ 15:56:51 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AATTVAR_03 15:56:51 15:56:51 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/633 15:56:51 /*~ 15:56:51 %~ ?-( mpred_test( "Test_0001_Line_0000__sk_in_1_in_user", 15:56:51 %~ user : ( sk_in(VAR) , 15:56:51 %~ get_attr(VAR,sk,What) , 15:56:51 %~ What='SKF-666'))). 15:56:51 failure=info((why_was_true(user:(\+ (sk_in(_28160),get_attr(_28160,sk,_28182),_28182='SKF-666'))),nop(ftrace(user:(sk_in(_28160),get_attr(_28160,sk,_28182),_28182='SKF-666'))))) 15:56:51 no_proof_for(\+ (sk_in(In_Sk),get_attr(In_Sk,sk,Attr_SKF_666),Attr_SKF_666='SKF-666')). 15:56:51 15:56:51 no_proof_for(\+ (sk_in(In_Sk),get_attr(In_Sk,sk,Attr_SKF_666),Attr_SKF_666='SKF-666')). 15:56:51 15:56:51 no_proof_for(\+ (sk_in(In_Sk),get_attr(In_Sk,sk,Attr_SKF_666),Attr_SKF_666='SKF-666')). 15:56:51 15:56:51 name = 'logicmoo.pfc.sanity_base.quick_test.ATTVAR_03-Test_0001_Line_0000__sk_in_1_in_user'. 15:56:51 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.ATTVAR_03'. 15:56:51 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'attvar_03.pfc\']"'. 15:56:51 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_ATTVAR_03_Test_0001_Line_0000_sk_in_1_in_user-junit.xml 15:56:51 ~*/ 15:56:51 %~ unused(no_junit_results) 15:56:51 Test_0001_Line_0000__sk_in_1_in_user result = failure. 15:56:51 15:56:51 %~ test_completed_exit(8) 15:56:51 totalTime=1.000 15:56:51 15:56:51 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k attvar_03.pfc (returned 8) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped' 15:56:51 15:56:52 ISSUE_INFO=633 OPEN logicmoo.pfc.sanity_base.quick_test.ATTVAR_03 JUnit Test_9999, logicmoo.pfc.sanity_base.quick_test, unit_test, ATTVAR_03, Failing 2021-09-26 22:47:30 +0000 UTC 15:56:52 ISSUE_ID=633 15:56:52 ISSUE_OC=OPEN 15:56:52 Editing Issue For FAILED 633 OPEN logicmoo.pfc.sanity_base.quick_test.ATTVAR_03 JUnit Test_9999, logicmoo.pfc.sanity_base.quick_test, unit_test, ATTVAR_03, Failing 2021-09-26 22:47:30 +0000 UTC 15:56:57 https://github.com/logicmoo/logicmoo_workspace/issues/633 15:56:57 FileTestCase=logicmoo.pfc.sanity_base.quick_test.FC_01 JUnit 15:56:57 15:56:57 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['fc_01.pfc']" 15:56:57 15:56:57 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['fc_01.pfc']") 15:56:57 15:56:57 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc 15:56:57 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.sanity_base.quick_test/FC_01/ 15:56:57 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFC_01 15:56:57 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/631 15:56:57 15:56:57 15:56:58 %~ init_phase(after_load) 15:56:58 %~ init_phase(restore_state) 15:56:58 % 15:56:58 %~ init_why(after_boot,program) 15:56:58 %~ after_boot. 15:56:58 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:56:58 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc'), 15:56:58 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93 15:56:58 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:56:58 15:56:58 15:56:58 :- expects_dialect(pfc). 15:56:58 15:56:58 /*~ 15:56:58 ~*/ 15:56:58 15:56:58 15:56:58 a11 ==> b11. 15:56:58 /*~ 15:56:58 ~*/ 15:56:58 15:56:58 a11. 15:56:58 15:56:58 /*~ 15:56:58 ~*/ 15:56:58 15:56:58 15:56:58 :- mpred_test(b11). 15:56:58 15:56:58 /*~ 15:56:58 %~ ?-( mpred_test("Test_0001_Line_0000__B11",baseKB:b11)). 15:56:58 %~ FIlE: * https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc#L14 15:56:58 passed=info(why_was_true(baseKB:b11)) 15:56:58 15:56:58 Justifications for b11: 15:56:58 1.1 a11 % [* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc#L12 ] 15:56:58 1.2 a11==>b11 % [* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc#L11 ] 15:56:58 1.3 mfl4(_,baseKB,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc#L12 ',12) 15:56:58 1.4 mfl4(_,baseKB,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc#L11 ',11) 15:56:58 name = 'logicmoo.pfc.sanity_base.quick_test.FC_01-Test_0001_Line_0000__B11'. 15:56:58 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.FC_01'. 15:56:58 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fc_01.pfc\']"'. 15:56:58 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_FC_01_Test_0001_Line_0000_B11-junit.xml 15:56:58 ~*/ 15:56:58 15:56:58 15:56:58 :- listing(j_u:junit_prop/3). 15:56:58 15:56:58 /*~ 15:56:58 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/fc_01.pfc:16 15:56:58 %~ skipped( listing( j_u : junit_prop/3)) 15:56:58 ~*/ 15:56:58 15:56:58 15:56:58 :- test_completed. 15:56:58 15:56:58 15:56:58 15:56:58 15:56:58 /*~ 15:56:58 %~ unused(no_junit_results) 15:56:58 Test_0001_Line_0000__B11 result = passed. 15:56:58 15:56:58 %~ test_completed_exit(64) 15:56:58 totalTime=1.000 15:56:58 15:56:58 SUCCESS: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k fc_01.pfc (returned 64) Add_LABELS='' Rem_LABELS='Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:56:58 15:56:58 ISSUE_INFO=631 OPEN logicmoo.pfc.sanity_base.quick_test.FC_01 JUnit Test_9999, FC_01, logicmoo.pfc.sanity_base.quick_test, unit_test, Passing 2021-09-26 22:47:37 +0000 UTC 15:56:58 ISSUE_ID=631 15:56:58 ISSUE_OC=OPEN 15:56:58 Updating Issue 631 OPEN logicmoo.pfc.sanity_base.quick_test.FC_01 JUnit Test_9999, FC_01, logicmoo.pfc.sanity_base.quick_test, unit_test, Passing 2021-09-26 22:47:37 +0000 UTC 15:57:04 https://github.com/logicmoo/logicmoo_workspace/issues/631 15:57:04 FileTestCase=logicmoo.pfc.sanity_base.quick_test.BC_01 JUnit 15:57:04 15:57:04 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['bc_01.pfc']" 15:57:04 15:57:04 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['bc_01.pfc']") 15:57:04 15:57:04 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc 15:57:04 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.pfc.sanity_base.quick_test/BC_01/ 15:57:04 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ABC_01 15:57:04 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/635 15:57:04 15:57:04 15:57:05 %~ init_phase(after_load) 15:57:05 %~ init_phase(restore_state) 15:57:05 % 15:57:05 %~ init_why(after_boot,program) 15:57:05 %~ after_boot. 15:57:05 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:57:05 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc'), 15:57:05 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:57:05 15:57:05 15:57:05 15:57:05 :- dynamic(bc_q/1). 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 :- dynamic(bc_p/1). 15:57:05 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 :- (ain((bc_q(N) <gt;- bc_p(N)))). 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 :- listing(bc_q/1). 15:57:05 15:57:05 /*~ 15:57:05 %~ skipped( listing( bc_q/1)) 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 bc_p(a). 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 bc_p(b). 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 :- listing(bc_p/1). 15:57:05 15:57:05 /*~ 15:57:05 %~ skipped( listing( bc_p/1)) 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 :- mpred_trace_exec. 15:57:05 15:57:05 /*~ 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 :- mpred_test(call_u(bc_p(b))). 15:57:05 15:57:05 %= nothing cached ? 15:57:05 /*~ 15:57:05 %~ ?-( mpred_test("Test_0001_Line_0000__B",baseKB:call_u(bc_p(b)))). 15:57:05 passed=info(why_was_true(baseKB:call_u(bc_p(b)))) 15:57:05 no_proof_for(call_u(bc_p(b))). 15:57:05 15:57:05 no_proof_for(call_u(bc_p(b))). 15:57:05 15:57:05 no_proof_for(call_u(bc_p(b))). 15:57:05 15:57:05 name = 'logicmoo.pfc.sanity_base.quick_test.BC_01-Test_0001_Line_0000__B'. 15:57:05 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.BC_01'. 15:57:05 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'bc_01.pfc\']"'. 15:57:05 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_BC_01_Test_0001_Line_0000_B-junit.xml 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 %= nothing cached ? 15:57:05 :- listing(bc_q/1). 15:57:05 15:57:05 /*~ 15:57:05 %~ skipped( listing( bc_q/1)) 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 :- mpred_test(\+ clause_u(bc_q(_),true)). 15:57:05 15:57:05 /*~ 15:57:05 %~ ?-( mpred_test("Test_0002_Line_0000__naf_bc_q_1",baseKB:(\+clause_u(bc_q(Q),true)))). 15:57:05 passed=info(why_was_true(baseKB:(\+clause_u(bc_q(_2540),true)))) 15:57:05 no_proof_for(\+clause_u(bc_q(Q1),true)). 15:57:05 15:57:05 no_proof_for(\+clause_u(bc_q(Q1),true)). 15:57:05 15:57:05 no_proof_for(\+clause_u(bc_q(Q1),true)). 15:57:05 15:57:05 name = 'logicmoo.pfc.sanity_base.quick_test.BC_01-Test_0002_Line_0000__naf_bc_q_1'. 15:57:05 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.BC_01'. 15:57:05 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'bc_01.pfc\']"'. 15:57:05 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_BC_01_Test_0002_Line_0000_naf_bc_q_1-junit.xml 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 :- mpred_test((call_u(bc_q(b)))). 15:57:05 15:57:05 %= something cached 15:57:05 /*~ 15:57:05 %~ ?-( mpred_test("Test_0003_Line_0000__B",baseKB:call_u(bc_q(b)))). 15:57:05 %~ %~ Adding positive 15:57:05 %~ %~ trigger: bc_p(b) 15:57:05 %~ %~ body: rhs([ bc_q(b)]) 15:57:05 %~ %~ Support: (bc_q(P_Q)<gt;-bc_p(P_Q)),mfl4(['N'=N],baseKB,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc#L19 ',19) 15:57:05 %~ call_mpred_post4 :- 15:57:05 %~ level=147 , 15:57:05 %~ que=0 , 15:57:05 %~ assertion_status=unique , 15:57:05 %~ support_status=none , 15:57:05 %~ post1 = mpred_prop(baseKB,bc_p,1,pfcPosTrigger) , 15:57:05 %~ fix_mp=baseKB , 15:57:05 %~ mz=baseKB , 15:57:05 %~ p0 = mpred_prop(baseKB,bc_p,1,pfcPosTrigger) , 15:57:05 %~ support_fact = ( bc_q(_2028)<gt;-bc_p(_2028) , 15:57:05 %~ mfl4( 15:57:05 %~ [ 'N'=N], 15:57:05 %~ baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc', 19)) , 15:57:05 %~ support_trig=ax. 15:57:05 %~ baseKB : mpred_fwc1( mpred_prop(baseKB,bc_p,1,pfcPosTrigger)). 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcPosTrigger) 15:57:05 %~ %~ body: \+ground((bc_p/1))*->rhs([ { trace_or_throw( mpred_prop(baseKB,bc_p,1,pfcPosTrigger)) }]) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcPosTrigger) 15:57:05 %~ %~ body: rhs([ mpred_prop(baseKB,bc_p,1,pfcWatches)]) 15:57:05 %~ %~ RHS-Post1: mpred_prop(baseKB,bc_p,1,pfcWatches) 15:57:05 %~ %~ Support: mpred_prop(baseKB,bc_p,1,pfcPosTrigger),$pt(baseKB,mpred_prop(baseKB,bc_p,1,pfcPosTrigger),rhs([ mpred_prop(baseKB,bc_p,1,pfcWatches)])) 15:57:05 %~ call_mpred_post4 :- 15:57:05 %~ level=185 , 15:57:05 %~ que=0 , 15:57:05 %~ assertion_status=unique , 15:57:05 %~ support_status=none , 15:57:05 %~ post1 = mpred_prop(baseKB,bc_p,1,pfcWatches) , 15:57:05 %~ fix_mp=baseKB , 15:57:05 %~ mz=baseKB , 15:57:05 %~ p0 = mpred_prop(baseKB,bc_p,1,pfcWatches) , 15:57:05 %~ support_fact = mpred_prop(baseKB,bc_p,1,pfcPosTrigger) , 15:57:05 %~ support_trig = '$pt'( baseKB, 15:57:05 %~ mpred_prop(baseKB,bc_p,1,pfcPosTrigger), 15:57:05 %~ rhs([mpred_prop(baseKB,bc_p,1,pfcWatches)])). 15:57:05 %~ baseKB : mpred_fwc1( mpred_prop(baseKB,bc_p,1,pfcWatches)). 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcWatches) 15:57:05 %~ %~ body: \+ground((bc_p/1))*->rhs([ { trace_or_throw( mpred_prop(baseKB,bc_p,1,pfcWatches)) }]) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcWatches) 15:57:05 %~ %~ body: rhs([ { kb_shared( baseKB : bc_p/1) }]) 15:57:05 %~ call_mpred_post4 :- 15:57:05 %~ level=302 , 15:57:05 %~ que=0 , 15:57:05 %~ assertion_status=unique , 15:57:05 %~ support_status=none , 15:57:05 %~ post1 = mpred_prop(baseKB,bc_p,1,kb_shared) , 15:57:05 %~ fix_mp=baseKB , 15:57:05 %~ mz=baseKB , 15:57:05 %~ p0 = mpred_prop(baseKB,bc_p,1,kb_shared) , 15:57:05 %~ support_fact = mfl4(_28554,baseKB,'/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc',35) , 15:57:05 %~ support_trig=ax. 15:57:05 %~ baseKB : mpred_fwc1( mpred_prop(baseKB,bc_p,1,kb_shared)). 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,kb_shared) 15:57:05 %~ %~ body: $pt(baseKB,genlMt(Call_BaseKB,baseKB),(Call_BaseKB\=baseKB*->rhs([ { nop( dmsg_pretty( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))), 15:57:05 %~ %~ show_failure( on_x_fail( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))) }]))) 15:57:05 %~ %~ Adding positive 15:57:05 %~ %~ trigger: genlMt(BaseKB,baseKB) 15:57:05 %~ %~ body: Call_BaseKB\=baseKB*->rhs([ { nop( dmsg_pretty( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))), 15:57:05 %~ %~ show_failure( on_x_fail( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))) }]) 15:57:05 %~ %~ Support: mpred_prop(baseKB,bc_p,1,kb_shared),$pt(baseKB,mpred_prop(baseKB,bc_p,1,kb_shared),$pt(baseKB,genlMt(Call_BaseKB,baseKB),(Call_BaseKB\=baseKB*->rhs( 15:57:05 %~ %~ [ { nop( dmsg_pretty( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))), 15:57:05 %~ %~ show_failure( on_x_fail( Call_BaseKB : 15:57:05 %~ %~ 15:57:05 %~ %~ call(kb_shared,Call_BaseKB:bc_p/1))) }])))) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,kb_shared) 15:57:05 %~ %~ body: \+ground((bc_p/1))*->rhs([ { trace_or_throw( mpred_prop(baseKB,bc_p,1,kb_shared)) }]) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,kb_shared) 15:57:05 %~ %~ body: genlPreds(kb_shared,Prop_GenlPreds_Kb_shared)*->rhs([ mpred_prop(baseKB,bc_p,1,Prop_GenlPreds_Kb_shared)]) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcWatches) 15:57:05 %~ %~ body: genlPreds(pfcWatches,Prop_GenlPreds_PfcWatches)*->rhs([ mpred_prop(baseKB,bc_p,1,Prop_GenlPreds_PfcWatches)]) 15:57:05 %~ %~ Found positive trigger: mpred_prop(baseKB,bc_p,1,pfcPosTrigger) 15:57:05 %~ %~ body: genlPreds(pfcPosTrigger,Prop_GenlPreds_PfcPosTrigger)*->rhs([ mpred_prop(baseKB,bc_p,1,Prop_GenlPreds_PfcPosTrigger)]) 15:57:05 %~ %~ RHS-Post1: bc_q(b) 15:57:05 %~ %~ Support: bc_p(b),$pt(baseKB,bc_p(b),rhs([ bc_q(b)])) 15:57:05 %~ call_mpred_post4 :- 15:57:05 %~ level=139 , 15:57:05 %~ que=0 , 15:57:05 %~ assertion_status=unique , 15:57:05 %~ support_status=none , 15:57:05 %~ post1 = bc_q(b) , 15:57:05 %~ fix_mp=baseKB , 15:57:05 %~ mz=baseKB , 15:57:05 %~ p0 = bc_q(b) , 15:57:05 %~ support_fact = bc_p(b) , 15:57:05 %~ support_trig = '$pt'(baseKB,bc_p(b),rhs([bc_q(b)])). 15:57:05 %~ baseKB : mpred_fwc1( bc_q(b)). 15:57:05 passed=info(why_was_true(baseKB:call_u(bc_q(b)))) 15:57:05 no_proof_for(call_u(bc_q(b))). 15:57:05 15:57:05 %~ %~ Adding positive 15:57:05 %~ %~ trigger: bc_p(b) 15:57:05 %~ %~ body: rhs([ bc_q(b)]) 15:57:05 %~ %~ Support: (bc_q(P_Q)<gt;-bc_p(P_Q)),mfl4(['N'=N],baseKB,'* https://logicmoo.org:2082/gitlab/logicmoo/logicmoo_workspace/-/edit/master/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc#L19 ',19) 15:57:05 %~ %~ RHS-Post1: bc_q(b) 15:57:05 %~ %~ Support: bc_p(b),$pt(baseKB,bc_p(b),rhs([ bc_q(b)])) 15:57:05 %~ call_mpred_post4 :- 15:57:05 %~ level=191 , 15:57:05 %~ que=0 , 15:57:05 %~ assertion_status=identical , 15:57:05 %~ support_status=exact , 15:57:05 %~ post1 = bc_q(b) , 15:57:05 %~ fix_mp=baseKB , 15:57:05 %~ mz=baseKB , 15:57:05 %~ p0 = bc_q(b) , 15:57:05 %~ support_fact = bc_p(b) , 15:57:05 %~ support_trig = '$pt'(baseKB,bc_p(b),rhs([bc_q(b)])). 15:57:05 no_proof_for(call_u(bc_q(b))). 15:57:05 15:57:05 no_proof_for(call_u(bc_q(b))). 15:57:05 15:57:05 name = 'logicmoo.pfc.sanity_base.quick_test.BC_01-Test_0003_Line_0000__B'. 15:57:05 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.BC_01'. 15:57:05 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'bc_01.pfc\']"'. 15:57:05 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_BC_01_Test_0003_Line_0000_B-junit.xml 15:57:05 ~*/ 15:57:05 15:57:05 15:57:05 %= something cached 15:57:05 :- listing(bc_q/1). 15:57:05 /*~ 15:57:05 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/pfc/t/sanity_base/quick_test/bc_01.pfc:38 15:57:05 %~ skipped( listing( bc_q/1)) 15:57:05 ~*/ 15:57:05 15:57:05 :- mpred_test( clause_u(bc_q(_),true)). 15:57:05 15:57:05 15:57:05 /*~ 15:57:05 %~ ?-( mpred_test("Test_0004_Line_0000__bc_q_1",baseKB:clause_u(bc_q(Q),true))). 15:57:05 passed=info(why_was_true(baseKB:clause_u(bc_q(b),true))) 15:57:05 no_proof_for(clause_u(bc_q(b),true)). 15:57:05 15:57:05 no_proof_for(clause_u(bc_q(b),true)). 15:57:05 15:57:05 no_proof_for(clause_u(bc_q(b),true)). 15:57:05 15:57:05 name = 'logicmoo.pfc.sanity_base.quick_test.BC_01-Test_0004_Line_0000__bc_q_1'. 15:57:05 JUNIT_CLASSNAME = 'logicmoo.pfc.sanity_base.quick_test.BC_01'. 15:57:05 JUNIT_CMD = 'timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'bc_01.pfc\']"'. 15:57:05 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_pfc_sanity_base_quick_test_BC_01_Test_0004_Line_0000_bc_q_1-junit.xml 15:57:05 ~*/ 15:57:05 %~ unused(no_junit_results) 15:57:05 Test_0001_Line_0000__B result = passed. 15:57:05 Test_0002_Line_0000__naf_bc_q_1 result = passed. 15:57:05 Test_0003_Line_0000__B result = passed. 15:57:05 Test_0004_Line_0000__bc_q_1 result = passed. 15:57:05 15:57:05 %~ test_completed_exit(64) 15:57:05 totalTime=1.000 15:57:05 15:57:05 SUCCESS: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k bc_01.pfc (returned 64) Add_LABELS='' Rem_LABELS='Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:57:05 15:57:06 ISSUE_INFO=635 OPEN logicmoo.pfc.sanity_base.quick_test.BC_01 JUnit Test_9999, logicmoo.pfc.sanity_base.quick_test, unit_test, BC_01, Passing 2021-09-26 22:47:43 +0000 UTC 15:57:06 ISSUE_ID=635 15:57:06 ISSUE_OC=OPEN 15:57:06 Updating Issue 635 OPEN logicmoo.pfc.sanity_base.quick_test.BC_01 JUnit Test_9999, logicmoo.pfc.sanity_base.quick_test, unit_test, BC_01, Passing 2021-09-26 22:47:43 +0000 UTC 15:57:11 https://github.com/logicmoo/logicmoo_workspace/issues/635 15:57:11 <!-- 15:57:11 junit-viewer is /usr/bin/junit-viewer 15:57:11 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer.debug.html 15:57:11 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html 15:57:12 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:57:12 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:57:12 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:57:12 junit2html is /usr/local/bin/junit2html 15:57:12 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.html 15:57:12 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-pfc-sanity_base-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units 15:57:12 --> 15:57:12 + lmoo-junit '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:57:12 <!-- PACK_DIR=logicmoo_base --> 15:57:12 <!-- JUNIT_PACKAGE=logicmoo.base.fol.quick_test --> 15:57:12 <!-- GLOBSTEM=logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:57:12 <!-- TEST_STEM=Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:12 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:12 <!-- Running release (all) tests 15:57:12 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:57:12 <!-- PACK_DIR=logicmoo_base --> 15:57:12 <!-- JUNIT_PACKAGE=logicmoo.base.fol.quick_test --> 15:57:12 <!-- GLOBSTEM=logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:57:12 <!-- TEST_STEM=Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:12 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:12 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:57:12 <!-- test_completed=true --> 15:57:12 <!-- ROLLUP_STEM=Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:57:12 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup.tmp --> 15:57:12 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:57:12 15:57:13 gh: Validation Failed (HTTP 422) 15:57:13 SORTED_FILES=five_leftof_type_01.pl 15:57:13 FileTestCase=logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01 JUnit 15:57:13 15:57:13 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']" 15:57:13 15:57:13 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test ; 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']") 15:57:13 15:57:13 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl 15:57:13 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.quick_test/FIVE_LEFTOF_TYPE_01/ 15:57:13 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_TYPE_01 15:57:13 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/623 15:57:13 15:57:13 15:57:17 %~ init_phase(after_load) 15:57:17 %~ init_phase(restore_state) 15:57:17 % 15:57:17 %~ init_why(after_boot,program) 15:57:17 %~ after_boot. 15:57:17 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:57:17 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl'), 15:57:17 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:91 15:57:17 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:57:17 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:57:17 15:57:17 % ============================================= 15:57:17 % File 'mpred_builtin.pfc' 15:57:17 % Purpose: Agent Reactivity for SWI-Prolog 15:57:17 % Maintainer: Douglas Miles 15:57:17 % Contact: $Author: dmiles $@users.sourceforge.net % 15:57:17 % Version: 'interface' 1.0.0 15:57:17 % Revision: $Revision: 1.9 $ 15:57:17 % Revised At: $Date: 2002/06/27 14:13:20 $ 15:57:17 % ============================================= 15:57:17 % 15:57:17 15:57:17 :- mpred_test(true). 15:57:17 15:57:17 % There are five houses in a row. 15:57:17 /*~ 15:57:17 %~ ?-( mpred_test("Test_0001_Line_0000__True",baseKB:true)). 15:57:17 passed=info(why_was_true(baseKB:true)) 15:57:17 no_proof_for(true). 15:57:17 15:57:17 no_proof_for(true). 15:57:17 15:57:17 no_proof_for(true). 15:57:17 15:57:17 name = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01-Test_0001_Line_0000__True'. 15:57:17 JUNIT_CLASSNAME = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01'. 15:57:17 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\']"'. 15:57:17 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_quick_test_FIVE_LEFTOF_TYPE_01_Test_0001_Line_0000_True-junit.xml 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 % There are five houses in a row. 15:57:17 :- nop(module( baseKB)). 15:57:17 15:57:17 % makes the KB monotonic 15:57:17 /*~ 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 % makes the KB monotonic 15:57:17 :- set_kif_option(qualify_modality,simple_nesc). 15:57:17 15:57:17 /*~ 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 leftof(h1, h2). 15:57:17 /*~ 15:57:17 %~ debugm(baseKB,show_success(baseKB,baseKB:ain(clif(leftof(h1,h2))))) 15:57:17 % xgrun compiled into parser_chat80 0.00 sec, 0 clauses 15:57:17 % xgproc compiled into parser_chat80 0.02 sec, 0 clauses 15:57:17 15:57:17 15:57:17 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 1616 words .. ** 15:57:17 15:57:17 15:57:17 15:57:17 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 372 words .. ** 15:57:17 15:57:17 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:17 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:17 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:57:17 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:57:17 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:57:17 % :- share_mfa_pt2(parser_chat80,control80,1). 15:57:17 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:57:17 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.25 sec, 3 clauses 15:57:17 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:57:17 15:57:17 15:57:17 15:57:17 15:57:17 ======================================================= 15:57:17 leftof(h1,h2) 15:57:17 ============================================ 15:57:17 15:57:17 15:57:17 ?- kif_to_boxlog( leftof(h1,h2) ). 15:57:17 15:57:17 15:57:17 15:57:17 % In English: 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ h1 leftof h2 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h1,h2)) 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 % Results in the following 1 entailment(s): 15:57:17 nesc(leftof(h1,h2)). 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ it is necessarily true that h1 leftof h2 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc( leftof(h1,h2)). 15:57:17 15:57:17 ============================================ 15:57:17 ~*/ 15:57:17 15:57:17 leftof(h2, h3). 15:57:17 /*~ 15:57:17 %~ debugm(baseKB,show_success(baseKB,baseKB:ain(clif(leftof(h2,h3))))) 15:57:17 15:57:17 15:57:17 15:57:17 15:57:17 ======================================================= 15:57:17 leftof(h2,h3) 15:57:17 ============================================ 15:57:17 15:57:17 15:57:17 ?- kif_to_boxlog( leftof(h2,h3) ). 15:57:17 15:57:17 15:57:17 15:57:17 % In English: 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ h2 leftof h3 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h2,h3)) 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 % Results in the following 1 entailment(s): 15:57:17 nesc(leftof(h2,h3)). 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ it is necessarily true that h2 leftof h3 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc( leftof(h2,h3)). 15:57:17 15:57:17 ============================================ 15:57:17 ~*/ 15:57:17 15:57:17 leftof(h3, h4). 15:57:17 /*~ 15:57:17 %~ debugm(baseKB,show_success(baseKB,baseKB:ain(clif(leftof(h3,h4))))) 15:57:17 15:57:17 15:57:17 15:57:17 15:57:17 ======================================================= 15:57:17 leftof(h3,h4) 15:57:17 ============================================ 15:57:17 15:57:17 15:57:17 ?- kif_to_boxlog( leftof(h3,h4) ). 15:57:17 15:57:17 15:57:17 15:57:17 % In English: 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ h3 leftof h4 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h3,h4)) 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 % Results in the following 1 entailment(s): 15:57:17 nesc(leftof(h3,h4)). 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ it is necessarily true that h3 leftof h4 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc( leftof(h3,h4)). 15:57:17 15:57:17 ============================================ 15:57:17 ~*/ 15:57:17 15:57:17 leftof(h4, h5). 15:57:17 15:57:17 % this should cause h1-h5 to become houses 15:57:17 /*~ 15:57:17 %~ debugm(baseKB,show_success(baseKB,baseKB:ain(clif(leftof(h4,h5))))) 15:57:17 15:57:17 15:57:17 15:57:17 15:57:17 ======================================================= 15:57:17 leftof(h4,h5) 15:57:17 ============================================ 15:57:17 15:57:17 15:57:17 ?- kif_to_boxlog( leftof(h4,h5) ). 15:57:17 15:57:17 15:57:17 15:57:17 % In English: 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ h4 leftof h5 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h4,h5)) 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 % Results in the following 1 entailment(s): 15:57:17 nesc(leftof(h4,h5)). 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ it is necessarily true that h4 leftof h5 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc( leftof(h4,h5)). 15:57:17 15:57:17 ============================================ 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 % this should cause h1-h5 to become houses 15:57:17 leftof(H1, H2) => house(H1) & house(H2). 15:57:17 15:57:17 /*~ 15:57:17 %~ debugm( baseKB, 15:57:17 %~ show_success( baseKB, 15:57:17 %~ baseKB : ain( clif( leftof(H1,H2)=>(house(H1)&house(H2)))))) 15:57:17 15:57:17 15:57:17 15:57:17 15:57:17 ======================================================= 15:57:17 =>(leftof('$VAR'('House_Leftof'),'$VAR'('House_Leftof3')),&(house('$VAR'('House_Leftof')),house('$VAR'('House_Leftof3')))) 15:57:17 ============================================ 15:57:17 15:57:17 15:57:17 ?- kif_to_boxlog( leftof(House_Leftof,House_Leftof3)=>(house(House_Leftof)&house(House_Leftof3)) ). 15:57:17 15:57:17 15:57:17 15:57:17 % In English: 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ If: 15:57:17 %~ ?House_Leftof leftof ?House_Leftof3 then it is 15:57:17 %~ Implied that: 15:57:17 %~ " ?House_Leftof isa house " and 15:57:17 %~ " ?House_Leftof3 isa house " 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('House_Leftof'),'$VAR'('House_Leftof3')),and(house('$VAR'('House_Leftof')),house('$VAR'('House_Leftof3')))) 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 % Results in the following 6 entailment(s): 15:57:17 nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof))==>nesc(~house(House_Leftof3)). 15:57:17 nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof3))==>nesc(~house(House_Leftof)). 15:57:17 nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof))==>nesc(house(House_Leftof3)). 15:57:17 nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof3))==>nesc(house(House_Leftof)). 15:57:17 poss(house(House_Leftof))&nesc(~house(House_Leftof3))==>nesc(~leftof(House_Leftof,House_Leftof3)). 15:57:17 poss(house(House_Leftof3))&nesc(~house(House_Leftof))==>nesc(~leftof(House_Leftof,House_Leftof3)). 15:57:17 15:57:17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and 15:57:17 %~ " ?House_Leftof isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof3 isa house " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof)) ==> 15:57:17 nesc( ~( house(House_Leftof3)))). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and 15:57:17 %~ " ?House_Leftof3 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof isa house " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( nesc(leftof(House_Leftof,House_Leftof3))&nesc(~house(House_Leftof3)) ==> 15:57:17 nesc( ~( house(House_Leftof)))). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and 15:57:17 %~ " ?House_Leftof isa house " is possible 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof3 isa house " is necessarily true 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof)) ==> 15:57:17 nesc( house(House_Leftof3))). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily true and 15:57:17 %~ " ?House_Leftof3 isa house " is possible 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof isa house " is necessarily true 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( nesc(leftof(House_Leftof,House_Leftof3))&poss(house(House_Leftof3)) ==> 15:57:17 nesc( house(House_Leftof))). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof isa house " is possible and 15:57:17 %~ " ?House_Leftof3 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( poss(house(House_Leftof))&nesc(~house(House_Leftof3)) ==> 15:57:17 nesc( ~( leftof(House_Leftof,House_Leftof3)))). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?House_Leftof3 isa house " is possible and 15:57:17 %~ " ?House_Leftof isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?House_Leftof leftof ?House_Leftof3 " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 ( poss(house(House_Leftof3))&nesc(~house(House_Leftof)) ==> 15:57:17 nesc( ~( leftof(House_Leftof,House_Leftof3)))). 15:57:17 15:57:17 ============================================ 15:57:17 %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('H1'),'$VAR'('H2')),and(house('$VAR'('H1')),house('$VAR'('H2')))) 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H2 isa house " is possible and 15:57:17 %~ " ?H1 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 poss(house(H2))&nesc(~house(H1))==>nesc(~leftof(H1,H2)). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily true and 15:57:17 %~ " ?H1 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H2 isa house " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc(leftof(H1,H2))&nesc(~house(H1))==>nesc(~house(H2)). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily true and 15:57:17 %~ " ?H2 isa house " is possible 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H1 isa house " is necessarily true 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc(leftof(H1,H2))&poss(house(H2))==>nesc(house(H1)). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H1 isa house " is possible and 15:57:17 %~ " ?H2 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 poss(house(H1))&nesc(~house(H2))==>nesc(~leftof(H1,H2)). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily true and 15:57:17 %~ " ?H2 isa house " is necessarily false 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H1 isa house " is necessarily false 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc(leftof(H1,H2))&nesc(~house(H2))==>nesc(~house(H1)). 15:57:17 15:57:17 % AND 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 %~ Whenever: 15:57:17 %~ " ?H1 leftof ?H2 " is necessarily true and 15:57:17 %~ " ?H1 isa house " is possible 15:57:17 %~ It's Proof that: 15:57:17 %~ " ?H2 isa house " is necessarily true 15:57:17 %~ 15:57:17 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:17 15:57:17 nesc(leftof(H1,H2))&poss(house(H1))==>nesc(house(H2)). 15:57:17 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 :- mpred_test(kif_compile). 15:57:17 15:57:17 % intractive_test/1 means only run if interactive 15:57:17 /*~ 15:57:17 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl:29 15:57:17 %~ ?-( mpred_test("Test_0002_Line_0000__Kif_compile",baseKB:kif_compile)). 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h1,h2)) 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h2,h3)) 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h3,h4)) 15:57:17 %~ kif_to_boxlog_attvars2 = necessary(leftof(h4,h5)) 15:57:17 %~ kif_to_boxlog_attvars2 = =>(leftof('$VAR'('House_Leftof'),'$VAR'('House_Leftof1')),and(house('$VAR'('House_Leftof')),house('$VAR'('House_Leftof1')))) 15:57:17 passed=info(why_was_true(baseKB:kif_compile)) 15:57:17 no_proof_for(kif_compile). 15:57:17 15:57:17 no_proof_for(kif_compile). 15:57:17 15:57:17 no_proof_for(kif_compile). 15:57:17 15:57:17 name = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01-Test_0002_Line_0000__Kif_compile'. 15:57:17 JUNIT_CLASSNAME = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01'. 15:57:17 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\']"'. 15:57:17 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_quick_test_FIVE_LEFTOF_TYPE_01_Test_0002_Line_0000_Kif_compile-junit.xml 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 % intractive_test/1 means only run if interactive 15:57:17 :- interactive_test(listing(pfclog)). 15:57:17 15:57:17 % mpred_test/1 each become a Junit test that must succeed 15:57:17 /*~ 15:57:17 ?-listing(pfclog) 15:57:17 :- dynamic pfclog/1. 15:57:17 :- multifile pfclog/1. 15:57:17 :- public pfclog/1. 15:57:17 :- module_transparent pfclog/1. 15:57:17 15:57:17 pfclog(nesc(leftof(h1, h2))). 15:57:17 pfclog(nesc(leftof(h2, h3))). 15:57:17 pfclog(nesc(leftof(h3, h4))). 15:57:17 pfclog(nesc(leftof(h4, h5))). 15:57:17 pfclog((poss(house(A)), nesc(~house(B))==>nesc(~leftof(B, A)))). 15:57:17 pfclog((nesc(leftof(A, B)), nesc(~house(A))==>nesc(~house(B)))). 15:57:17 pfclog((nesc(leftof(A, B)), poss(house(B))==>nesc(house(A)))). 15:57:17 pfclog((poss(house(A)), nesc(~house(B))==>nesc(~leftof(A, B)))). 15:57:17 pfclog((nesc(leftof(A, B)), nesc(~house(B))==>nesc(~house(A)))). 15:57:17 pfclog((nesc(leftof(A, B)), poss(house(A))==>nesc(house(B)))). 15:57:17 15:57:17 ~*/ 15:57:17 15:57:17 15:57:17 % mpred_test/1 each become a Junit test that must succeed 15:57:17 :- mpred_test(pfclog_compile). 15:57:17 15:57:17 15:57:17 % :- mpred_test(nesc(leftof(h4, h5))). 15:57:17 15:57:17 15:57:17 15:57:17 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl 15:57:17 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.quick_test/FIVE_LEFTOF_TYPE_01/ 15:57:17 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_TYPE_01 15:57:17 15:57:17 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/623 15:57:17 /*~ 15:57:17 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl:35 15:57:17 %~ ?-( mpred_test("Test_0003_Line_0000__Pfclog_compile",baseKB:pfclog_compile)). 15:57:17 passed=info(why_was_true(baseKB:pfclog_compile)) 15:57:17 no_proof_for(pfclog_compile). 15:57:17 15:57:17 no_proof_for(pfclog_compile). 15:57:17 15:57:17 no_proof_for(pfclog_compile). 15:57:17 15:57:17 name = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01-Test_0003_Line_0000__Pfclog_compile'. 15:57:17 JUNIT_CLASSNAME = 'logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01'. 15:57:17 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\']"'. 15:57:17 % saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_fol_quick_test_FIVE_LEFTOF_TYPE_01_Test_0003_Line_0000_Pfclog_compile-junit.xml 15:57:17 ~*/ 15:57:17 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/quick_test/five_leftof_type_01.pl:47 15:57:17 %~ unused(no_junit_results) 15:57:17 Test_0001_Line_0000__True result = passed. 15:57:17 Test_0002_Line_0000__Kif_compile result = passed. 15:57:17 Test_0003_Line_0000__Pfclog_compile result = passed. 15:57:17 15:57:17 %~ test_completed_exit(64) 15:57:17 totalTime=4.000 15:57:17 15:57:17 SUCCESS: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k five_leftof_type_01.pl (returned 64) Add_LABELS='' Rem_LABELS='Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:57:17 15:57:18 ISSUE_INFO=623 OPEN logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01 JUnit FIVE_LEFTOF_TYPE_01, Test_9999, unit_test, Passing, logicmoo.base.fol.quick_test 2021-09-26 22:47:55 +0000 UTC 15:57:18 ISSUE_ID=623 15:57:18 ISSUE_OC=OPEN 15:57:18 Updating Issue 623 OPEN logicmoo.base.fol.quick_test.FIVE_LEFTOF_TYPE_01 JUnit FIVE_LEFTOF_TYPE_01, Test_9999, unit_test, Passing, logicmoo.base.fol.quick_test 2021-09-26 22:47:55 +0000 UTC 15:57:23 https://github.com/logicmoo/logicmoo_workspace/issues/623 15:57:23 <!-- 15:57:23 junit-viewer is /usr/bin/junit-viewer 15:57:23 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer.debug.html 15:57:23 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html 15:57:23 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:57:23 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:57:23 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:57:24 junit2html is /usr/local/bin/junit2html 15:57:24 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.html 15:57:24 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-fol-quick_test-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units 15:57:24 --> 15:57:24 + lmoo-junit '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:57:24 <!-- PACK_DIR=logicmoo_base --> 15:57:24 <!-- JUNIT_PACKAGE=logicmoo.base.fol.fiveof --> 15:57:24 <!-- GLOBSTEM=logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:57:24 <!-- TEST_STEM=Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:24 <!-- TEST_STEM_PATH=/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 --> 15:57:24 <!-- Running release (all) tests 15:57:24 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:57:24 <!-- PACK_DIR=logicmoo_base --> 15:57:24 <!-- JUNIT_PACKAGE=logicmoo.base.fol.fiveof --> 15:57:24 <!-- GLOBSTEM=logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:57:24 <!-- TEST_STEM=Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:57:24 <!-- TEST_STEM_PATH=/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 --> 15:57:24 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:57:24 <!-- test_completed=true --> 15:57:24 <!-- ROLLUP_STEM=Report-logicmoo-base-fol-fiveof-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:57:24 <!-- ROLLUP_TMP=/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-Rollup.tmp --> 15:57:24 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:57:24 15:57:24 gh: Validation Failed (HTTP 422) 15:57:25 SORTED_FILES=five_leftof_exactly_02.pl five_leftof_insts_02.pl five_leftof_skollem_02.pl five_leftof_up_down_02.pl five_leftof_all_02.pl nonmonotonic_type_01.pl monotonic_type_01.pl five_leftof_type_02.pl five_leftof_type_01.pl five_leftof_03.pl five_leftof_02.pl 15:57:25 FileTestCase=logicmoo.base.fol.fiveof.FIVE_LEFTOF_EXACTLY_02 JUnit 15:57:25 15:57:25 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_exactly_02.pl']" 15:57:25 15:57:25 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_exactly_02.pl']") 15:57:25 15:57:25 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_exactly_02.pl 15:57:25 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_EXACTLY_02/ 15:57:25 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_EXACTLY_02 15:57:25 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/622 15:57:25 15:57:25 15:57:29 %~ init_phase(after_load) 15:57:29 %~ init_phase(restore_state) 15:57:29 % 15:57:29 %~ init_why(after_boot,program) 15:57:29 %~ after_boot. 15:57:29 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:57:29 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_exactly_02.pl'), 15:57:29 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:57:29 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:57:29 15:57:29 % ============================================= 15:57:29 % File 'mpred_builtin.pfc' 15:57:29 % Purpose: Agent Reactivity for SWI-Prolog 15:57:29 % Maintainer: Douglas Miles 15:57:29 % Contact: $Author: dmiles $@users.sourceforge.net % 15:57:29 % Version: 'interface' 1.0.0 15:57:29 % Revision: $Revision: 1.9 $ 15:57:29 % Revised At: $Date: 2002/06/27 14:13:20 $ 15:57:29 % ============================================= 15:57:29 % 15:57:29 :- expects_dialect(clif). 15:57:29 /*~ 15:57:29 ~*/ 15:57:29 15:57:29 :- set_prolog_flag(gc,false). 15:57:29 15:57:29 % There are five houses in a row. 15:57:29 15:57:29 15:57:29 /*~ 15:57:29 ~*/ 15:57:29 15:57:29 15:57:29 % There are five houses in a row. 15:57:29 15:57:29 15:57:29 exists(H1,exists(H2,exists(H3,exists(H4,exists(H5, 15:57:29 (leftof(H1, H2) & leftof(H2, H3) & leftof(H3, H4) & leftof(H4, H5))))))). 15:57:29 15:57:29 15:57:29 15:57:29 15:57:29 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_exactly_02.pl 15:57:29 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_EXACTLY_02/logicmoo_base_fol_fiveof_FIVE_LEFTOF_EXACTLY_02_JUnit/ 15:57:29 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_EXACTLY_02 15:57:29 15:57:29 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/622 15:57:29 /*~ 15:57:29 %~ debugm( baseKB, 15:57:29 %~ show_success( baseKB, 15:57:29 %~ baseKB : ain( clif( exists( H1, 15:57:29 %~ exists( H2, 15:57:29 %~ exists( H3, 15:57:29 %~ exists( H4, 15:57:29 %~ exists( H5, 15:57:29 %~ ( leftof(H1,H2) & 15:57:29 %~ leftof(H2,H3) & 15:57:29 %~ leftof(H3,H4) & 15:57:29 %~ leftof(H4,H5))))))))))) 15:57:29 % xgrun compiled into parser_chat80 0.00 sec, 0 clauses 15:57:29 % xgproc compiled into parser_chat80 0.02 sec, 0 clauses 15:57:29 15:57:29 15:57:29 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 1610 words .. ** 15:57:29 15:57:29 15:57:29 15:57:29 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 362 words .. ** 15:57:29 15:57:29 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:29 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:29 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:57:29 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:57:29 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:57:29 % :- share_mfa_pt2(parser_chat80,control80,1). 15:57:29 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:57:29 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.28 sec, 3 clauses 15:57:29 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:57:29 15:57:29 15:57:29 15:57:29 15:57:29 ======================================================= 15:57:29 exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),&(&(&(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13')))))))) 15:57:29 ============================================ 15:57:29 15:57:29 15:57:29 ?- kif_to_boxlog( exists(Exists_Leftof,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((leftof(Exists_Leftof,Exists_Leftof6)&leftof(Exists_Leftof6,Exists_Leftof7))&leftof(Exists_Leftof7,Exists_Leftof8))&leftof(Exists_Leftof8,Leftof13)))))) ). 15:57:29 15:57:29 15:57:29 15:57:29 % In English: 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ 15:57:29 %~ There exists ?Exists_Leftof 15:57:29 %~ ( 15:57:29 %~ There exists ?Exists_Leftof6 15:57:29 %~ ( 15:57:29 %~ There exists ?Exists_Leftof7 15:57:29 %~ ( 15:57:29 %~ There exists ?Exists_Leftof8 15:57:29 %~ ( 15:57:29 %~ There exists ?Leftof13 15:57:29 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " and 15:57:29 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " ) and 15:57:29 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " ) and 15:57:29 %~ " ?Exists_Leftof8 leftof ?Leftof13 " ))))) 15:57:29 %~ 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ kif_to_boxlog_attvars2 = exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),necessary(and(and(and(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13'))))))))) 15:57:29 15:57:29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 % Results in the following 6 entailment(s): 15:57:29 (((nesc(leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof6,Exists_Leftof7)). 15:57:29 (((poss(~leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof6,Exists_Leftof7)). 15:57:29 ((((nesc(leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof,Exists_Leftof6)). 15:57:29 ((((poss(~leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof,Exists_Leftof6)). 15:57:29 ('$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof7,Exists_Leftof8)). 15:57:29 '$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof8,Leftof13)). 15:57:29 15:57:29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ Whenever: 15:57:29 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true and 15:57:29 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:29 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:29 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:29 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:29 %~ It's Proof that: 15:57:29 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true 15:57:29 %~ 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 15:57:29 ( ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 '$existential'( Exists_Leftof6, 15:57:29 1, 15:57:29 exists( Exists_Leftof7, 15:57:29 exists( Exists_Leftof8, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:29 '$existential'( Exists_Leftof7, 15:57:29 1, 15:57:29 exists( Exists_Leftof8, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:29 '$existential'( Exists_Leftof8, 15:57:29 1, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:29 '$existential'( Leftof13, 15:57:29 1, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7))). 15:57:29 15:57:29 % AND 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ Whenever: 15:57:29 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false and 15:57:29 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:29 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:29 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:29 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:29 %~ It's Proof that: 15:57:29 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false 15:57:29 %~ 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 15:57:29 ( ( poss( ~( leftof(Exists_Leftof,Exists_Leftof6))) & 15:57:29 '$existential'( Exists_Leftof6, 15:57:29 1, 15:57:29 exists( Exists_Leftof7, 15:57:29 exists( Exists_Leftof8, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:29 '$existential'( Exists_Leftof7, 15:57:29 1, 15:57:29 exists( Exists_Leftof8, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:29 '$existential'( Exists_Leftof8, 15:57:29 1, 15:57:29 exists( Leftof13, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:29 '$existential'( Leftof13, 15:57:29 1, 15:57:29 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:29 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:29 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:29 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:29 poss( ~( leftof(Exists_Leftof6,Exists_Leftof7)))). 15:57:29 15:57:29 % AND 15:57:29 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:29 %~ Whenever: 15:57:29 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true and 15:57:29 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:57:30 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:30 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:30 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:30 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 '$existential'( Exists_Leftof, 15:57:30 1, 15:57:30 exists( Exists_Leftof6, 15:57:30 exists( Exists_Leftof7, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:57:30 '$existential'( Exists_Leftof6, 15:57:30 1, 15:57:30 exists( Exists_Leftof7, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:30 '$existential'( Exists_Leftof7, 15:57:30 1, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:30 '$existential'( Exists_Leftof8, 15:57:30 1, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:30 '$existential'( Leftof13, 15:57:30 1, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:30 nesc( leftof(Exists_Leftof,Exists_Leftof6))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false and 15:57:30 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:57:30 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:30 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:30 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:30 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( poss( ~( leftof(Exists_Leftof6,Exists_Leftof7))) & 15:57:30 '$existential'( Exists_Leftof, 15:57:30 1, 15:57:30 exists( Exists_Leftof6, 15:57:30 exists( Exists_Leftof7, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:57:30 '$existential'( Exists_Leftof6, 15:57:30 1, 15:57:30 exists( Exists_Leftof7, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:30 '$existential'( Exists_Leftof7, 15:57:30 1, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:30 '$existential'( Exists_Leftof8, 15:57:30 1, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:30 '$existential'( Leftof13, 15:57:30 1, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:30 poss( ~( leftof(Exists_Leftof,Exists_Leftof6)))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ ( by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) and 15:57:30 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:30 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( '$existential'( Exists_Leftof7, 15:57:30 1, 15:57:30 exists( Exists_Leftof8, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:30 '$existential'( Exists_Leftof8, 15:57:30 1, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:30 '$existential'( Leftof13, 15:57:30 1, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) and 15:57:30 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?Exists_Leftof8 leftof ?Leftof13 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( '$existential'( Exists_Leftof8, 15:57:30 1, 15:57:30 exists( Leftof13, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:30 '$existential'( Leftof13, 15:57:30 1, 15:57:30 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:30 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:30 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:30 nesc( leftof(Exists_Leftof8,Leftof13))). 15:57:30 15:57:30 ============================================ 15:57:30 %~ kif_to_boxlog_attvars2 = exists('$VAR'('H1'),exists('$VAR'('H2'),exists('$VAR'('H3'),exists('$VAR'('H4'),exists('$VAR'('H5'),necessary(and(and(and(leftof('$VAR'('H1'),'$VAR'('H2')),leftof('$VAR'('H2'),'$VAR'('H3'))),leftof('$VAR'('H3'),'$VAR'('H4'))),leftof('$VAR'('H4'),'$VAR'('H5'))))))))) 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H4 leftof ?H5 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 nesc( leftof(H4,H5))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ ( by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) and 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H3 leftof ?H4 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( '$existential'( H3, 15:57:30 1, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))) & 15:57:30 '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 nesc( leftof(H3,H4))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ (((" ?H1 leftof ?H2 " is possibly false and 15:57:30 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:30 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H2 leftof ?H3 " is possibly false 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( poss( ~( leftof(H1,H2))) & 15:57:30 '$existential'( H2, 15:57:30 1, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))))) & 15:57:30 '$existential'( H3, 15:57:30 1, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))) & 15:57:30 '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 poss( ~( leftof(H2,H3)))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ ((((" ?H2 leftof ?H3 " is necessarily true and 15:57:30 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:57:30 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:30 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H1 leftof ?H2 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( nesc( leftof(H2,H3)) & 15:57:30 '$existential'( H1, 15:57:30 1, 15:57:30 exists( H2, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))))) & 15:57:30 '$existential'( H2, 15:57:30 1, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))))) & 15:57:30 '$existential'( H3, 15:57:30 1, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))) & 15:57:30 '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 nesc( leftof(H1,H2))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ ((((" ?H2 leftof ?H3 " is possibly false and 15:57:30 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:57:30 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:30 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H1 leftof ?H2 " is possibly false 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( poss( ~( leftof(H2,H3))) & 15:57:30 '$existential'( H1, 15:57:30 1, 15:57:30 exists( H2, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))))) & 15:57:30 '$existential'( H2, 15:57:30 1, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))))) & 15:57:30 '$existential'( H3, 15:57:30 1, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))) & 15:57:30 '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 poss( ~( leftof(H1,H2)))). 15:57:30 15:57:30 % AND 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 %~ Whenever: 15:57:30 %~ (((" ?H1 leftof ?H2 " is necessarily true and 15:57:30 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:30 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:30 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:30 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:30 %~ It's Proof that: 15:57:30 %~ " ?H2 leftof ?H3 " is necessarily true 15:57:30 %~ 15:57:30 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:30 15:57:30 ( ( nesc( leftof(H1,H2)) & 15:57:30 '$existential'( H2, 15:57:30 1, 15:57:30 exists( H3, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))))) & 15:57:30 '$existential'( H3, 15:57:30 1, 15:57:30 exists( H4, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5)))))) & 15:57:30 '$existential'( H4, 15:57:30 1, 15:57:30 exists( H5, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) & 15:57:30 '$existential'( H5, 15:57:30 1, 15:57:30 ( nesc( leftof(H1,H2)) & 15:57:30 nesc( leftof(H2,H3)) & 15:57:30 nesc( leftof(H3,H4)) & 15:57:30 nesc( leftof(H4,H5))))) ==> 15:57:30 nesc( leftof(H2,H3))). 15:57:30 15:57:30 ~*/ 15:57:30 %~ unused(no_junit_results) 15:57:30 15:57:30 %~ test_completed_exit(0) 15:57:30 totalTime=5.000 15:57:30 15:57:30 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k five_leftof_exactly_02.pl (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:57:30 15:57:31 ISSUE_INFO=622 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_EXACTLY_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_EXACTLY_02, Failing 2021-09-26 22:48:49 +0000 UTC 15:57:31 ISSUE_ID=622 15:57:31 ISSUE_OC=OPEN 15:57:31 Editing Issue For FAILED 622 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_EXACTLY_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_EXACTLY_02, Failing 2021-09-26 22:48:49 +0000 UTC 15:57:36 https://github.com/logicmoo/logicmoo_workspace/issues/622 15:57:36 FileTestCase=logicmoo.base.fol.fiveof.FIVE_LEFTOF_INSTS_02 JUnit 15:57:36 15:57:36 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_insts_02.pl']" 15:57:36 15:57:36 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_insts_02.pl']") 15:57:36 15:57:36 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_insts_02.pl 15:57:36 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_INSTS_02/ 15:57:36 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_INSTS_02 15:57:36 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/621 15:57:36 15:57:36 15:57:40 %~ init_phase(after_load) 15:57:40 %~ init_phase(restore_state) 15:57:40 % 15:57:40 %~ init_why(after_boot,program) 15:57:40 %~ after_boot. 15:57:40 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:57:40 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_insts_02.pl'), 15:57:40 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:57:40 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93 15:57:40 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:57:40 15:57:40 % ============================================= 15:57:40 % File 'mpred_builtin.pfc' 15:57:40 % Purpose: Agent Reactivity for SWI-Prolog 15:57:40 % Maintainer: Douglas Miles 15:57:40 % Contact: $Author: dmiles $@users.sourceforge.net % 15:57:40 % Version: 'interface' 1.0.0 15:57:40 % Revision: $Revision: 1.9 $ 15:57:40 % Revised At: $Date: 2002/06/27 14:13:20 $ 15:57:40 % ============================================= 15:57:40 % 15:57:40 :- expects_dialect(clif). 15:57:40 /*~ 15:57:40 ~*/ 15:57:40 15:57:40 :- set_prolog_flag(gc,false). 15:57:40 15:57:40 % There are five houses in a row. 15:57:40 15:57:40 15:57:40 15:57:40 /*~ 15:57:40 ~*/ 15:57:40 15:57:40 15:57:40 % There are five houses in a row. 15:57:40 15:57:40 15:57:40 15:57:40 (leftof(h1, h2) & leftof(h2, h3) & leftof(h3, h4) & leftof(h4, h5)). 15:57:40 15:57:40 % leftof(h3,h4) 15:57:40 % leftof(h4,h5) 15:57:40 % poss(leftof(h1,h2))==>leftof(h2,h3). 15:57:40 % poss(leftof(h2,h3))==>leftof(h1,h2). 15:57:40 % ~leftof(h1,h2)==>nesc(~leftof(h2,h3)). 15:57:40 % ~leftof(h2,h3)==>nesc(~leftof(h1,h2)). 15:57:40 15:57:40 15:57:40 15:57:40 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_insts_02.pl 15:57:40 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_INSTS_02/logicmoo_base_fol_fiveof_FIVE_LEFTOF_INSTS_02_JUnit/ 15:57:40 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_INSTS_02 15:57:40 15:57:40 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/621 15:57:40 /*~ 15:57:40 %~ debugm( baseKB, 15:57:40 %~ show_success(baseKB,baseKB:ain(clif(((leftof(h1,h2)&leftof(h2,h3))&leftof(h3,h4))&leftof(h4,h5))))) 15:57:40 % xgrun compiled into parser_chat80 0.00 sec, 0 clauses 15:57:40 % xgproc compiled into parser_chat80 0.02 sec, 0 clauses 15:57:40 15:57:40 15:57:40 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 1617 words .. ** 15:57:40 15:57:40 15:57:40 15:57:40 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 336 words .. ** 15:57:40 15:57:40 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:40 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:40 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:57:40 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:57:40 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:57:40 % :- share_mfa_pt2(parser_chat80,control80,1). 15:57:40 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:57:40 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.24 sec, 3 clauses 15:57:40 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:57:40 15:57:40 15:57:40 15:57:40 15:57:40 ======================================================= 15:57:40 &(&(&(leftof(h1,h2),leftof(h2,h3)),leftof(h3,h4)),leftof(h4,h5)) 15:57:40 ============================================ 15:57:40 15:57:40 15:57:40 ?- kif_to_boxlog( ((leftof(h1,h2)&leftof(h2,h3))&leftof(h3,h4))&leftof(h4,h5) ). 15:57:40 15:57:40 15:57:40 15:57:40 % In English: 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ ((" h1 leftof h2 " and 15:57:40 %~ " h2 leftof h3 " ) and 15:57:40 %~ " h3 leftof h4 " ) and 15:57:40 %~ " h4 leftof h5 " 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ kif_to_boxlog_attvars2 = necessary(and(and(and(leftof(h1,h2),leftof(h2,h3)),leftof(h3,h4)),leftof(h4,h5))) 15:57:40 15:57:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 % Results in the following 6 entailment(s): 15:57:40 nesc(leftof(h3,h4)). 15:57:40 nesc(leftof(h4,h5)). 15:57:40 nesc(leftof(h1,h2))==>nesc(leftof(h2,h3)). 15:57:40 nesc(leftof(h2,h3))==>nesc(leftof(h1,h2)). 15:57:40 poss(~leftof(h1,h2))==>poss(~leftof(h2,h3)). 15:57:40 poss(~leftof(h2,h3))==>poss(~leftof(h1,h2)). 15:57:40 15:57:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ it is necessarily true that h3 leftof h4 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc( leftof(h3,h4)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ it is necessarily true that h4 leftof h5 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc( leftof(h4,h5)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h1 leftof h2 " is necessarily true 15:57:40 %~ It's Proof that: 15:57:40 %~ " h2 leftof h3 " is necessarily true 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc(leftof(h1,h2))==>nesc(leftof(h2,h3)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h2 leftof h3 " is necessarily true 15:57:40 %~ It's Proof that: 15:57:40 %~ " h1 leftof h2 " is necessarily true 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc(leftof(h2,h3))==>nesc(leftof(h1,h2)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h1 leftof h2 " is possibly false 15:57:40 %~ It's Proof that: 15:57:40 %~ " h2 leftof h3 " is possibly false 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 poss(~leftof(h1,h2))==>poss(~leftof(h2,h3)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h2 leftof h3 " is possibly false 15:57:40 %~ It's Proof that: 15:57:40 %~ " h1 leftof h2 " is possibly false 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 poss(~leftof(h2,h3))==>poss(~leftof(h1,h2)). 15:57:40 15:57:40 ============================================ 15:57:40 %~ kif_to_boxlog_attvars2 = necessary(and(and(and(leftof(h1,h2),leftof(h2,h3)),leftof(h3,h4)),leftof(h4,h5))) 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ it is necessarily true that h4 leftof h5 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc( leftof(h4,h5)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ it is necessarily true that h3 leftof h4 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc( leftof(h3,h4)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h1 leftof h2 " is possibly false 15:57:40 %~ It's Proof that: 15:57:40 %~ " h2 leftof h3 " is possibly false 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 poss(~leftof(h1,h2))==>poss(~leftof(h2,h3)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h2 leftof h3 " is necessarily true 15:57:40 %~ It's Proof that: 15:57:40 %~ " h1 leftof h2 " is necessarily true 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc(leftof(h2,h3))==>nesc(leftof(h1,h2)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h2 leftof h3 " is possibly false 15:57:40 %~ It's Proof that: 15:57:40 %~ " h1 leftof h2 " is possibly false 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 poss(~leftof(h2,h3))==>poss(~leftof(h1,h2)). 15:57:40 15:57:40 % AND 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 %~ Whenever: 15:57:40 %~ " h1 leftof h2 " is necessarily true 15:57:40 %~ It's Proof that: 15:57:40 %~ " h2 leftof h3 " is necessarily true 15:57:40 %~ 15:57:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:40 15:57:40 nesc(leftof(h1,h2))==>nesc(leftof(h2,h3)). 15:57:40 15:57:40 ~*/ 15:57:40 %~ unused(no_junit_results) 15:57:40 15:57:40 %~ test_completed_exit(0) 15:57:40 totalTime=3.000 15:57:40 15:57:40 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k five_leftof_insts_02.pl (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:57:40 15:57:41 ISSUE_INFO=621 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_INSTS_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_INSTS_02, Failing 2021-09-26 22:48:35 +0000 UTC 15:57:41 ISSUE_ID=621 15:57:41 ISSUE_OC=OPEN 15:57:41 Editing Issue For FAILED 621 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_INSTS_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_INSTS_02, Failing 2021-09-26 22:48:35 +0000 UTC 15:57:45 https://github.com/logicmoo/logicmoo_workspace/issues/621 15:57:45 FileTestCase=logicmoo.base.fol.fiveof.FIVE_LEFTOF_SKOLLEM_02 JUnit 15:57:45 15:57:45 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_skollem_02.pl']" 15:57:45 15:57:45 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_skollem_02.pl']") 15:57:45 15:57:45 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_skollem_02.pl 15:57:45 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_SKOLLEM_02/ 15:57:45 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_SKOLLEM_02 15:57:45 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/620 15:57:45 15:57:45 15:57:50 %~ init_phase(after_load) 15:57:50 %~ init_phase(restore_state) 15:57:50 % 15:57:50 %~ init_why(after_boot,program) 15:57:50 %~ after_boot. 15:57:50 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:57:50 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_skollem_02.pl'), 15:57:50 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:57:50 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:57:50 15:57:50 % ============================================= 15:57:50 % File 'mpred_builtin.pfc' 15:57:50 % Purpose: Agent Reactivity for SWI-Prolog 15:57:50 % Maintainer: Douglas Miles 15:57:50 % Contact: $Author: dmiles $@users.sourceforge.net % 15:57:50 % Version: 'interface' 1.0.0 15:57:50 % Revision: $Revision: 1.9 $ 15:57:50 % Revised At: $Date: 2002/06/27 14:13:20 $ 15:57:50 % ============================================= 15:57:50 % 15:57:50 :- expects_dialect(clif). 15:57:50 /*~ 15:57:50 ~*/ 15:57:50 15:57:50 :- set_prolog_flag(gc,false). 15:57:50 15:57:50 % There are five houses in a row. 15:57:50 15:57:50 /*~ 15:57:50 ~*/ 15:57:50 15:57:50 15:57:50 % There are five houses in a row. 15:57:50 15:57:50 exists(H1,exists(H2,exists(H3,exists(H4,exists(H5, 15:57:50 (leftof(H1, H2) & leftof(H2, H3) & leftof(H3, H4) & leftof(H4, H5))))))). 15:57:50 15:57:50 15:57:50 15:57:50 15:57:50 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_skollem_02.pl 15:57:50 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_SKOLLEM_02/logicmoo_base_fol_fiveof_FIVE_LEFTOF_SKOLLEM_02_JUnit/ 15:57:50 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_SKOLLEM_02 15:57:50 15:57:50 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/620 15:57:50 /*~ 15:57:50 %~ debugm( baseKB, 15:57:50 %~ show_success( baseKB, 15:57:50 %~ baseKB : ain( clif( exists( H1, 15:57:50 %~ exists( H2, 15:57:50 %~ exists( H3, 15:57:50 %~ exists( H4, 15:57:50 %~ exists( H5, 15:57:50 %~ ( leftof(H1,H2) & 15:57:50 %~ leftof(H2,H3) & 15:57:50 %~ leftof(H3,H4) & 15:57:50 %~ leftof(H4,H5))))))))))) 15:57:50 % xgrun compiled into parser_chat80 0.00 sec, 0 clauses 15:57:50 % xgproc compiled into parser_chat80 0.02 sec, 0 clauses 15:57:50 15:57:50 15:57:50 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 1597 words .. ** 15:57:50 15:57:50 15:57:50 15:57:50 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 357 words .. ** 15:57:50 15:57:50 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:50 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:57:50 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:57:50 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:57:50 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:57:50 % :- share_mfa_pt2(parser_chat80,control80,1). 15:57:50 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:57:50 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.27 sec, 3 clauses 15:57:50 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:57:50 15:57:50 15:57:50 15:57:50 15:57:50 ======================================================= 15:57:50 exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),&(&(&(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13')))))))) 15:57:50 ============================================ 15:57:50 15:57:50 15:57:50 ?- kif_to_boxlog( exists(Exists_Leftof,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((leftof(Exists_Leftof,Exists_Leftof6)&leftof(Exists_Leftof6,Exists_Leftof7))&leftof(Exists_Leftof7,Exists_Leftof8))&leftof(Exists_Leftof8,Leftof13)))))) ). 15:57:50 15:57:50 15:57:50 15:57:50 % In English: 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ 15:57:50 %~ There exists ?Exists_Leftof 15:57:50 %~ ( 15:57:50 %~ There exists ?Exists_Leftof6 15:57:50 %~ ( 15:57:50 %~ There exists ?Exists_Leftof7 15:57:50 %~ ( 15:57:50 %~ There exists ?Exists_Leftof8 15:57:50 %~ ( 15:57:50 %~ There exists ?Leftof13 15:57:50 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " and 15:57:50 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " ) and 15:57:50 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " ) and 15:57:50 %~ " ?Exists_Leftof8 leftof ?Leftof13 " ))))) 15:57:50 %~ 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ kif_to_boxlog_attvars2 = exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),necessary(and(and(and(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13'))))))))) 15:57:50 15:57:50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 % Results in the following 6 entailment(s): 15:57:50 (((nesc(leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof6,Exists_Leftof7)). 15:57:50 (((poss(~leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof6,Exists_Leftof7)). 15:57:50 ((((nesc(leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof,Exists_Leftof6)). 15:57:50 ((((poss(~leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof,Exists_Leftof6)). 15:57:50 ('$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof7,Exists_Leftof8)). 15:57:50 '$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof8,Leftof13)). 15:57:50 15:57:50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ Whenever: 15:57:50 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true and 15:57:50 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:50 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:50 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:50 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:50 %~ It's Proof that: 15:57:50 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true 15:57:50 %~ 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 15:57:50 ( ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 '$existential'( Exists_Leftof6, 15:57:50 1, 15:57:50 exists( Exists_Leftof7, 15:57:50 exists( Exists_Leftof8, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:50 '$existential'( Exists_Leftof7, 15:57:50 1, 15:57:50 exists( Exists_Leftof8, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:50 '$existential'( Exists_Leftof8, 15:57:50 1, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:50 '$existential'( Leftof13, 15:57:50 1, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7))). 15:57:50 15:57:50 % AND 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ Whenever: 15:57:50 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false and 15:57:50 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:50 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:50 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:50 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:50 %~ It's Proof that: 15:57:50 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false 15:57:50 %~ 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 15:57:50 ( ( poss( ~( leftof(Exists_Leftof,Exists_Leftof6))) & 15:57:50 '$existential'( Exists_Leftof6, 15:57:50 1, 15:57:50 exists( Exists_Leftof7, 15:57:50 exists( Exists_Leftof8, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:50 '$existential'( Exists_Leftof7, 15:57:50 1, 15:57:50 exists( Exists_Leftof8, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:50 '$existential'( Exists_Leftof8, 15:57:50 1, 15:57:50 exists( Leftof13, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:50 '$existential'( Leftof13, 15:57:50 1, 15:57:50 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:50 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:50 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:50 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:50 poss( ~( leftof(Exists_Leftof6,Exists_Leftof7)))). 15:57:50 15:57:50 % AND 15:57:50 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:50 %~ Whenever: 15:57:50 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true and 15:57:50 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:57:51 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:51 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:51 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:51 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 '$existential'( Exists_Leftof, 15:57:51 1, 15:57:51 exists( Exists_Leftof6, 15:57:51 exists( Exists_Leftof7, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:57:51 '$existential'( Exists_Leftof6, 15:57:51 1, 15:57:51 exists( Exists_Leftof7, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:51 '$existential'( Exists_Leftof7, 15:57:51 1, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:51 '$existential'( Exists_Leftof8, 15:57:51 1, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:51 '$existential'( Leftof13, 15:57:51 1, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:51 nesc( leftof(Exists_Leftof,Exists_Leftof6))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false and 15:57:51 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:57:51 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:57:51 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:57:51 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:51 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( poss( ~( leftof(Exists_Leftof6,Exists_Leftof7))) & 15:57:51 '$existential'( Exists_Leftof, 15:57:51 1, 15:57:51 exists( Exists_Leftof6, 15:57:51 exists( Exists_Leftof7, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:57:51 '$existential'( Exists_Leftof6, 15:57:51 1, 15:57:51 exists( Exists_Leftof7, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:57:51 '$existential'( Exists_Leftof7, 15:57:51 1, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:51 '$existential'( Exists_Leftof8, 15:57:51 1, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:51 '$existential'( Leftof13, 15:57:51 1, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:51 poss( ~( leftof(Exists_Leftof,Exists_Leftof6)))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ ( by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) and 15:57:51 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:57:51 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( '$existential'( Exists_Leftof7, 15:57:51 1, 15:57:51 exists( Exists_Leftof8, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:57:51 '$existential'( Exists_Leftof8, 15:57:51 1, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:51 '$existential'( Leftof13, 15:57:51 1, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) and 15:57:51 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?Exists_Leftof8 leftof ?Leftof13 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( '$existential'( Exists_Leftof8, 15:57:51 1, 15:57:51 exists( Leftof13, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:57:51 '$existential'( Leftof13, 15:57:51 1, 15:57:51 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:57:51 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:57:51 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:57:51 nesc( leftof(Exists_Leftof8,Leftof13))). 15:57:51 15:57:51 ============================================ 15:57:51 %~ kif_to_boxlog_attvars2 = exists('$VAR'('H1'),exists('$VAR'('H2'),exists('$VAR'('H3'),exists('$VAR'('H4'),exists('$VAR'('H5'),necessary(and(and(and(leftof('$VAR'('H1'),'$VAR'('H2')),leftof('$VAR'('H2'),'$VAR'('H3'))),leftof('$VAR'('H3'),'$VAR'('H4'))),leftof('$VAR'('H4'),'$VAR'('H5'))))))))) 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H4 leftof ?H5 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 nesc( leftof(H4,H5))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ ( by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) and 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H3 leftof ?H4 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( '$existential'( H3, 15:57:51 1, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))) & 15:57:51 '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 nesc( leftof(H3,H4))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ (((" ?H1 leftof ?H2 " is possibly false and 15:57:51 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:51 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H2 leftof ?H3 " is possibly false 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( poss( ~( leftof(H1,H2))) & 15:57:51 '$existential'( H2, 15:57:51 1, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))))) & 15:57:51 '$existential'( H3, 15:57:51 1, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))) & 15:57:51 '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 poss( ~( leftof(H2,H3)))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ ((((" ?H2 leftof ?H3 " is necessarily true and 15:57:51 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:57:51 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:51 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H1 leftof ?H2 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( nesc( leftof(H2,H3)) & 15:57:51 '$existential'( H1, 15:57:51 1, 15:57:51 exists( H2, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))))) & 15:57:51 '$existential'( H2, 15:57:51 1, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))))) & 15:57:51 '$existential'( H3, 15:57:51 1, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))) & 15:57:51 '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 nesc( leftof(H1,H2))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ ((((" ?H2 leftof ?H3 " is possibly false and 15:57:51 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:57:51 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:51 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H1 leftof ?H2 " is possibly false 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( poss( ~( leftof(H2,H3))) & 15:57:51 '$existential'( H1, 15:57:51 1, 15:57:51 exists( H2, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))))) & 15:57:51 '$existential'( H2, 15:57:51 1, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))))) & 15:57:51 '$existential'( H3, 15:57:51 1, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))) & 15:57:51 '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 poss( ~( leftof(H1,H2)))). 15:57:51 15:57:51 % AND 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 %~ Whenever: 15:57:51 %~ (((" ?H1 leftof ?H2 " is necessarily true and 15:57:51 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:57:51 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:57:51 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:57:51 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:57:51 %~ It's Proof that: 15:57:51 %~ " ?H2 leftof ?H3 " is necessarily true 15:57:51 %~ 15:57:51 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:57:51 15:57:51 ( ( nesc( leftof(H1,H2)) & 15:57:51 '$existential'( H2, 15:57:51 1, 15:57:51 exists( H3, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))))) & 15:57:51 '$existential'( H3, 15:57:51 1, 15:57:51 exists( H4, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5)))))) & 15:57:51 '$existential'( H4, 15:57:51 1, 15:57:51 exists( H5, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) & 15:57:51 '$existential'( H5, 15:57:51 1, 15:57:51 ( nesc( leftof(H1,H2)) & 15:57:51 nesc( leftof(H2,H3)) & 15:57:51 nesc( leftof(H3,H4)) & 15:57:51 nesc( leftof(H4,H5))))) ==> 15:57:51 nesc( leftof(H2,H3))). 15:57:51 15:57:51 ~*/ 15:57:51 %~ unused(no_junit_results) 15:57:51 15:57:51 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_skollem_02.pl:28 15:57:51 %~ test_completed_exit(0) 15:57:51 totalTime=5.000 15:57:51 15:57:51 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k five_leftof_skollem_02.pl (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:57:51 15:57:52 ISSUE_INFO=620 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_SKOLLEM_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_SKOLLEM_02, Failing 2021-09-26 22:48:24 +0000 UTC 15:57:52 ISSUE_ID=620 15:57:52 ISSUE_OC=OPEN 15:57:52 Editing Issue For FAILED 620 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_SKOLLEM_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_SKOLLEM_02, Failing 2021-09-26 22:48:24 +0000 UTC 15:57:57 https://github.com/logicmoo/logicmoo_workspace/issues/620 15:57:57 FileTestCase=logicmoo.base.fol.fiveof.FIVE_LEFTOF_UP_DOWN_02 JUnit 15:57:57 15:57:57 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_up_down_02.pl']" 15:57:57 15:57:57 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['five_leftof_up_down_02.pl']") 15:57:57 15:57:57 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_up_down_02.pl 15:57:57 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_UP_DOWN_02/ 15:57:57 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_UP_DOWN_02 15:57:57 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/618 15:57:57 15:57:57 15:58:02 %~ init_phase(after_load) 15:58:02 %~ init_phase(restore_state) 15:58:02 % 15:58:02 %~ init_why(after_boot,program) 15:58:02 %~ after_boot. 15:58:02 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:58:02 running('/var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_up_down_02.pl'), 15:58:02 %~ this_test_might_need( :-( expects_dialect(pfc))) 15:58:02 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:93 15:58:02 %~ this_test_might_need( :-( use_module( library(logicmoo_plarkc)))) 15:58:02 15:58:02 % ============================================= 15:58:02 % File 'mpred_builtin.pfc' 15:58:02 % Purpose: Agent Reactivity for SWI-Prolog 15:58:02 % Maintainer: Douglas Miles 15:58:02 % Contact: $Author: dmiles $@users.sourceforge.net % 15:58:02 % Version: 'interface' 1.0.0 15:58:02 % Revision: $Revision: 1.9 $ 15:58:02 % Revised At: $Date: 2002/06/27 14:13:20 $ 15:58:02 % ============================================= 15:58:02 % 15:58:02 :- expects_dialect(clif). 15:58:02 /*~ 15:58:02 ~*/ 15:58:02 15:58:02 :- set_prolog_flag(gc,false). 15:58:02 15:58:02 % There are five houses in a row. 15:58:02 15:58:02 /*~ 15:58:02 ~*/ 15:58:02 15:58:02 15:58:02 % There are five houses in a row. 15:58:02 15:58:02 exists(H1,exists(H2,exists(H3,exists(H4,exists(H5, 15:58:02 (leftof(H1, H2) & leftof(H2, H3) & leftof(H3, H4) & leftof(H4, H5))))))). 15:58:02 15:58:02 15:58:02 15:58:02 15:58:02 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_up_down_02.pl 15:58:02 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.fol.fiveof/FIVE_LEFTOF_UP_DOWN_02/logicmoo_base_fol_fiveof_FIVE_LEFTOF_UP_DOWN_02_JUnit/ 15:58:02 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AFIVE_LEFTOF_UP_DOWN_02 15:58:02 15:58:02 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/618 15:58:02 /*~ 15:58:02 %~ debugm( baseKB, 15:58:02 %~ show_success( baseKB, 15:58:02 %~ baseKB : ain( clif( exists( H1, 15:58:02 %~ exists( H2, 15:58:02 %~ exists( H3, 15:58:02 %~ exists( H4, 15:58:02 %~ exists( H5, 15:58:02 %~ ( leftof(H1,H2) & 15:58:02 %~ leftof(H2,H3) & 15:58:02 %~ leftof(H3,H4) & 15:58:02 %~ leftof(H4,H5))))))))))) 15:58:02 % xgrun compiled into parser_chat80 0.00 sec, 0 clauses 15:58:02 % xgproc compiled into parser_chat80 0.02 sec, 0 clauses 15:58:02 15:58:02 15:58:02 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 1609 words .. ** 15:58:02 15:58:02 15:58:02 15:58:02 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 360 words .. ** 15:58:02 15:58:02 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:02 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:02 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:58:02 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:58:02 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:58:02 % :- share_mfa_pt2(parser_chat80,control80,1). 15:58:02 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:58:02 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.23 sec, 3 clauses 15:58:02 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.13 sec, -16 clauses 15:58:02 15:58:02 15:58:02 15:58:02 15:58:02 ======================================================= 15:58:02 exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),&(&(&(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13')))))))) 15:58:02 ============================================ 15:58:02 15:58:02 15:58:02 ?- kif_to_boxlog( exists(Exists_Leftof,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((leftof(Exists_Leftof,Exists_Leftof6)&leftof(Exists_Leftof6,Exists_Leftof7))&leftof(Exists_Leftof7,Exists_Leftof8))&leftof(Exists_Leftof8,Leftof13)))))) ). 15:58:02 15:58:02 15:58:02 15:58:02 % In English: 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ 15:58:02 %~ There exists ?Exists_Leftof 15:58:02 %~ ( 15:58:02 %~ There exists ?Exists_Leftof6 15:58:02 %~ ( 15:58:02 %~ There exists ?Exists_Leftof7 15:58:02 %~ ( 15:58:02 %~ There exists ?Exists_Leftof8 15:58:02 %~ ( 15:58:02 %~ There exists ?Leftof13 15:58:02 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " and 15:58:02 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " ) and 15:58:02 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " ) and 15:58:02 %~ " ?Exists_Leftof8 leftof ?Leftof13 " ))))) 15:58:02 %~ 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ kif_to_boxlog_attvars2 = exists('$VAR'('Exists_Leftof'),exists('$VAR'('Exists_Leftof6'),exists('$VAR'('Exists_Leftof7'),exists('$VAR'('Exists_Leftof8'),exists('$VAR'('Leftof13'),necessary(and(and(and(leftof('$VAR'('Exists_Leftof'),'$VAR'('Exists_Leftof6')),leftof('$VAR'('Exists_Leftof6'),'$VAR'('Exists_Leftof7'))),leftof('$VAR'('Exists_Leftof7'),'$VAR'('Exists_Leftof8'))),leftof('$VAR'('Exists_Leftof8'),'$VAR'('Leftof13'))))))))) 15:58:02 15:58:02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 % Results in the following 6 entailment(s): 15:58:02 (((nesc(leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof6,Exists_Leftof7)). 15:58:02 (((poss(~leftof(Exists_Leftof,Exists_Leftof6))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof6,Exists_Leftof7)). 15:58:02 ((((nesc(leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof,Exists_Leftof6)). 15:58:02 ((((poss(~leftof(Exists_Leftof6,Exists_Leftof7))&'$existential'(Exists_Leftof,1,exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))))&'$existential'(Exists_Leftof6,1,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))))&'$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>poss(~leftof(Exists_Leftof,Exists_Leftof6)). 15:58:02 ('$existential'(Exists_Leftof7,1,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof7,Exists_Leftof8)). 15:58:02 '$existential'(Exists_Leftof8,1,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))&'$existential'(Leftof13,1,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))==>nesc(leftof(Exists_Leftof8,Leftof13)). 15:58:02 15:58:02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ Whenever: 15:58:02 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true and 15:58:02 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:58:02 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:58:02 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:58:02 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:02 %~ It's Proof that: 15:58:02 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true 15:58:02 %~ 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 15:58:02 ( ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 '$existential'( Exists_Leftof6, 15:58:02 1, 15:58:02 exists( Exists_Leftof7, 15:58:02 exists( Exists_Leftof8, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:58:02 '$existential'( Exists_Leftof7, 15:58:02 1, 15:58:02 exists( Exists_Leftof8, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:58:02 '$existential'( Exists_Leftof8, 15:58:02 1, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:02 '$existential'( Leftof13, 15:58:02 1, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7))). 15:58:02 15:58:02 % AND 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ Whenever: 15:58:02 %~ (((" ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false and 15:58:02 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:58:02 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:58:02 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:58:02 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:02 %~ It's Proof that: 15:58:02 %~ " ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false 15:58:02 %~ 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 15:58:02 ( ( poss( ~( leftof(Exists_Leftof,Exists_Leftof6))) & 15:58:02 '$existential'( Exists_Leftof6, 15:58:02 1, 15:58:02 exists( Exists_Leftof7, 15:58:02 exists( Exists_Leftof8, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:58:02 '$existential'( Exists_Leftof7, 15:58:02 1, 15:58:02 exists( Exists_Leftof8, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:58:02 '$existential'( Exists_Leftof8, 15:58:02 1, 15:58:02 exists( Leftof13, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:02 '$existential'( Leftof13, 15:58:02 1, 15:58:02 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:02 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:02 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:02 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:02 poss( ~( leftof(Exists_Leftof6,Exists_Leftof7)))). 15:58:02 15:58:02 % AND 15:58:02 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:02 %~ Whenever: 15:58:02 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is necessarily true and 15:58:02 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:58:03 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:58:03 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:58:03 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:58:03 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 '$existential'( Exists_Leftof, 15:58:03 1, 15:58:03 exists( Exists_Leftof6, 15:58:03 exists( Exists_Leftof7, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:58:03 '$existential'( Exists_Leftof6, 15:58:03 1, 15:58:03 exists( Exists_Leftof7, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:58:03 '$existential'( Exists_Leftof7, 15:58:03 1, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:58:03 '$existential'( Exists_Leftof8, 15:58:03 1, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:03 '$existential'( Leftof13, 15:58:03 1, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:03 nesc( leftof(Exists_Leftof,Exists_Leftof6))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ ((((" ?Exists_Leftof6 leftof ?Exists_Leftof7 " is possibly false and 15:58:03 %~ by default ?Exists_Leftof exists(Exists_Leftof6,exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))))) ) and 15:58:03 %~ by default ?Exists_Leftof6 exists(Exists_Leftof7,exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))))) ) and 15:58:03 %~ by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) ) and 15:58:03 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:58:03 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?Exists_Leftof leftof ?Exists_Leftof6 " is possibly false 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( poss( ~( leftof(Exists_Leftof6,Exists_Leftof7))) & 15:58:03 '$existential'( Exists_Leftof, 15:58:03 1, 15:58:03 exists( Exists_Leftof6, 15:58:03 exists( Exists_Leftof7, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13)))))))) & 15:58:03 '$existential'( Exists_Leftof6, 15:58:03 1, 15:58:03 exists( Exists_Leftof7, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))))) & 15:58:03 '$existential'( Exists_Leftof7, 15:58:03 1, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:58:03 '$existential'( Exists_Leftof8, 15:58:03 1, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:03 '$existential'( Leftof13, 15:58:03 1, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:03 poss( ~( leftof(Exists_Leftof,Exists_Leftof6)))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ ( by default ?Exists_Leftof7 exists(Exists_Leftof8,exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)))) and 15:58:03 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) ) and 15:58:03 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?Exists_Leftof7 leftof ?Exists_Leftof8 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( '$existential'( Exists_Leftof7, 15:58:03 1, 15:58:03 exists( Exists_Leftof8, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13)))))) & 15:58:03 '$existential'( Exists_Leftof8, 15:58:03 1, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:03 '$existential'( Leftof13, 15:58:03 1, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ by default ?Exists_Leftof8 exists(Leftof13,((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13))) and 15:58:03 %~ by default ?Leftof13 ((nesc(leftof(Exists_Leftof,Exists_Leftof6))&nesc(leftof(Exists_Leftof6,Exists_Leftof7)))&nesc(leftof(Exists_Leftof7,Exists_Leftof8)))&nesc(leftof(Exists_Leftof8,Leftof13)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?Exists_Leftof8 leftof ?Leftof13 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( '$existential'( Exists_Leftof8, 15:58:03 1, 15:58:03 exists( Leftof13, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) & 15:58:03 '$existential'( Leftof13, 15:58:03 1, 15:58:03 ( nesc( leftof(Exists_Leftof,Exists_Leftof6)) & 15:58:03 nesc( leftof(Exists_Leftof6,Exists_Leftof7)) & 15:58:03 nesc( leftof(Exists_Leftof7,Exists_Leftof8)) & 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))))) ==> 15:58:03 nesc( leftof(Exists_Leftof8,Leftof13))). 15:58:03 15:58:03 ============================================ 15:58:03 %~ kif_to_boxlog_attvars2 = exists('$VAR'('H1'),exists('$VAR'('H2'),exists('$VAR'('H3'),exists('$VAR'('H4'),exists('$VAR'('H5'),necessary(and(and(and(leftof('$VAR'('H1'),'$VAR'('H2')),leftof('$VAR'('H2'),'$VAR'('H3'))),leftof('$VAR'('H3'),'$VAR'('H4'))),leftof('$VAR'('H4'),'$VAR'('H5'))))))))) 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H4 leftof ?H5 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 nesc( leftof(H4,H5))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ ( by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) and 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H3 leftof ?H4 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( '$existential'( H3, 15:58:03 1, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))) & 15:58:03 '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 nesc( leftof(H3,H4))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ (((" ?H1 leftof ?H2 " is possibly false and 15:58:03 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:58:03 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H2 leftof ?H3 " is possibly false 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( poss( ~( leftof(H1,H2))) & 15:58:03 '$existential'( H2, 15:58:03 1, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))))) & 15:58:03 '$existential'( H3, 15:58:03 1, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))) & 15:58:03 '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 poss( ~( leftof(H2,H3)))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ ((((" ?H2 leftof ?H3 " is necessarily true and 15:58:03 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:58:03 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:58:03 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H1 leftof ?H2 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( nesc( leftof(H2,H3)) & 15:58:03 '$existential'( H1, 15:58:03 1, 15:58:03 exists( H2, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))))) & 15:58:03 '$existential'( H2, 15:58:03 1, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))))) & 15:58:03 '$existential'( H3, 15:58:03 1, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))) & 15:58:03 '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 nesc( leftof(H1,H2))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ ((((" ?H2 leftof ?H3 " is possibly false and 15:58:03 %~ by default ?H1 exists(H2,exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))))) ) and 15:58:03 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:58:03 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H1 leftof ?H2 " is possibly false 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( poss( ~( leftof(H2,H3))) & 15:58:03 '$existential'( H1, 15:58:03 1, 15:58:03 exists( H2, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))))) & 15:58:03 '$existential'( H2, 15:58:03 1, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))))) & 15:58:03 '$existential'( H3, 15:58:03 1, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))) & 15:58:03 '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 poss( ~( leftof(H1,H2)))). 15:58:03 15:58:03 % AND 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 %~ Whenever: 15:58:03 %~ (((" ?H1 leftof ?H2 " is necessarily true and 15:58:03 %~ by default ?H2 exists(H3,exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))))) ) and 15:58:03 %~ by default ?H3 exists(H4,exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)))) ) and 15:58:03 %~ by default ?H4 exists(H5,((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5))) ) and 15:58:03 %~ by default ?H5 ((nesc(leftof(H1,H2))&nesc(leftof(H2,H3)))&nesc(leftof(H3,H4)))&nesc(leftof(H4,H5)) 15:58:03 %~ It's Proof that: 15:58:03 %~ " ?H2 leftof ?H3 " is necessarily true 15:58:03 %~ 15:58:03 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:03 15:58:03 ( ( nesc( leftof(H1,H2)) & 15:58:03 '$existential'( H2, 15:58:03 1, 15:58:03 exists( H3, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))))) & 15:58:03 '$existential'( H3, 15:58:03 1, 15:58:03 exists( H4, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5)))))) & 15:58:03 '$existential'( H4, 15:58:03 1, 15:58:03 exists( H5, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) & 15:58:03 '$existential'( H5, 15:58:03 1, 15:58:03 ( nesc( leftof(H1,H2)) & 15:58:03 nesc( leftof(H2,H3)) & 15:58:03 nesc( leftof(H3,H4)) & 15:58:03 nesc( leftof(H4,H5))))) ==> 15:58:03 nesc( leftof(H2,H3))). 15:58:03 15:58:03 ~*/ 15:58:03 %~ unused(no_junit_results) 15:58:03 15:58:03 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/fiveof/five_leftof_up_down_02.pl:28 15:58:03 %~ test_completed_exit(0) 15:58:03 totalTime=5.000 15:58:03 15:58:03 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k five_leftof_up_down_02.pl (returned 0) Add_LABELS='' Rem_LABELS='Skipped,Skipped,Errors,Warnings,Overtime,Skipped,Skipped' 15:58:03 15:58:04 ISSUE_INFO=618 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_UP_DOWN_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_UP_DOWN_02, Failing 2021-09-26 22:48:09 +0000 UTC 15:58:04 ISSUE_ID=618 15:58:04 ISSUE_OC=OPEN 15:58:04 Editing Issue For FAILED 618 OPEN logicmoo.base.fol.fiveof.FIVE_LEFTOF_UP_DOWN_02 JUnit logicmoo.base.fol.fiveof, Test_9999, unit_test, FIVE_LEFTOF_UP_DOWN_02, Failing 2021-09-26 22:48:09 +0000 UTC 15:58:09 https://github.com/logicmoo/logicmoo_workspace/issues/618 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. five_leftof_all_02.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. nonmonotonic_type_01.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. monotonic_type_01.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. five_leftof_type_02.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. five_leftof_type_01.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. five_leftof_03.pl 15:58:09 Warn: reached MAX_JUNIT_TESTS .. skipping .. five_leftof_02.pl 15:58:09 sed: can't read /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?*-junit.xml: No such file or directory 15:58:09 <!-- 15:58:09 junit-viewer is /usr/bin/junit-viewer 15:58:09 junit-viewer --results=/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-junitCombined-rollup.tmp --save=/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-junit-viewer-rollup.html &> /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-junit-viewer.debug.html 15:58:09 junit-viewer --results=/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-junitCombined-rollup.tmp --save=/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-junit-viewer-rollup.html 15:58:10 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:58:10 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:58:10 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:58:11 junit2html is /usr/local/bin/junit2html 15:58:11 junit2html /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-junitCombined-rollup.tmp /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-junitCombined-rollup.html 15:58:11 TEST_STEM_PATH=/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 15:58:11 --> 15:58:11 + CMD_TIMEOUT=1m 15:58:11 + '[' -n 4 ']' 15:58:11 + '[' 4 -lt 10 ']' 15:58:11 + CMD_TIMEOUT=10s 15:58:11 + echo 'Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=10s' 15:58:11 Warn: (MAX_JUNIT_TESTS < 10) we want our tests to be short: CMD_TIMEOUT=10s 15:58:11 + lmoo-junit '*0*.* 2>&1 | grep -2 -i '\''WARN\|ERROR\|_file\|00\|fail\|pass'\''' 15:58:11 <!-- PACK_DIR=logicmoo_base --> 15:58:11 <!-- JUNIT_PACKAGE=logicmoo.base.examples.fol --> 15:58:11 <!-- GLOBSTEM=logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:58:11 <!-- TEST_STEM=Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:58:11 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:58:11 <!-- Running release (all) tests 15:58:11 ( cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') --> 15:58:11 <!-- PACK_DIR=logicmoo_base --> 15:58:11 <!-- JUNIT_PACKAGE=logicmoo.base.examples.fol --> 15:58:11 <!-- GLOBSTEM=logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass- --> 15:58:11 <!-- TEST_STEM=Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:58:11 <!-- TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units --> 15:58:11 <!-- LOGICMOO_WS=/var/lib/jenkins/workspace/logicmoo_workspace --> 15:58:11 <!-- test_completed=true --> 15:58:11 <!-- ROLLUP_STEM=Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup --> 15:58:11 <!-- ROLLUP_TMP=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Rollup.tmp --> 15:58:11 Running Matching Tests: (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k *0*.* 2>&1 | grep -2 -i 'WARN\|ERROR\|_file\|00\|fail\|pass') 15:58:11 15:58:11 gh: Validation Failed (HTTP 422) 15:58:14 SORTED_FILES=zebra_03.clif zebra_04.clif zebra_05.clif zebra_06.clif zebra_02.clif zebra_01.clif zebra_01a.clif good_same_01.clif exactly_one_value_01.clif exactly_one_instance_01.clif exactly_one_has_the_value_01.clif exactly_01.clif clif_01.clif answerable_t_01.pfc.pl exactly_poss_cute_06.pfc.pl birds_04.pfc.pl unit_projection_lem_01.pfc.pl tc_example_01.pfc.pl sigma_04.pl scope_exists_01.pfc.pl sanity_sk_two_01.pfc.pl sanity_sk_human_01.pfc.pl sanity_poss_03.pfc.pl sanity_poss_02.pfc.pl sanity_poss_01.pfc.pl sanity_fi_sk_01.pfc.pl sanity_fi_human_01.pfc.pl sanity_exists_03.pfc.pl sanity_exists_02.pfc.pl sanity_exists_01.pfc.pl sanity_exactly_01.pfc.pl sanity_atmost_01.pfc.pl sanity_atleast_01.pfc.pl sanity_at_least_most_exactly_02.pfc.pl sanity_at_least_most_exactly_01.pfc.pl room_numbers_01.pfc.pl poss_forall_exists_05.pfc.pl poss_forall_exists_04.pfc.pl poss_forall_exists_03.pfc.pl poss_forall_exists_02.pfc.pl poss_forall_exists_01.pfc.pl mpred_reset_db_01.pfc.pl missing_count_06.pfc.pl missing_count_05.pfc.pl missing_count_04.pfc.pl missing_count_03.pfc.pl missing_count_02.pfc.pl missing_count_01.pfc.pl make_wff_02.pfc.pl make_wff_01.pfc.pl make_types_wff_01.pfc.pl lefty_01.pfc.pl kif_sanity_01.pfc.pl kif_io_test_01.pl forall_quant_01.pfc.pl fol_cardinaity_axiomitized_02.pfc.pl fol_cardinaity_axiomitized_01.pfc.pl fol_calc_01.pfc.pl fol_birdt_01.pfc.pl family_regress_01.pfc.pl family_inheritance_01.pfc.pl exists_04.pfc.pl exactly_puppy_02.pfc.pl einstein_simpler_05.pfc.pl einstein_simpler_03.pfc.pl einstein_simpler_02.pfc.pl dislikes_03.pfc.pl boxlog_sanity_04.pfc.pl boxlog_sanity_03.pfc.pl boxlog_sanity_02.pfc.pl boxlog_sanity_01.pfc.pl zenls_01z.pfc.pl nat_sane_01a.pfc.pl make_wff_01a.pfc.pl kif_io_test_01a.pl holds_011.pfc exactly_01p.pfc.clif birds_01c.pfc.pl 15:58:14 FileTestCase=logicmoo.base.examples.fol.ZEBRA_03 JUnit 15:58:14 15:58:14 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_03.clif']" 15:58:14 15:58:14 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_03.clif']") 15:58:14 15:58:14 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/zebra_03.clif 15:58:14 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.examples.fol/ZEBRA_03/ 15:58:14 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AZEBRA_03 15:58:14 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/637 15:58:14 15:58:14 15:58:19 %~ init_phase(after_load) 15:58:19 %~ init_phase(restore_state) 15:58:19 % 15:58:19 %~ init_why(after_boot,program) 15:58:19 %~ after_boot. 15:58:19 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:58:19 %~ comment(";") 15:58:19 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:30 15:58:19 %~ comment("; deduct-einstein.scm") 15:58:19 %~ comment(";") 15:58:19 %~ comment("; Full set of Einstein Puzzle facts.") 15:58:19 %~ comment("; There are 15 explicitly stated facts, and four additional implicit") 15:58:19 %~ comment("; facts about ordinal counting (ordering of houses in a row).") 15:58:19 %~ comment(";") 15:58:19 %~ comment("; The facts are stated in a fashion that is as close as possible to") 15:58:19 %~ comment("; the natural-language source. The point being that we want the") 15:58:19 %~ comment("; expression of facts to be closely tied to human patterns of speech.") 15:58:19 %~ comment("; Being \"efficient\" or \"clever\" is NOT the point.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:58:19 15:58:19 15:58:19 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 182 words .. ** 15:58:19 15:58:19 15:58:19 15:58:19 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 29 words .. ** 15:58:19 15:58:19 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:19 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:19 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:58:19 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:58:19 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:58:19 % :- share_mfa_pt2(parser_chat80,control80,1). 15:58:19 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:58:19 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 3.06 sec, 1 clauses 15:58:19 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.13 sec, -16 clauses 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ mean stv conf define mean 'cog-new-stv' conf 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/zebra_03.clif:747 15:58:19 %~ azzert_rename('cog-new-stv',cogNewStv) 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment("; A little handly-dandy utility to avoid over-reporting of \"obvious\"") 15:58:19 %~ comment("; results. We declare that person1 is the same as person1, etc.") 15:58:19 %~ comment("; A kind-of pauli-exclusion-principle at work.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( define( same(person), 15:58:19 %~ 'EvaluationLink'( stv(1,1), 15:58:19 %~ PredicateNode( '$STRING'("IsSamePerson")), 15:58:19 %~ 'ListLink'('FeatureNode'(person),'FeatureNode'(person)))))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( define( same(person), 15:58:19 'EvaluationLink'( stv(1,1), 15:58:19 PredicateNode( '$STRING'("IsSamePerson")), 15:58:19 'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment(" AvatarNode") 15:58:19 %~ comment(" AvatarNode") 15:58:19 %~ comment("; A declaration of fact: it is true that pred has value for person.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( define( fact(person,pred,value), 15:58:19 %~ same(person), 15:58:19 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( define( fact(person,pred,value), 15:58:19 same(person), 15:58:19 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment("; A neighbor-predicate: two people live next to each other.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( define( neighbor(person1,person2), 15:58:19 %~ same(person1), 15:58:19 %~ same(person2), 15:58:19 %~ 'EvaluationLink'( stv(1,1), 15:58:19 %~ PredicateNode( '$STRING'("Neighbor")), 15:58:19 %~ 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( define( neighbor(person1,person2), 15:58:19 same(person1), 15:58:19 same(person2), 15:58:19 'EvaluationLink'( stv(1,1), 15:58:19 PredicateNode( '$STRING'("Neighbor")), 15:58:19 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment("; A left-of predicate: one house is left of another") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( define( 'left-of'(house1,house2), 15:58:19 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ house1 'left-of' house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ azzert_rename('left-of',leftOf) 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that house1 leftOf house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( define( leftOf(house1,house2), 15:58:19 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment("; 1. The Englishman lives in the red house.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(red,'[|]'(house,[])))))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house]))) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ comment("; 2. The Swede keeps dogs.") 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) ). 15:58:19 15:58:19 15:58:19 15:58:19 % In English: 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))) 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 % Results in the following 1 entailment(s): 15:58:19 nesc(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:58:19 15:58:19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:19 %~ 15:58:19 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:19 15:58:19 nesc( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:58:19 15:58:19 ============================================ 15:58:19 %~ debugm( common_logic_loader, 15:58:19 %~ show_success( common_logic_loader, 15:58:19 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")))))) 15:58:19 15:58:19 15:58:19 15:58:19 15:58:19 ======================================================= 15:58:19 fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:19 ============================================ 15:58:19 15:58:19 15:58:19 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 3. The Dane drinks tea.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 4. The green house is just to the left of the white_house one.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( 'left-of'('$STRING'("green house"),'$STRING'("white house")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 'left-of'('$STRING'("green house"),'$STRING'("white house")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( 'left-of'('$STRING'("green house"),'$STRING'("white house")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ "green house" isa '$STRING' 'left-of' "white house" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(leftOf('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that green house isa s isa '$STRING' leftOf white house isa s isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 5. The owner of the green house drinks coffee.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(green,'[|]'(house,[])))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house]))) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 6. The Pall Mall smoker keeps birds.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 7. The owner of the yellow house smokes Dunhills.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(yellow,'[|]'(house,[])))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house]))) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 8. The man in the center house drinks milk.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet]))) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 9. The Norwegian lives in the first house.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet]))) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 10. The Blend smoker has a neighbor who keeps cats.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person10"),'$STRING'("catperson")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 neighbor('$STRING'("person10"),'$STRING'("catperson")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( neighbor('$STRING'("person10"),'$STRING'("catperson")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person10"),'$STRING'("catperson"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 11. The man who smokes Blue Masters drinks bier.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master']))) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 12. The man who keeps horses lives next to the Dunhill smoker.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 13. The German smokes Prince.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ comment("; 14. The Norwegian lives next to the blue house.") 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 % Results in the following 1 entailment(s): 15:58:20 nesc(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:20 15:58:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ it is necessarily true that fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 15:58:20 nesc( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:20 15:58:20 ============================================ 15:58:20 %~ debugm( common_logic_loader, 15:58:20 %~ show_success( common_logic_loader, 15:58:20 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person14"),'$STRING'("blue_person")))))) 15:58:20 15:58:20 15:58:20 15:58:20 15:58:20 ======================================================= 15:58:20 neighbor('$STRING'("person14"),'$STRING'("blue_person")) 15:58:20 ============================================ 15:58:20 15:58:20 15:58:20 ?- kif_to_boxlog( neighbor('$STRING'("person14"),'$STRING'("blue_person")) ). 15:58:20 15:58:20 15:58:20 15:58:20 % In English: 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:20 %~ "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:58:20 %~ 15:58:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person14"),'$STRING'("blue_person"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(blue,'[|]'(house,[])))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house]))) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ comment("; 15. The Blend smoker has a neighbor who drinks water.") 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person15"),'$STRING'("water_person")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 neighbor('$STRING'("person15"),'$STRING'("water_person")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( neighbor('$STRING'("person15"),'$STRING'("water_person")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person15"),'$STRING'("water_person"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ comment("; ---------------------------------------------------------------") 15:58:21 %~ comment("; Assorted supplemental facts. These are somehow implicit in the") 15:58:21 %~ comment("; problem statement. We'd mostly like to derive these, from more") 15:58:21 %~ comment("; basic assumptions, but, for now, we'l just state them.") 15:58:21 %~ comment(";") 15:58:21 %~ comment("; A supplemental fact for fact 4: someone lives in the white house.") 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house]))) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ comment("; Supplemental fact: someone keeps fish.") 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ comment("; State some implicitly assumed facts about neighboring houses") 15:58:21 %~ comment("; This is the 'successor' function for ordinal numbers.") 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( define( successor(house1,house2), 15:58:21 %~ 'EvaluationLink'( stv(1,1), 15:58:21 %~ PredicateNode( '$STRING'("Successor")), 15:58:21 %~ 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( define( successor(house1,house2), 15:58:21 'EvaluationLink'( stv(1,1), 15:58:21 PredicateNode( '$STRING'("Successor")), 15:58:21 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "101 Main Street" isa '$STRING' successor "102 Main Street" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(successor('$STRING'(s(['101',iMain,tSumoStreet])),'$STRING'(s(['102',iMain,tSumoStreet])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that '101' iMain tSumoStreet isa s isa '$STRING' successor '102' iMain tSumoStreet isa s isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( successor( 15:58:21 $STRING( s( ['101',iMain,tSumoStreet])), 15:58:21 $STRING( s( ['102',iMain,tSumoStreet])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "102 Main Street" isa '$STRING' successor "103 Main Street" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(successor('$STRING'(s(['102',iMain,tSumoStreet])),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that '102' iMain tSumoStreet isa s isa '$STRING' successor '103' iMain tSumoStreet isa s isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( successor( 15:58:21 $STRING( s( ['102',iMain,tSumoStreet])), 15:58:21 $STRING( s( ['103',iMain,tSumoStreet])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "103 Main Street" isa '$STRING' successor "104 Main Street" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(successor('$STRING'(s(['103',iMain,tSumoStreet])),'$STRING'(s(['104',iMain,tSumoStreet])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that '103' iMain tSumoStreet isa s isa '$STRING' successor '104' iMain tSumoStreet isa s isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( successor( 15:58:21 $STRING( s( ['103',iMain,tSumoStreet])), 15:58:21 $STRING( s( ['104',iMain,tSumoStreet])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "104 Main Street" isa '$STRING' successor "105 Main Street" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('105','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(successor('$STRING'(s(['104',iMain,tSumoStreet])),'$STRING'(s(['105',iMain,tSumoStreet])))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that '104' iMain tSumoStreet isa s isa '$STRING' successor '105' iMain tSumoStreet isa s isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( successor( 15:58:21 $STRING( s( ['104',iMain,tSumoStreet])), 15:58:21 $STRING( s( ['105',iMain,tSumoStreet])))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ comment("; ---------------------------------------------------------------") 15:58:21 %~ comment("; By-process-of-elimination facts") 15:58:21 %~ comment("; If person doesn't live in one of the four houses, they must live in") 15:58:21 %~ comment("; the fifth. Likewsie, if person doesn't smoke/drink/keep one of the four,") 15:58:21 %~ comment("; they must have the fifth.") 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ x 'is-a' y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ azzert_rename('is-a',isA) 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that x isA y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("red house"),'$STRING'("house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("red house"),'$STRING'("house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("red house"),'$STRING'("house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "red house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(red,'[|]'(house,[])))),'$STRING'("house"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that red house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("white house"),'$STRING'("house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("white house"),'$STRING'("house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("white house"),'$STRING'("house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "white house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(white,'[|]'(house,[])))),'$STRING'("house"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that white house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("green house"),'$STRING'("house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("green house"),'$STRING'("house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("green house"),'$STRING'("house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "green house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'("house"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that green house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success( common_logic_loader, 15:58:21 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("yellow house"),'$STRING'("house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("yellow house"),'$STRING'("house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("yellow house"),'$STRING'("house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "yellow house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(yellow,'[|]'(house,[])))),'$STRING'("house"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that yellow house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("blue house"),'$STRING'("house")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("blue house"),'$STRING'("house")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("blue house"),'$STRING'("house")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ "blue house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(blue,'[|]'(house,[])))),'$STRING'("house"))) 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 % Results in the following 1 entailment(s): 15:58:21 nesc(isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:58:21 15:58:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 %~ it is necessarily true that blue house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:21 %~ 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:21 15:58:21 nesc( isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:58:21 15:58:21 ============================================ 15:58:21 %~ debugm( common_logic_loader, 15:58:21 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("water"),'$STRING'("drink")))))) 15:58:21 15:58:21 15:58:21 15:58:21 15:58:21 ======================================================= 15:58:21 'is-a'('$STRING'("water"),'$STRING'("drink")) 15:58:21 ============================================ 15:58:21 15:58:21 15:58:21 ?- kif_to_boxlog( 'is-a'('$STRING'("water"),'$STRING'("drink")) ). 15:58:21 15:58:21 15:58:21 15:58:21 % In English: 15:58:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "water" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("water"),'$STRING'("drink"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("water"),'$STRING'("drink"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "water" isa '$STRING' isA "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("water"),'$STRING'("drink"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("milk"),'$STRING'("drink")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("milk"),'$STRING'("drink")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("milk"),'$STRING'("drink")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "milk" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("milk"),'$STRING'("drink"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("milk"),'$STRING'("drink"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "milk" isa '$STRING' isA "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("milk"),'$STRING'("drink"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("bier"),'$STRING'("drink")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("bier"),'$STRING'("drink")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("bier"),'$STRING'("drink")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "bier" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("bier"),'$STRING'("drink"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("bier"),'$STRING'("drink"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "bier" isa '$STRING' isA "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("bier"),'$STRING'("drink"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("coffee"),'$STRING'("drink")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("coffee"),'$STRING'("drink")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("coffee"),'$STRING'("drink")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "coffee" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("coffee"),'$STRING'("drink"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("coffee"),'$STRING'("drink"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "coffee" isa '$STRING' isA "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("coffee"),'$STRING'("drink"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("tea"),'$STRING'("drink")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("tea"),'$STRING'("drink")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("tea"),'$STRING'("drink")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "tea" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("tea"),'$STRING'("drink"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("tea"),'$STRING'("drink"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "tea" isa '$STRING' isA "drink" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("tea"),'$STRING'("drink"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Prince"),'$STRING'("tobacco")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Prince" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Prince"),'$STRING'("tobacco"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Prince" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("PallMall"),'$STRING'("tobacco")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "PallMall" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("PallMall"),'$STRING'("tobacco"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "PallMall" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Dunhill" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Dunhill" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Blend"),'$STRING'("tobacco")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Blend" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Blend"),'$STRING'("tobacco"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Blend" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Blue Master" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))),'$STRING'("tobacco"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that tSumoBlue 'Master' isa s isa '$STRING' isA "tobacco" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "fish" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "fish" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "dogs" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "dogs" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "birds" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "birds" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "cats" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "cats" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "horses" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "horses" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Englishman" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Englishman"),'$STRING'("citizenship"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Englishman" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Swede"),'$STRING'("citizenship")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Swede" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Swede"),'$STRING'("citizenship"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Swede" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dane"),'$STRING'("citizenship")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Dane" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dane"),'$STRING'("citizenship"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Dane" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "Norwegian" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "Norwegian" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("German"),'$STRING'("citizenship")))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 'is-a'('$STRING'("German"),'$STRING'("citizenship")) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( 'is-a'('$STRING'("German"),'$STRING'("citizenship")) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ "German" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("German"),'$STRING'("citizenship"))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(isA('$STRING'("German"),'$STRING'("citizenship"))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that "German" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( isA('$STRING'("German"),'$STRING'("citizenship"))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ comment(";") 15:58:22 %~ comment("; deduct-keep.scm") 15:58:22 %~ comment(";") 15:58:22 %~ comment("; Print out who keeps what") 15:58:22 %~ comment(";") 15:58:22 %~ comment("; Part of the \"Einstein puzzle\" demo.") 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( define( 'print-ownership', 15:58:22 %~ 'BindLink'( 15:58:22 %~ 'VariableList'( 15:58:22 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:22 %~ VariableNode( '$STRING'("$nationality")), 15:58:22 %~ VariableNode( '$STRING'("$house")), 15:58:22 %~ VariableNode( '$STRING'("$pet"))), 15:58:22 %~ 'AndLink'( 15:58:22 %~ 'EvaluationLink'( 15:58:22 %~ PredicateNode( '$STRING'("Nationality")), 15:58:22 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:58:22 %~ 'EvaluationLink'( 15:58:22 %~ PredicateNode( '$STRING'("LivesIn")), 15:58:22 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:58:22 %~ 'EvaluationLink'( 15:58:22 %~ PredicateNode( '$STRING'("KeepsPet")), 15:58:22 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:58:22 %~ 'OrderedLink'( 15:58:22 %~ VariableNode( '$STRING'("$person")), 15:58:22 %~ VariableNode( '$STRING'("$nationality")), 15:58:22 %~ VariableNode( '$STRING'("$house")), 15:58:22 %~ VariableNode( '$STRING'("$pet"))))))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) 15:58:22 ============================================ 15:58:22 15:58:22 15:58:22 ?- kif_to_boxlog( define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) ). 15:58:22 15:58:22 15:58:22 15:58:22 % In English: 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ 'print-ownership' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ azzert_rename('print-ownership',printOwnership) 15:58:22 %~ azzert_rename('VariableList',ftVariableList) 15:58:22 %~ kif_to_boxlog_attvars2 = necessary(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))) 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 % Results in the following 1 entailment(s): 15:58:22 nesc(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))). 15:58:22 15:58:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 %~ it is necessarily true that printOwnership define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:58:22 %~ 15:58:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:22 15:58:22 nesc( define( printOwnership, 15:58:22 'BindLink'( 15:58:22 ftVariableList( 15:58:22 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:22 VariableNode( '$STRING'("$nationality")), 15:58:22 VariableNode( '$STRING'("$house")), 15:58:22 VariableNode( '$STRING'("$pet"))), 15:58:22 'AndLink'( 15:58:22 'EvaluationLink'( 15:58:22 PredicateNode( '$STRING'("Nationality")), 15:58:22 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:58:22 'EvaluationLink'( 15:58:22 PredicateNode( '$STRING'("LivesIn")), 15:58:22 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:58:22 'EvaluationLink'( 15:58:22 PredicateNode( '$STRING'("KeepsPet")), 15:58:22 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:58:22 'OrderedLink'( 15:58:22 VariableNode( '$STRING'("$person")), 15:58:22 VariableNode( '$STRING'("$nationality")), 15:58:22 VariableNode( '$STRING'("$house")), 15:58:22 VariableNode( '$STRING'("$pet")))))). 15:58:22 15:58:22 ============================================ 15:58:22 %~ comment("; variable declarations") 15:58:22 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:22 %~ debugm( common_logic_loader, 15:58:22 %~ show_success( common_logic_loader, 15:58:22 %~ common_logic_loader : ain( clif( define( 'print-results', 15:58:22 %~ 'BindLink'( 15:58:22 %~ 'VariableList'( 15:58:22 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:22 %~ VariableNode( '$STRING'("$pred")), 15:58:22 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:58:22 %~ AndLink( 'EvaluationLink'( 15:58:22 %~ VariableNode( '$STRING'("$pred")), 15:58:22 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:58:22 %~ 'OrderedLink'( 15:58:22 %~ VariableNode( '$STRING'("$person")), 15:58:22 %~ VariableNode( '$STRING'("$pred")), 15:58:22 %~ VariableNode( '$STRING'("$attr"))))))))) 15:58:22 15:58:22 15:58:22 15:58:22 15:58:22 ======================================================= 15:58:22 define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'print-results' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('print-results',printResults) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that printResults define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define( printResults, 15:58:23 'BindLink'( 15:58:23 ftVariableList( 15:58:23 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:23 VariableNode( '$STRING'("$pred")), 15:58:23 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:58:23 AndLink( 'EvaluationLink'( 15:58:23 VariableNode( '$STRING'("$pred")), 15:58:23 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:58:23 'OrderedLink'( 15:58:23 VariableNode( '$STRING'("$person")), 15:58:23 VariableNode( '$STRING'("$pred")), 15:58:23 VariableNode( '$STRING'("$attr")))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; variable declarations") 15:58:23 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:23 %~ comment(";") 15:58:23 %~ comment("; deduct-rules.scm") 15:58:23 %~ comment(";") 15:58:23 %~ comment("; Deduction rules for Einstein puzzle.") 15:58:23 %~ comment(";") 15:58:23 %~ comment("; The rules here are written in a fashion as close as possible to") 15:58:23 %~ comment("; 'ordinary' common-sense deductive rules. In particular, they are") 15:58:23 %~ comment("; not written to predispose the problem into a 5x5 solution grid") 15:58:23 %~ comment("; (although this is what they eventually must lead to). In other") 15:58:23 %~ comment("; words, there is no effort made to make this the most \"efficient\"") 15:58:23 %~ comment("; possible set of rules; instead, they're the most \"natural\" or") 15:58:23 %~ comment("; \"common-sense-like\" for this task.") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('use-modules'(srfi('srfi-1')))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 'use-modules'(srfi('srfi-1')) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( 'use-modules'(srfi('srfi-1')) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'srfi-1' isa srfi isa 'use-modules' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('use-modules',useModules) 15:58:23 %~ azzert_rename('srfi-1',srfi_1) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(useModules(srfi(srfi_1))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(useModules(srfi(srfi_1))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that srfi_1 isa srfi isa useModules 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( useModules( srfi(srfi_1))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; Define simple truth value") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ mean stv conf define mean 'cog-new-stv' conf 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; Shorthand for the node types") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('VN','VariableNode'))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('VN','VariableNode') 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('VN','VariableNode') ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'VN' define 'VariableNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define('VN','VariableNode')) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define('VN','VariableNode')). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that 'VN' define 'VariableNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define('VN','VariableNode')). 15:58:23 15:58:23 ============================================ 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('PN','PredicateNode'))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('PN','PredicateNode') 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('PN','PredicateNode') ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'PN' define 'PredicateNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define('PN','PredicateNode')) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define('PN','PredicateNode')). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that 'PN' define 'PredicateNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define('PN','PredicateNode')). 15:58:23 15:58:23 ============================================ 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('CN','ConceptNode'))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('CN','ConceptNode') 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('CN','ConceptNode') ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'CN' define 'ConceptNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define('CN','ConceptNode')) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define('CN','ConceptNode')). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that 'CN' define 'ConceptNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define('CN','ConceptNode')). 15:58:23 15:58:23 ============================================ 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('AN','FeatureNode'))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('AN','FeatureNode') 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('AN','FeatureNode') ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'AN' define 'FeatureNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define('AN','FeatureNode')) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define('AN','FeatureNode')). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that 'AN' define 'FeatureNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define('AN','FeatureNode')). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment(" AvatarNode") 15:58:23 %~ comment("; Predicate clause specifies a predicate that associates attribute to person") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; Predicate clause negating the third attribute.") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'not-clause'(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('not-clause',notClause) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that notClause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; Predicate clause, asserting that v2 and v3 are different atoms.") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define( differ(t2,v2,t3,v3), 15:58:23 %~ 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define( differ(t2,v2,t3,v3), 15:58:23 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; Declare a variable var to be of type type") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ type 'decl-var' var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('decl-var',declVar) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that type declVar var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; ---------------------------------------------------------------------") 15:58:23 %~ comment("; \"Is the same person\" deduction rule.") 15:58:23 %~ comment("; If person A and person B both share the same predicate and property,") 15:58:23 %~ comment("; then they must be the same person.") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define( 'is-same-rule', 15:58:23 %~ 'BindLink'( 15:58:23 %~ 'VariableList'( 15:58:23 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:23 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:23 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:23 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:23 %~ 'AndLink'( 15:58:23 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:23 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:58:23 %~ AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:58:23 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'is-same-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('is-same-rule',isSameRule) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that isSameRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define( isSameRule, 15:58:23 'BindLink'( 15:58:23 ftVariableList( 15:58:23 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:23 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:23 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:23 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:23 'AndLink'( 15:58:23 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:23 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:58:23 AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:58:23 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; variable declarations") 15:58:23 %~ comment("; body -- if all parts of AndLink hold true ... ") 15:58:23 %~ comment("; Avoid reporting things we already know.") 15:58:23 %~ comment("; Basically, if we already know that person A and B") 15:58:23 %~ comment("; are the same person, then lets not deduce it again.") 15:58:23 %~ comment("; This not link is identical to the conclusion below") 15:58:23 %~ comment("; implicand -- then the following is true too") 15:58:23 %~ comment("; ---------------------------------------------------------------------") 15:58:23 %~ comment("; Transitive deduction rule.") 15:58:23 %~ comment(";") 15:58:23 %~ comment("; If attribute X holds for person A, and person A is same as person B") 15:58:23 %~ comment("; then attribute X also holds for person B.") 15:58:23 %~ debugm( common_logic_loader, 15:58:23 %~ show_success( common_logic_loader, 15:58:23 %~ common_logic_loader : ain( clif( define( 'transitive-rule', 15:58:23 %~ 'BindLink'( 15:58:23 %~ 'VariableList'( 15:58:23 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:23 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:23 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:23 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:23 %~ 'AndLink'( 15:58:23 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:23 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:23 %~ AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:23 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:58:23 15:58:23 15:58:23 15:58:23 15:58:23 ======================================================= 15:58:23 define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:58:23 ============================================ 15:58:23 15:58:23 15:58:23 ?- kif_to_boxlog( define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:58:23 15:58:23 15:58:23 15:58:23 % In English: 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ 'transitive-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ azzert_rename('transitive-rule',transitiveRule) 15:58:23 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 % Results in the following 1 entailment(s): 15:58:23 nesc(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:23 15:58:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 %~ it is necessarily true that transitiveRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:23 %~ 15:58:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:23 15:58:23 nesc( define( transitiveRule, 15:58:23 'BindLink'( 15:58:23 ftVariableList( 15:58:23 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:23 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:23 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:23 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:23 'AndLink'( 15:58:23 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:23 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:23 AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:23 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:23 15:58:23 ============================================ 15:58:23 %~ comment("; variable declarations") 15:58:23 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:23 %~ comment("; Don't deduce thigs we already know...") 15:58:23 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:23 %~ comment("; implicand -- then the following is true too") 15:58:23 %~ comment("; ---------------------------------------------------------------------") 15:58:23 %~ comment("; Transitive-not deduction rule.") 15:58:23 %~ comment(";") 15:58:23 %~ comment("; If attribute X doesn't hold for person A, and person A is same as person B") 15:58:24 %~ comment("; then attribute X also doesn't hold for person B.") 15:58:24 %~ comment(";") 15:58:24 %~ comment("; Very similar to above") 15:58:24 %~ debugm( common_logic_loader, 15:58:24 %~ show_success( common_logic_loader, 15:58:24 %~ common_logic_loader : ain( clif( define( 'transitive-not-rule', 15:58:24 %~ 'BindLink'( 15:58:24 %~ 'VariableList'( 15:58:24 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:24 %~ 'AndLink'( 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:24 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:24 %~ AbsentLink( 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:58:24 15:58:24 15:58:24 15:58:24 15:58:24 ======================================================= 15:58:24 define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:58:24 ============================================ 15:58:24 15:58:24 15:58:24 ?- kif_to_boxlog( define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:58:24 15:58:24 15:58:24 15:58:24 % In English: 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ 'transitive-not-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:24 %~ 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ azzert_rename('transitive-not-rule',transitiveNotRule) 15:58:24 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:58:24 15:58:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 % Results in the following 1 entailment(s): 15:58:24 nesc(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:24 15:58:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ it is necessarily true that transitiveNotRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:24 %~ 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 15:58:24 nesc( define( transitiveNotRule, 15:58:24 'BindLink'( 15:58:24 ftVariableList( 15:58:24 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:24 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:24 'AndLink'( 15:58:24 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:24 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:24 AbsentLink( notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:24 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:24 15:58:24 ============================================ 15:58:24 %~ comment("; variable declarations") 15:58:24 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:24 %~ comment("; Don't deduce thigs we already know...") 15:58:24 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:24 %~ comment("; implicand -- then the following is true too") 15:58:24 %~ comment("; ---------------------------------------------------------------------") 15:58:24 %~ comment("; elimination") 15:58:24 %~ debugm( common_logic_loader, 15:58:24 %~ show_success( common_logic_loader, 15:58:24 %~ common_logic_loader : ain( clif( define( 'by-elimination-rule', 15:58:24 %~ 'BindLink'( 15:58:24 %~ 'VariableList'( 15:58:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")), 15:58:24 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")), 15:58:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))), 15:58:24 %~ 'AndLink'( 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")), 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")), 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")), 15:58:24 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")), 15:58:24 %~ 'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))), 15:58:24 %~ 'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))), 15:58:24 %~ 'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))), 15:58:24 %~ 'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))), 15:58:24 %~ 'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))), 15:58:24 %~ 'EvaluationLink'( 15:58:24 %~ GroundedPredicateNode( '$STRING'("c++:exclusive")), 15:58:24 %~ 'ListLink'( 15:58:24 %~ VN( '$STRING'("$attr_a")), 15:58:24 %~ VN( '$STRING'("$attr_b")), 15:58:24 %~ VN( '$STRING'("$attr_c")), 15:58:24 %~ VN( '$STRING'("$attr_d")), 15:58:24 %~ VN( '$STRING'("$attr_e"))))), 15:58:24 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))))))) 15:58:24 15:58:24 15:58:24 15:58:24 15:58:24 ======================================================= 15:58:24 define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) 15:58:24 ============================================ 15:58:24 15:58:24 15:58:24 ?- kif_to_boxlog( define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) ). 15:58:24 15:58:24 15:58:24 15:58:24 % In English: 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ 'by-elimination-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:58:24 %~ 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ azzert_rename('by-elimination-rule',byEliminationRule) 15:58:24 %~ kif_to_boxlog_attvars2 = necessary(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))) 15:58:24 15:58:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 % Results in the following 1 entailment(s): 15:58:24 nesc(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))). 15:58:24 15:58:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 %~ it is necessarily true that byEliminationRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:58:24 %~ 15:58:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:24 15:58:24 nesc( totalTime=10.000 15:58:24 15:58:24 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k zebra_03.clif (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:58:24 15:58:27 ISSUE_INFO=637 OPEN logicmoo.base.examples.fol.ZEBRA_03 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_03, Failing, Errors, Overtime 2021-09-26 22:50:19 +0000 UTC 15:58:27 ISSUE_ID=637 15:58:27 ISSUE_OC=OPEN 15:58:27 Editing Issue For FAILED 637 OPEN logicmoo.base.examples.fol.ZEBRA_03 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_03, Failing, Errors, Overtime 2021-09-26 22:50:19 +0000 UTC 15:58:35 https://github.com/logicmoo/logicmoo_workspace/issues/637 15:58:35 FileTestCase=logicmoo.base.examples.fol.ZEBRA_04 JUnit 15:58:35 15:58:35 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_04.clif']" 15:58:35 15:58:35 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_04.clif']") 15:58:35 15:58:35 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/zebra_04.clif 15:58:35 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.examples.fol/ZEBRA_04/ 15:58:35 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AZEBRA_04 15:58:35 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/638 15:58:35 15:58:35 15:58:39 %~ init_phase(after_load) 15:58:39 %~ init_phase(restore_state) 15:58:39 % 15:58:39 %~ init_why(after_boot,program) 15:58:39 %~ after_boot. 15:58:39 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:58:39 %~ comment(";") 15:58:39 %~ comment("; deduct-einstein.scm") 15:58:39 %~ comment(";") 15:58:39 %~ comment("; Full set of Einstein Puzzle facts.") 15:58:39 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:30 15:58:39 %~ comment("; There are 15 explicitly stated facts, and four additional implicit") 15:58:39 %~ comment("; facts about ordinal counting (ordering of houses in a row).") 15:58:39 %~ comment(";") 15:58:39 %~ comment("; The facts are stated in a fashion that is as close as possible to") 15:58:39 %~ comment("; the natural-language source. The point being that we want the") 15:58:39 %~ comment("; expression of facts to be closely tied to human patterns of speech.") 15:58:39 %~ comment("; Being \"efficient\" or \"clever\" is NOT the point.") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:58:39 15:58:39 15:58:39 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 182 words .. ** 15:58:39 15:58:39 15:58:39 15:58:39 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 25 words .. ** 15:58:39 15:58:39 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:39 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:58:39 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:58:39 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:58:39 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:58:39 % :- share_mfa_pt2(parser_chat80,control80,1). 15:58:39 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:58:39 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.65 sec, 1 clauses 15:58:39 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ mean stv conf define mean 'cog-new-stv' conf 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ azzert_rename('cog-new-stv',cogNewStv) 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment("; A little handly-dandy utility to avoid over-reporting of \"obvious\"") 15:58:39 %~ comment("; results. We declare that person1 is the same as person1, etc.") 15:58:39 %~ comment("; A kind-of pauli-exclusion-principle at work.") 15:58:39 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/zebra_04.clif:747 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( define( same(person), 15:58:39 %~ 'EvaluationLink'( stv(1,1), 15:58:39 %~ PredicateNode( '$STRING'("IsSamePerson")), 15:58:39 %~ 'ListLink'('FeatureNode'(person),'FeatureNode'(person)))))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( define( same(person), 15:58:39 'EvaluationLink'( stv(1,1), 15:58:39 PredicateNode( '$STRING'("IsSamePerson")), 15:58:39 'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment(" AvatarNode") 15:58:39 %~ comment(" AvatarNode") 15:58:39 %~ comment("; A declaration of fact: it is true that pred has value for person.") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( define( fact(person,pred,value), 15:58:39 %~ same(person), 15:58:39 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( define( fact(person,pred,value), 15:58:39 same(person), 15:58:39 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment("; A neighbor-predicate: two people live next to each other.") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( define( neighbor(person1,person2), 15:58:39 %~ same(person1), 15:58:39 %~ same(person2), 15:58:39 %~ 'EvaluationLink'( stv(1,1), 15:58:39 %~ PredicateNode( '$STRING'("Neighbor")), 15:58:39 %~ 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( define( neighbor(person1,person2), 15:58:39 same(person1), 15:58:39 same(person2), 15:58:39 'EvaluationLink'( stv(1,1), 15:58:39 PredicateNode( '$STRING'("Neighbor")), 15:58:39 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment("; A left-of predicate: one house is left of another") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( define( 'left-of'(house1,house2), 15:58:39 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ house1 'left-of' house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ azzert_rename('left-of',leftOf) 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that house1 leftOf house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( define( leftOf(house1,house2), 15:58:39 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment("; 1. The Englishman lives in the red house.") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(red,'[|]'(house,[])))))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house]))) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ comment("; 2. The Swede keeps dogs.") 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) ). 15:58:39 15:58:39 15:58:39 15:58:39 % In English: 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))) 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 % Results in the following 1 entailment(s): 15:58:39 nesc(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:58:39 15:58:39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:58:39 %~ 15:58:39 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:39 15:58:39 nesc( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:58:39 15:58:39 ============================================ 15:58:39 %~ debugm( common_logic_loader, 15:58:39 %~ show_success( common_logic_loader, 15:58:39 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")))))) 15:58:39 15:58:39 15:58:39 15:58:39 15:58:39 ======================================================= 15:58:39 fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:39 ============================================ 15:58:39 15:58:39 15:58:39 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 3. The Dane drinks tea.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 4. The green house is just to the left of the white_house one.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( 'left-of'('$STRING'("green house"),'$STRING'("white house")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 'left-of'('$STRING'("green house"),'$STRING'("white house")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( 'left-of'('$STRING'("green house"),'$STRING'("white house")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ "green house" isa '$STRING' 'left-of' "white house" isa '$STRING' 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(leftOf('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that green house isa s isa '$STRING' leftOf white house isa s isa '$STRING' 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 5. The owner of the green house drinks coffee.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(green,'[|]'(house,[])))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house]))) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 6. The Pall Mall smoker keeps birds.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 7. The owner of the yellow house smokes Dunhills.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(yellow,'[|]'(house,[])))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house]))) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 8. The man in the center house drinks milk.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet]))) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 9. The Norwegian lives in the first house.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet]))) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 10. The Blend smoker has a neighbor who keeps cats.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person10"),'$STRING'("catperson")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 neighbor('$STRING'("person10"),'$STRING'("catperson")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( neighbor('$STRING'("person10"),'$STRING'("catperson")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person10"),'$STRING'("catperson"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 11. The man who smokes Blue Masters drinks bier.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master']))) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")))))) 15:58:40 15:58:40 15:58:40 15:58:40 15:58:40 ======================================================= 15:58:40 fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:40 ============================================ 15:58:40 15:58:40 15:58:40 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) ). 15:58:40 15:58:40 15:58:40 15:58:40 % In English: 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))) 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 % Results in the following 1 entailment(s): 15:58:40 nesc(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:58:40 15:58:40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:58:40 %~ 15:58:40 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:40 15:58:40 nesc( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:58:40 15:58:40 ============================================ 15:58:40 %~ comment("; 12. The man who keeps horses lives next to the Dunhill smoker.") 15:58:40 %~ debugm( common_logic_loader, 15:58:40 %~ show_success( common_logic_loader, 15:58:40 %~ common_logic_loader : ain( clif( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; 13. The German smokes Prince.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; 14. The Norwegian lives next to the blue house.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person14"),'$STRING'("blue_person")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 neighbor('$STRING'("person14"),'$STRING'("blue_person")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( neighbor('$STRING'("person14"),'$STRING'("blue_person")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person14"),'$STRING'("blue_person"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(blue,'[|]'(house,[])))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house]))) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; 15. The Blend smoker has a neighbor who drinks water.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person15"),'$STRING'("water_person")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 neighbor('$STRING'("person15"),'$STRING'("water_person")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( neighbor('$STRING'("person15"),'$STRING'("water_person")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person15"),'$STRING'("water_person"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; ---------------------------------------------------------------") 15:58:41 %~ comment("; Assorted supplemental facts. These are somehow implicit in the") 15:58:41 %~ comment("; problem statement. We'd mostly like to derive these, from more") 15:58:41 %~ comment("; basic assumptions, but, for now, we'l just state them.") 15:58:41 %~ comment(";") 15:58:41 %~ comment("; A supplemental fact for fact 4: someone lives in the white house.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house]))) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; Supplemental fact: someone keeps fish.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; State some implicitly assumed facts about neighboring houses") 15:58:41 %~ comment("; This is the 'successor' function for ordinal numbers.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( define( successor(house1,house2), 15:58:41 %~ 'EvaluationLink'( stv(1,1), 15:58:41 %~ PredicateNode( '$STRING'("Successor")), 15:58:41 %~ 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( define( successor(house1,house2), 15:58:41 'EvaluationLink'( stv(1,1), 15:58:41 PredicateNode( '$STRING'("Successor")), 15:58:41 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "101 Main Street" isa '$STRING' successor "102 Main Street" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(successor('$STRING'(s(['101',iMain,tSumoStreet])),'$STRING'(s(['102',iMain,tSumoStreet])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that '101' iMain tSumoStreet isa s isa '$STRING' successor '102' iMain tSumoStreet isa s isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( successor( 15:58:41 $STRING( s( ['101',iMain,tSumoStreet])), 15:58:41 $STRING( s( ['102',iMain,tSumoStreet])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "102 Main Street" isa '$STRING' successor "103 Main Street" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(successor('$STRING'(s(['102',iMain,tSumoStreet])),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that '102' iMain tSumoStreet isa s isa '$STRING' successor '103' iMain tSumoStreet isa s isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( successor( 15:58:41 $STRING( s( ['102',iMain,tSumoStreet])), 15:58:41 $STRING( s( ['103',iMain,tSumoStreet])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "103 Main Street" isa '$STRING' successor "104 Main Street" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(successor('$STRING'(s(['103',iMain,tSumoStreet])),'$STRING'(s(['104',iMain,tSumoStreet])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that '103' iMain tSumoStreet isa s isa '$STRING' successor '104' iMain tSumoStreet isa s isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( successor( 15:58:41 $STRING( s( ['103',iMain,tSumoStreet])), 15:58:41 $STRING( s( ['104',iMain,tSumoStreet])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "104 Main Street" isa '$STRING' successor "105 Main Street" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('105','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(successor('$STRING'(s(['104',iMain,tSumoStreet])),'$STRING'(s(['105',iMain,tSumoStreet])))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that '104' iMain tSumoStreet isa s isa '$STRING' successor '105' iMain tSumoStreet isa s isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( successor( 15:58:41 $STRING( s( ['104',iMain,tSumoStreet])), 15:58:41 $STRING( s( ['105',iMain,tSumoStreet])))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ comment("; ---------------------------------------------------------------") 15:58:41 %~ comment("; By-process-of-elimination facts") 15:58:41 %~ comment("; If person doesn't live in one of the four houses, they must live in") 15:58:41 %~ comment("; the fifth. Likewsie, if person doesn't smoke/drink/keep one of the four,") 15:58:41 %~ comment("; they must have the fifth.") 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ x 'is-a' y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ azzert_rename('is-a',isA) 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that x isA y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("red house"),'$STRING'("house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("red house"),'$STRING'("house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("red house"),'$STRING'("house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "red house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(red,'[|]'(house,[])))),'$STRING'("house"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that red house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("white house"),'$STRING'("house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("white house"),'$STRING'("house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("white house"),'$STRING'("house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "white house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(white,'[|]'(house,[])))),'$STRING'("house"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that white house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("green house"),'$STRING'("house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("green house"),'$STRING'("house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("green house"),'$STRING'("house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "green house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'("house"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that green house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success( common_logic_loader, 15:58:41 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("yellow house"),'$STRING'("house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("yellow house"),'$STRING'("house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("yellow house"),'$STRING'("house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "yellow house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(yellow,'[|]'(house,[])))),'$STRING'("house"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that yellow house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("blue house"),'$STRING'("house")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("blue house"),'$STRING'("house")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("blue house"),'$STRING'("house")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ "blue house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(blue,'[|]'(house,[])))),'$STRING'("house"))) 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 % Results in the following 1 entailment(s): 15:58:41 nesc(isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:58:41 15:58:41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 %~ it is necessarily true that blue house isa s isa '$STRING' isA "house" isa '$STRING' 15:58:41 %~ 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:41 15:58:41 nesc( isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:58:41 15:58:41 ============================================ 15:58:41 %~ debugm( common_logic_loader, 15:58:41 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("water"),'$STRING'("drink")))))) 15:58:41 15:58:41 15:58:41 15:58:41 15:58:41 ======================================================= 15:58:41 'is-a'('$STRING'("water"),'$STRING'("drink")) 15:58:41 ============================================ 15:58:41 15:58:41 15:58:41 ?- kif_to_boxlog( 'is-a'('$STRING'("water"),'$STRING'("drink")) ). 15:58:41 15:58:41 15:58:41 15:58:41 % In English: 15:58:41 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "water" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("water"),'$STRING'("drink"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("water"),'$STRING'("drink"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "water" isa '$STRING' isA "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("water"),'$STRING'("drink"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("milk"),'$STRING'("drink")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("milk"),'$STRING'("drink")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("milk"),'$STRING'("drink")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "milk" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("milk"),'$STRING'("drink"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("milk"),'$STRING'("drink"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "milk" isa '$STRING' isA "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("milk"),'$STRING'("drink"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("bier"),'$STRING'("drink")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("bier"),'$STRING'("drink")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("bier"),'$STRING'("drink")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "bier" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("bier"),'$STRING'("drink"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("bier"),'$STRING'("drink"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "bier" isa '$STRING' isA "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("bier"),'$STRING'("drink"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("coffee"),'$STRING'("drink")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("coffee"),'$STRING'("drink")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("coffee"),'$STRING'("drink")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "coffee" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("coffee"),'$STRING'("drink"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("coffee"),'$STRING'("drink"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "coffee" isa '$STRING' isA "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("coffee"),'$STRING'("drink"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("tea"),'$STRING'("drink")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("tea"),'$STRING'("drink")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("tea"),'$STRING'("drink")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "tea" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("tea"),'$STRING'("drink"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("tea"),'$STRING'("drink"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "tea" isa '$STRING' isA "drink" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("tea"),'$STRING'("drink"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Prince"),'$STRING'("tobacco")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Prince" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Prince"),'$STRING'("tobacco"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Prince" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("PallMall"),'$STRING'("tobacco")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "PallMall" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("PallMall"),'$STRING'("tobacco"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "PallMall" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Dunhill" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Dunhill" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Blend"),'$STRING'("tobacco")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Blend" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Blend"),'$STRING'("tobacco"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Blend" isa '$STRING' isA "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Blue Master" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))),'$STRING'("tobacco"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that tSumoBlue 'Master' isa s isa '$STRING' isA "tobacco" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "fish" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "fish" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "dogs" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "dogs" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "birds" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "birds" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "cats" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "cats" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "horses" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "horses" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Englishman" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Englishman"),'$STRING'("citizenship"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Englishman" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Swede"),'$STRING'("citizenship")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Swede" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Swede"),'$STRING'("citizenship"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Swede" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dane"),'$STRING'("citizenship")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Dane" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dane"),'$STRING'("citizenship"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Dane" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "Norwegian" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "Norwegian" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("German"),'$STRING'("citizenship")))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 'is-a'('$STRING'("German"),'$STRING'("citizenship")) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( 'is-a'('$STRING'("German"),'$STRING'("citizenship")) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ "German" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("German"),'$STRING'("citizenship"))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(isA('$STRING'("German"),'$STRING'("citizenship"))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that "German" isa '$STRING' isA "citizenship" isa '$STRING' 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( isA('$STRING'("German"),'$STRING'("citizenship"))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ comment(";") 15:58:42 %~ comment("; deduct-keep.scm") 15:58:42 %~ comment(";") 15:58:42 %~ comment("; Print out who keeps what") 15:58:42 %~ comment(";") 15:58:42 %~ comment("; Part of the \"Einstein puzzle\" demo.") 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( define( 'print-ownership', 15:58:42 %~ 'BindLink'( 15:58:42 %~ 'VariableList'( 15:58:42 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:42 %~ VariableNode( '$STRING'("$nationality")), 15:58:42 %~ VariableNode( '$STRING'("$house")), 15:58:42 %~ VariableNode( '$STRING'("$pet"))), 15:58:42 %~ 'AndLink'( 15:58:42 %~ 'EvaluationLink'( 15:58:42 %~ PredicateNode( '$STRING'("Nationality")), 15:58:42 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:58:42 %~ 'EvaluationLink'( 15:58:42 %~ PredicateNode( '$STRING'("LivesIn")), 15:58:42 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:58:42 %~ 'EvaluationLink'( 15:58:42 %~ PredicateNode( '$STRING'("KeepsPet")), 15:58:42 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:58:42 %~ 'OrderedLink'( 15:58:42 %~ VariableNode( '$STRING'("$person")), 15:58:42 %~ VariableNode( '$STRING'("$nationality")), 15:58:42 %~ VariableNode( '$STRING'("$house")), 15:58:42 %~ VariableNode( '$STRING'("$pet"))))))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) 15:58:42 ============================================ 15:58:42 15:58:42 15:58:42 ?- kif_to_boxlog( define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) ). 15:58:42 15:58:42 15:58:42 15:58:42 % In English: 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ 'print-ownership' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ azzert_rename('print-ownership',printOwnership) 15:58:42 %~ azzert_rename('VariableList',ftVariableList) 15:58:42 %~ kif_to_boxlog_attvars2 = necessary(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))) 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 % Results in the following 1 entailment(s): 15:58:42 nesc(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))). 15:58:42 15:58:42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 %~ it is necessarily true that printOwnership define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:58:42 %~ 15:58:42 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:42 15:58:42 nesc( define( printOwnership, 15:58:42 'BindLink'( 15:58:42 ftVariableList( 15:58:42 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:42 VariableNode( '$STRING'("$nationality")), 15:58:42 VariableNode( '$STRING'("$house")), 15:58:42 VariableNode( '$STRING'("$pet"))), 15:58:42 'AndLink'( 15:58:42 'EvaluationLink'( 15:58:42 PredicateNode( '$STRING'("Nationality")), 15:58:42 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:58:42 'EvaluationLink'( 15:58:42 PredicateNode( '$STRING'("LivesIn")), 15:58:42 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:58:42 'EvaluationLink'( 15:58:42 PredicateNode( '$STRING'("KeepsPet")), 15:58:42 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:58:42 'OrderedLink'( 15:58:42 VariableNode( '$STRING'("$person")), 15:58:42 VariableNode( '$STRING'("$nationality")), 15:58:42 VariableNode( '$STRING'("$house")), 15:58:42 VariableNode( '$STRING'("$pet")))))). 15:58:42 15:58:42 ============================================ 15:58:42 %~ comment("; variable declarations") 15:58:42 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:42 %~ debugm( common_logic_loader, 15:58:42 %~ show_success( common_logic_loader, 15:58:42 %~ common_logic_loader : ain( clif( define( 'print-results', 15:58:42 %~ 'BindLink'( 15:58:42 %~ 'VariableList'( 15:58:42 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:42 %~ VariableNode( '$STRING'("$pred")), 15:58:42 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:58:42 %~ AndLink( 'EvaluationLink'( 15:58:42 %~ VariableNode( '$STRING'("$pred")), 15:58:42 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:58:42 %~ 'OrderedLink'( 15:58:42 %~ VariableNode( '$STRING'("$person")), 15:58:42 %~ VariableNode( '$STRING'("$pred")), 15:58:42 %~ VariableNode( '$STRING'("$attr"))))))))) 15:58:42 15:58:42 15:58:42 15:58:42 15:58:42 ======================================================= 15:58:42 define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'print-results' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('print-results',printResults) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that printResults define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define( printResults, 15:58:43 'BindLink'( 15:58:43 ftVariableList( 15:58:43 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:58:43 VariableNode( '$STRING'("$pred")), 15:58:43 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:58:43 AndLink( 'EvaluationLink'( 15:58:43 VariableNode( '$STRING'("$pred")), 15:58:43 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:58:43 'OrderedLink'( 15:58:43 VariableNode( '$STRING'("$person")), 15:58:43 VariableNode( '$STRING'("$pred")), 15:58:43 VariableNode( '$STRING'("$attr")))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; variable declarations") 15:58:43 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:43 %~ comment(";") 15:58:43 %~ comment("; deduct-rules.scm") 15:58:43 %~ comment(";") 15:58:43 %~ comment("; Deduction rules for Einstein puzzle.") 15:58:43 %~ comment(";") 15:58:43 %~ comment("; The rules here are written in a fashion as close as possible to") 15:58:43 %~ comment("; 'ordinary' common-sense deductive rules. In particular, they are") 15:58:43 %~ comment("; not written to predispose the problem into a 5x5 solution grid") 15:58:43 %~ comment("; (although this is what they eventually must lead to). In other") 15:58:43 %~ comment("; words, there is no effort made to make this the most \"efficient\"") 15:58:43 %~ comment("; possible set of rules; instead, they're the most \"natural\" or") 15:58:43 %~ comment("; \"common-sense-like\" for this task.") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('use-modules'(srfi('srfi-1')))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 'use-modules'(srfi('srfi-1')) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( 'use-modules'(srfi('srfi-1')) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'srfi-1' isa srfi isa 'use-modules' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('use-modules',useModules) 15:58:43 %~ azzert_rename('srfi-1',srfi_1) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(useModules(srfi(srfi_1))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(useModules(srfi(srfi_1))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that srfi_1 isa srfi isa useModules 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( useModules( srfi(srfi_1))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; Define simple truth value") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ mean stv conf define mean 'cog-new-stv' conf 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; Shorthand for the node types") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('VN','VariableNode'))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('VN','VariableNode') 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('VN','VariableNode') ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'VN' define 'VariableNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define('VN','VariableNode')) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define('VN','VariableNode')). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that 'VN' define 'VariableNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define('VN','VariableNode')). 15:58:43 15:58:43 ============================================ 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('PN','PredicateNode'))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('PN','PredicateNode') 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('PN','PredicateNode') ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'PN' define 'PredicateNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define('PN','PredicateNode')) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define('PN','PredicateNode')). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that 'PN' define 'PredicateNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define('PN','PredicateNode')). 15:58:43 15:58:43 ============================================ 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('CN','ConceptNode'))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('CN','ConceptNode') 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('CN','ConceptNode') ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'CN' define 'ConceptNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define('CN','ConceptNode')) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define('CN','ConceptNode')). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that 'CN' define 'ConceptNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define('CN','ConceptNode')). 15:58:43 15:58:43 ============================================ 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('AN','FeatureNode'))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('AN','FeatureNode') 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('AN','FeatureNode') ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'AN' define 'FeatureNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define('AN','FeatureNode')) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define('AN','FeatureNode')). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that 'AN' define 'FeatureNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define('AN','FeatureNode')). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment(" AvatarNode") 15:58:43 %~ comment("; Predicate clause specifies a predicate that associates attribute to person") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; Predicate clause negating the third attribute.") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'not-clause'(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('not-clause',notClause) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that notClause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; Predicate clause, asserting that v2 and v3 are different atoms.") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define( differ(t2,v2,t3,v3), 15:58:43 %~ 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define( differ(t2,v2,t3,v3), 15:58:43 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; Declare a variable var to be of type type") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ type 'decl-var' var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('decl-var',declVar) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that type declVar var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; ---------------------------------------------------------------------") 15:58:43 %~ comment("; \"Is the same person\" deduction rule.") 15:58:43 %~ comment("; If person A and person B both share the same predicate and property,") 15:58:43 %~ comment("; then they must be the same person.") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define( 'is-same-rule', 15:58:43 %~ 'BindLink'( 15:58:43 %~ 'VariableList'( 15:58:43 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:43 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:43 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:43 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:43 %~ 'AndLink'( 15:58:43 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:43 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:58:43 %~ AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:58:43 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'is-same-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('is-same-rule',isSameRule) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that isSameRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define( isSameRule, 15:58:43 'BindLink'( 15:58:43 ftVariableList( 15:58:43 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:43 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:43 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:43 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:43 'AndLink'( 15:58:43 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:43 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:58:43 AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:58:43 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; variable declarations") 15:58:43 %~ comment("; body -- if all parts of AndLink hold true ... ") 15:58:43 %~ comment("; Avoid reporting things we already know.") 15:58:43 %~ comment("; Basically, if we already know that person A and B") 15:58:43 %~ comment("; are the same person, then lets not deduce it again.") 15:58:43 %~ comment("; This not link is identical to the conclusion below") 15:58:43 %~ comment("; implicand -- then the following is true too") 15:58:43 %~ comment("; ---------------------------------------------------------------------") 15:58:43 %~ comment("; Transitive deduction rule.") 15:58:43 %~ comment(";") 15:58:43 %~ comment("; If attribute X holds for person A, and person A is same as person B") 15:58:43 %~ comment("; then attribute X also holds for person B.") 15:58:43 %~ debugm( common_logic_loader, 15:58:43 %~ show_success( common_logic_loader, 15:58:43 %~ common_logic_loader : ain( clif( define( 'transitive-rule', 15:58:43 %~ 'BindLink'( 15:58:43 %~ 'VariableList'( 15:58:43 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:43 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:43 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:43 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:43 %~ 'AndLink'( 15:58:43 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:43 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:43 %~ AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:43 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:58:43 15:58:43 15:58:43 15:58:43 15:58:43 ======================================================= 15:58:43 define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:58:43 ============================================ 15:58:43 15:58:43 15:58:43 ?- kif_to_boxlog( define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:58:43 15:58:43 15:58:43 15:58:43 % In English: 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ 'transitive-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ azzert_rename('transitive-rule',transitiveRule) 15:58:43 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 % Results in the following 1 entailment(s): 15:58:43 nesc(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:43 15:58:43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 %~ it is necessarily true that transitiveRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:43 %~ 15:58:43 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:43 15:58:43 nesc( define( transitiveRule, 15:58:43 'BindLink'( 15:58:43 ftVariableList( 15:58:43 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:43 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:43 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:43 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:43 'AndLink'( 15:58:43 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:43 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:43 AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:43 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:43 15:58:43 ============================================ 15:58:43 %~ comment("; variable declarations") 15:58:43 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:43 %~ comment("; Don't deduce thigs we already know...") 15:58:43 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:43 %~ comment("; implicand -- then the following is true too") 15:58:43 %~ comment("; ---------------------------------------------------------------------") 15:58:43 %~ comment("; Transitive-not deduction rule.") 15:58:43 %~ comment(";") 15:58:43 %~ comment("; If attribute X doesn't hold for person A, and person A is same as person B") 15:58:44 %~ comment("; then attribute X also doesn't hold for person B.") 15:58:44 %~ comment(";") 15:58:44 %~ comment("; Very similar to above") 15:58:44 %~ debugm( common_logic_loader, 15:58:44 %~ show_success( common_logic_loader, 15:58:44 %~ common_logic_loader : ain( clif( define( 'transitive-not-rule', 15:58:44 %~ 'BindLink'( 15:58:44 %~ 'VariableList'( 15:58:44 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:44 %~ 'AndLink'( 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:44 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:44 %~ AbsentLink( 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:58:44 15:58:44 15:58:44 15:58:44 15:58:44 ======================================================= 15:58:44 define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:58:44 ============================================ 15:58:44 15:58:44 15:58:44 ?- kif_to_boxlog( define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:58:44 15:58:44 15:58:44 15:58:44 % In English: 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ 'transitive-not-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ azzert_rename('transitive-not-rule',transitiveNotRule) 15:58:44 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 % Results in the following 1 entailment(s): 15:58:44 nesc(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ it is necessarily true that transitiveNotRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 15:58:44 nesc( define( transitiveNotRule, 15:58:44 'BindLink'( 15:58:44 ftVariableList( 15:58:44 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:44 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:44 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:44 'AndLink'( 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:44 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:44 AbsentLink( notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:44 15:58:44 ============================================ 15:58:44 %~ comment("; variable declarations") 15:58:44 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:44 %~ comment("; Don't deduce thigs we already know...") 15:58:44 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:44 %~ comment("; implicand -- then the following is true too") 15:58:44 %~ comment("; ---------------------------------------------------------------------") 15:58:44 %~ comment("; elimination") 15:58:44 %~ debugm( common_logic_loader, 15:58:44 %~ show_success( common_logic_loader, 15:58:44 %~ common_logic_loader : ain( clif( define( 'by-elimination-rule', 15:58:44 %~ 'BindLink'( 15:58:44 %~ 'VariableList'( 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")), 15:58:44 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))), 15:58:44 %~ 'AndLink'( 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")), 15:58:44 %~ 'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))), 15:58:44 %~ 'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))), 15:58:44 %~ 'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))), 15:58:44 %~ 'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))), 15:58:44 %~ 'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))), 15:58:44 %~ 'EvaluationLink'( 15:58:44 %~ GroundedPredicateNode( '$STRING'("c++:exclusive")), 15:58:44 %~ 'ListLink'( 15:58:44 %~ VN( '$STRING'("$attr_a")), 15:58:44 %~ VN( '$STRING'("$attr_b")), 15:58:44 %~ VN( '$STRING'("$attr_c")), 15:58:44 %~ VN( '$STRING'("$attr_d")), 15:58:44 %~ VN( '$STRING'("$attr_e"))))), 15:58:44 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))))))) 15:58:44 15:58:44 15:58:44 15:58:44 15:58:44 ======================================================= 15:58:44 define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) 15:58:44 ============================================ 15:58:44 15:58:44 15:58:44 ?- kif_to_boxlog( define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) ). 15:58:44 15:58:44 15:58:44 15:58:44 % In English: 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ 'by-elimination-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ azzert_rename('by-elimination-rule',byEliminationRule) 15:58:44 %~ kif_to_boxlog_attvars2 = necessary(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))) 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 % Results in the following 1 entailment(s): 15:58:44 nesc(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))). 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ it is necessarily true that byEliminationRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 15:58:44 nesc( define( byEliminationRule, 15:58:44 'BindLink'( 15:58:44 ftVariableList( 15:58:44 declVar('$STRING'("FeatureNode"),'$STRING'("$person")), 15:58:44 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))), 15:58:44 'AndLink'( 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")), 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")), 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")), 15:58:44 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")), 15:58:44 'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))), 15:58:44 'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))), 15:58:44 'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))), 15:58:44 'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))), 15:58:44 'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))), 15:58:44 'EvaluationLink'( 15:58:44 GroundedPredicateNode( '$STRING'("c++:exclusive")), 15:58:44 'ListLink'( 15:58:44 VN( '$STRING'("$attr_a")), 15:58:44 VN( '$STRING'("$attr_b")), 15:58:44 VN( '$STRING'("$attr_c")), 15:58:44 VN( '$STRING'("$attr_d")), 15:58:44 VN( '$STRING'("$attr_e"))))), 15:58:44 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))). 15:58:44 15:58:44 ============================================ 15:58:44 %~ comment("; variable declarations") 15:58:44 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:44 %~ comment("; If person does NOT have atttribute a,b,c or d ...") 15:58:44 %~ comment("; and the attributes a,b,c,d,e are all of the same kind") 15:58:44 %~ comment("; and attributes a,b,c,d,e are all different from one-another") 15:58:44 %~ comment("; Don't deduce thigs we already know...") 15:58:44 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:44 %~ comment("(AbsentLink") 15:58:44 %~ comment("\t(clause VN \"$predicate\" VN \"$person\" VN \"$attr_e\")") 15:58:44 %~ comment(")") 15:58:44 %~ comment("; implicand -- then the following is true too") 15:58:44 %~ comment("; Then by elimination, person must have attribute e.") 15:58:44 %~ comment("; ---------------------------------------------------------------------") 15:58:44 %~ comment("; distinct-attr rule.") 15:58:44 %~ comment("; If, for a given attribute, person a and person b take on different") 15:58:44 %~ comment("; values, then they cannot be the same person. Therefore, any other") 15:58:44 %~ comment("; attributes they have must also be exclusive.") 15:58:44 %~ debugm( common_logic_loader, 15:58:44 %~ show_success( common_logic_loader, 15:58:44 %~ common_logic_loader : ain( clif( define( 'distinct-attr-rule', 15:58:44 %~ 'BindLink'( 15:58:44 %~ 'VariableList'( 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:44 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")), 15:58:44 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))), 15:58:44 %~ 'AndLink'( 15:58:44 %~ clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")), 15:58:44 %~ clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")), 15:58:44 %~ differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")), 15:58:44 %~ clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))))))) 15:58:44 15:58:44 15:58:44 15:58:44 15:58:44 ======================================================= 15:58:44 define('distinct-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))) 15:58:44 ============================================ 15:58:44 15:58:44 15:58:44 ?- kif_to_boxlog( define('distinct-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))) ). 15:58:44 15:58:44 15:58:44 15:58:44 % In English: 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ 'distinct-attr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ azzert_rename('distinct-attr-rule',distinctAttrRule) 15:58:44 %~ kif_to_boxlog_attvars2 = necessary(define(distinctAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))) 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 % Results in the following 1 entailment(s): 15:58:44 nesc(define(distinctAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))). 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ it is necessarily true that distinctAttrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 15:58:44 nesc( define( distinctAttrRule, 15:58:44 'BindLink'( 15:58:44 ftVariableList( 15:58:44 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:44 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:44 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")), 15:58:44 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")), 15:58:44 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))), 15:58:44 'AndLink'( 15:58:44 clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")), 15:58:44 clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")), 15:58:44 differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")), 15:58:44 clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))), 15:58:44 notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))). 15:58:44 15:58:44 ============================================ 15:58:44 %~ comment("; variable declarations") 15:58:44 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:44 %~ comment("; Don't deduce thigs we already know...") 15:58:44 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:44 %~ comment("(AbsentLink") 15:58:44 %~ comment("\t(not-clause VN \"$predicate_exclusive\" VN \"$person_b\" VN \"$attribute_excl\")") 15:58:44 %~ comment(")") 15:58:44 %~ comment("; implicand -- then the following is true too") 15:58:44 %~ comment("; ---------------------------------------------------------------------") 15:58:44 %~ comment("; neighbor-not-attr rule.") 15:58:44 %~ comment("; If some attribute holds true for a person, it cannot hold for the") 15:58:44 %~ comment("; person's neighbor.") 15:58:44 %~ debugm( common_logic_loader, 15:58:44 %~ show_success( common_logic_loader, 15:58:44 %~ common_logic_loader : ain( clif( define( 'neighbor-not-attr-rule', 15:58:44 %~ 'BindLink'( 15:58:44 %~ 'VariableList'( 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:44 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:44 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:44 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:44 %~ 'AndLink'( 15:58:44 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:44 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:44 %~ AbsentLink( 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:44 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:58:44 15:58:44 15:58:44 15:58:44 15:58:44 ======================================================= 15:58:44 define('neighbor-not-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:58:44 ============================================ 15:58:44 15:58:44 15:58:44 ?- kif_to_boxlog( define('neighbor-not-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:58:44 15:58:44 15:58:44 15:58:44 % In English: 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ 'neighbor-not-attr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ azzert_rename('neighbor-not-attr-rule',neighborNotAttrRule) 15:58:44 %~ kif_to_boxlog_attvars2 = necessary(define(neighborNotAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 % Results in the following 1 entailment(s): 15:58:44 nesc(define(neighborNotAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:44 15:58:44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:44 %~ it is necessarily true that neighborNotAttrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:58:44 %~ 15:58:44 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 15:58:45 nesc( define( neighborNotAttrRule, 15:58:45 'BindLink'( 15:58:45 ftVariableList( 15:58:45 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:45 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:45 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:58:45 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:58:45 'AndLink'( 15:58:45 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:58:45 clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:45 AbsentLink( notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:58:45 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:58:45 15:58:45 ============================================ 15:58:45 %~ comment("; variable declarations") 15:58:45 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:58:45 %~ comment("; Don't deduce thigs we already know...") 15:58:45 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:58:45 %~ comment("; implicand -- then the following is true too") 15:58:45 %~ comment("; ---------------------------------------------------------------------") 15:58:45 %~ comment("; Houses at the end of the street can only have one neighbor, ever.") 15:58:45 %~ comment("; This is a rather narrow rule, as it can only ever apply to the first") 15:58:45 %~ comment("; address (first ordinal -- a boundary condition).") 15:58:45 %~ comment("; This is used to combine rules 9 and 14.") 15:58:45 %~ comment("; There should be a symmetric rule for the last address too ...") 15:58:45 %~ debugm( common_logic_loader, 15:58:45 %~ show_success( common_logic_loader, 15:58:45 %~ common_logic_loader : ain( clif( define( 'first-addr-rule', 15:58:45 %~ 'BindLink'( 15:58:45 %~ 'VariableList'( 15:58:45 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:45 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:45 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:58:45 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:58:45 %~ 'AndLink'( 15:58:45 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")), 15:58:45 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:58:45 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:45 %~ clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:58:45 %~ AbsentLink( clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))), 15:58:45 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))))))) 15:58:45 15:58:45 15:58:45 15:58:45 15:58:45 ======================================================= 15:58:45 define('first-addr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))) 15:58:45 ============================================ 15:58:45 15:58:45 15:58:45 ?- kif_to_boxlog( define('first-addr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))) ). 15:58:45 15:58:45 15:58:45 15:58:45 % In English: 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ 'first-addr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))) 15:58:45 %~ 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ azzert_rename('first-addr-rule',firstAddrRule) 15:58:45 %~ kif_to_boxlog_attvars2 = necessary(define(firstAddrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[])))))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))) 15:58:45 15:58:45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 % Results in the following 1 entailment(s): 15:58:45 nesc(define(firstAddrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s(['101',iMain,tSumoStreet]))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))). 15:58:45 15:58:45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ it is necessarily true that firstAddrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s(['101',iMain,tSumoStreet]))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))) 15:58:45 %~ 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 15:58:45 nesc( define( firstAddrRule, 15:58:45 'BindLink'( 15:58:45 ftVariableList( 15:58:45 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:45 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:45 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:58:45 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:58:45 'AndLink'( 15:58:45 clause( 'PN', 15:58:45 '$STRING'("Address"), 'VN','$STRING'("$person_a"),'CN', 15:58:45 $STRING( s( ['101',iMain,tSumoStreet]))), 15:58:45 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:58:45 clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:58:45 clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:58:45 AbsentLink( clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))), 15:58:45 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))). 15:58:45 15:58:45 ============================================ 15:58:45 %~ comment("; variable declarations") 15:58:45 %~ comment("; body -- if all parts of AndLink hold true ... ") 15:58:45 %~ comment("; if adress of personA is 1st house") 15:58:45 %~ comment("; and A is neighbor of B") 15:58:45 %~ comment("; and the next house is one over") 15:58:45 %~ comment("; and we don't already know the conclusion") 15:58:45 %~ comment("; implicand -- then the B lives one house over.") 15:58:45 %~ comment("; ---------------------------------------------------------------------") 15:58:45 %~ comment("; Neighbor deduction rule.") 15:58:45 %~ comment(";") 15:58:45 %~ comment("; If Address X is left of address Y, then person who lives in X is") 15:58:45 %~ comment("; a neighbor of person who lives in Y") 15:58:45 %~ debugm( common_logic_loader, 15:58:45 %~ show_success( common_logic_loader, 15:58:45 %~ common_logic_loader : ain( clif( define( 'neighbor-rule', 15:58:45 %~ 'BindLink'( 15:58:45 %~ 'VariableList'( 15:58:45 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:58:45 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:58:45 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:58:45 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:58:45 %~ 'AndLink'( 15:58:45 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:58:45 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")), 15:58:45 %~ clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:58:45 %~ AbsentLink( clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:58:45 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))))))) 15:58:45 15:58:45 15:58:45 15:58:45 15:58:45 ======================================================= 15:58:45 define('neighbor-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) 15:58:45 ============================================ 15:58:45 15:58:45 15:58:45 ?- kif_to_boxlog( define('neighbor-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) ). 15:58:45 15:58:45 15:58:45 15:58:45 % In English: 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ 'neighbor-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:58:45 %~ 15:58:45 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:58:45 %~ azzert_rename('neighbor-rule',neighborRule) 15:58:45 totalTime=10.000 15:58:45 15:58:45 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k zebra_04.clif (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:58:45 15:58:49 ISSUE_INFO=638 OPEN logicmoo.base.examples.fol.ZEBRA_04 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_04, Failing, Errors, Overtime 2021-09-26 22:49:57 +0000 UTC 15:58:49 ISSUE_ID=638 15:58:49 ISSUE_OC=OPEN 15:58:49 Editing Issue For FAILED 638 OPEN logicmoo.base.examples.fol.ZEBRA_04 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_04, Failing, Errors, Overtime 2021-09-26 22:49:57 +0000 UTC 15:58:57 https://github.com/logicmoo/logicmoo_workspace/issues/638 15:58:57 FileTestCase=logicmoo.base.examples.fol.ZEBRA_05 JUnit 15:58:57 15:58:57 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_05.clif']" 15:58:57 15:58:57 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_05.clif']") 15:58:57 15:58:57 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/zebra_05.clif 15:58:57 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.examples.fol/ZEBRA_05/ 15:58:57 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AZEBRA_05 15:58:57 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/459 15:58:57 15:58:57 15:59:01 %~ init_phase(after_load) 15:59:01 %~ init_phase(restore_state) 15:59:01 % 15:59:01 %~ init_why(after_boot,program) 15:59:01 %~ after_boot. 15:59:01 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:59:01 %~ comment("; Module zebra5 - Test Zerbra Puzzle in CLIF for SWI-Prolog") 15:59:01 %~ comment("; Maintainer: Douglas Miles") 15:59:01 %~ comment("; Load with ?- load_clif(pack('logicmoo_base/t/examples/fol/zebra5.clif'))") 15:59:01 %~ comment("; causes deduction of argument types") 15:59:01 %~ debugm(common_logic_loader,show_success(common_logic_loader,common_logic_loader:maplist(zebra5:export,[]))) 15:59:01 %~ error( missing_kif_process(call,zebra5:ensure_loaded(library(logicmoo_clif)))) 15:59:01 %~ 'set-kif-option'('assume-wff') 15:59:01 t_l:kif_action_mode(tell) 15:59:01 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:30 15:59:01 %~ comment("; PROGRAM A") 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(livesIn,1,tHuman))))) 15:59:01 15:59:01 15:59:01 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: -60 words .. ** 15:59:01 15:59:01 15:59:01 15:59:01 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 143 words .. ** 15:59:01 15:59:01 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:59:01 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:59:01 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:59:01 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:59:01 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:59:01 % :- share_mfa_pt2(parser_chat80,control80,1). 15:59:01 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:59:01 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.49 sec, 1 clauses 15:59:01 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(livesIn,1,tHuman) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(livesIn,1,tHuman) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(livesIn,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(livesIn,1,tHuman)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(livesIn,1,tHuman)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(livesIn,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(livesIn,1,tHuman)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(livesIn,2,tHouse))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(livesIn,2,tHouse) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(livesIn,2,tHouse) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(livesIn,2,tHouse) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(livesIn,2,tHouse)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(livesIn,2,tHouse)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(livesIn,2,tHouse) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(livesIn,2,tHouse)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(natOrigin,1,tHuman))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(natOrigin,1,tHuman) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(natOrigin,1,tHuman) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(natOrigin,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(natOrigin,1,tHuman)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(natOrigin,1,tHuman)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(natOrigin,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(natOrigin,1,tHuman)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(natOrigin,2,tCountry))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(natOrigin,2,tCountry) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(natOrigin,2,tCountry) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(natOrigin,2,tCountry) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(natOrigin,2,tCountry)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(natOrigin,2,tCountry)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(natOrigin,2,tCountry) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(natOrigin,2,tCountry)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(colorOf,1,tPhysical))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(colorOf,1,tPhysical) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(colorOf,1,tPhysical) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(colorOf,1,tPhysical) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(colorOf,1,tPhysical)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(colorOf,1,tPhysical)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(colorOf,1,tPhysical) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(colorOf,1,tPhysical)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(colorOf,2,vtColor))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(colorOf,2,vtColor) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(colorOf,2,vtColor) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(colorOf,2,vtColor) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(colorOf,2,vtColor)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(colorOf,2,vtColor)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(colorOf,2,vtColor) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(colorOf,2,vtColor)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/zebra_05.clif:333 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(address,1,tHouse))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(address,1,tHouse) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(address,1,tHouse) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(address,1,tHouse) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(address,1,tHouse)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(address,1,tHouse)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(address,1,tHouse) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(address,1,tHouse)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(address,2,tAddress))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(address,2,tAddress) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(address,2,tAddress) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(address,2,tAddress) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(address,2,tAddress)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(address,2,tAddress)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(address,2,tAddress) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(address,2,tAddress)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(argQuotedIsa(address,2,ftInt))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 argQuotedIsa(address,2,ftInt) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( argQuotedIsa(address,2,ftInt) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ argQuotedIsa(address,2,ftInt) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argQuotedIsa(address,2,ftInt)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argQuotedIsa(address,2,ftInt)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argQuotedIsa(address,2,ftInt) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argQuotedIsa(address,2,ftInt)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(caresFor,1,tHuman))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(caresFor,1,tHuman) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(caresFor,1,tHuman) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(caresFor,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(caresFor,1,tHuman)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(caresFor,1,tHuman)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(caresFor,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(caresFor,1,tHuman)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(caresFor,2,tAnimal))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(caresFor,2,tAnimal) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(caresFor,2,tAnimal) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(caresFor,2,tAnimal) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(caresFor,2,tAnimal)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(caresFor,2,tAnimal)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(caresFor,2,tAnimal) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(caresFor,2,tAnimal)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(subclass(tNonHumanAnimal,tAnimal))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 subclass(tNonHumanAnimal,tAnimal) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( subclass(tNonHumanAnimal,tAnimal) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ tNonHumanAnimal subclass tAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(genls(tNonHumanAnimal,tAnimal)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(genls(tNonHumanAnimal,tAnimal)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that tNonHumanAnimal genls tAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( genls(tNonHumanAnimal,tAnimal)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(subclass(tHuman,tAnimal))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 subclass(tHuman,tAnimal) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( subclass(tHuman,tAnimal) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ tHuman subclass tAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(genls(tHuman,tAnimal)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(genls(tHuman,tAnimal)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that tHuman genls tAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( genls(tHuman,tAnimal)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(disjointWith(tHuman,tNonHumanAnimal))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 disjointWith(tHuman,tNonHumanAnimal) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( disjointWith(tHuman,tNonHumanAnimal) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ tHuman disjointWith tNonHumanAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(disjointWith(tHuman,tNonHumanAnimal)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(disjointWith(tHuman,tNonHumanAnimal)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that tHuman disjointWith tNonHumanAnimal 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( disjointWith(tHuman,tNonHumanAnimal)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm(common_logic_loader,show_success(common_logic_loader,common_logic_loader:ain(clif(domain(drinks,1,tHuman))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(drinks,1,tHuman) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(drinks,1,tHuman) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(drinks,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,tHuman)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(drinks,1,tHuman)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(drinks,1,tHuman) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(drinks,1,tHuman)). 15:59:01 15:59:01 ============================================ 15:59:01 %~ debugm( common_logic_loader, 15:59:01 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(drinks,2,tBeverage))))) 15:59:01 15:59:01 15:59:01 15:59:01 15:59:01 ======================================================= 15:59:01 domain(drinks,2,tBeverage) 15:59:01 ============================================ 15:59:01 15:59:01 15:59:01 ?- kif_to_boxlog( domain(drinks,2,tBeverage) ). 15:59:01 15:59:01 15:59:01 15:59:01 % In English: 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ domain(drinks,2,tBeverage) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,tBeverage)) 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 % Results in the following 1 entailment(s): 15:59:01 nesc(argIsa(drinks,2,tBeverage)). 15:59:01 15:59:01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 %~ it is necessarily true that argIsa(drinks,2,tBeverage) 15:59:01 %~ 15:59:01 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:01 15:59:01 nesc( argIsa(drinks,2,tBeverage)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(typeGenls(ttBeverageType,tBeverage))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 typeGenls(ttBeverageType,tBeverage) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( typeGenls(ttBeverageType,tBeverage) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ ttBeverageType typeGenls tBeverage 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(typeGenls(ttBeverageType,tBeverage)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(typeGenls(ttBeverageType,tBeverage)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that ttBeverageType typeGenls tBeverage 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( typeGenls(ttBeverageType,tBeverage)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(instance(tCoffee,ttBeverageType))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 instance(tCoffee,ttBeverageType) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( instance(tCoffee,ttBeverageType) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ tCoffee instance ttBeverageType 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(ttBeverageType(tCoffee)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(ttBeverageType(tCoffee)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that tCoffee isa ttBeverageType 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( ttBeverageType(tCoffee)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(smokesBrand,1,tHuman))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 domain(smokesBrand,1,tHuman) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( domain(smokesBrand,1,tHuman) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ domain(smokesBrand,1,tHuman) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(argIsa(smokesBrand,1,tHuman)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(argIsa(smokesBrand,1,tHuman)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that argIsa(smokesBrand,1,tHuman) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( argIsa(smokesBrand,1,tHuman)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(smokesBrand,2,tBrandName))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 domain(smokesBrand,2,tBrandName) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( domain(smokesBrand,2,tBrandName) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ domain(smokesBrand,2,tBrandName) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(argIsa(smokesBrand,2,tBrandName)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(argIsa(smokesBrand,2,tBrandName)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that argIsa(smokesBrand,2,tBrandName) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( argIsa(smokesBrand,2,tBrandName)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(argQuotedIsa(smokesBrand,2,ftString))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 argQuotedIsa(smokesBrand,2,ftString) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( argQuotedIsa(smokesBrand,2,ftString) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ argQuotedIsa(smokesBrand,2,ftString) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(argQuotedIsa(smokesBrand,2,ftString)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(argQuotedIsa(smokesBrand,2,ftString)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that argQuotedIsa(smokesBrand,2,ftString) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( argQuotedIsa(smokesBrand,2,ftString)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domain(caresForType,1,tHuman))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 domain(caresForType,1,tHuman) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( domain(caresForType,1,tHuman) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ domain(caresForType,1,tHuman) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(argIsa(caresForType,1,tHuman)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(argIsa(caresForType,1,tHuman)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that argIsa(caresForType,1,tHuman) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( argIsa(caresForType,1,tHuman)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(domainSubclass(caresForType,2,tAnimal))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 domainSubclass(caresForType,2,tAnimal) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( domainSubclass(caresForType,2,tAnimal) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ domainSubclass(caresForType,2,tAnimal) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(argGenl(caresForType,2,tAnimal)) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 1 entailment(s): 15:59:06 nesc(argGenl(caresForType,2,tAnimal)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ it is necessarily true that argGenl(caresForType,2,tAnimal) 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 nesc( argGenl(caresForType,2,tAnimal)). 15:59:06 15:59:06 ============================================ 15:59:06 %~ debugm( common_logic_loader, 15:59:06 %~ show_success( common_logic_loader, 15:59:06 %~ common_logic_loader : ain( clif( iff( 15:59:06 %~ and(caresForType(M1,T1),instance(P1,T1)), 15:59:06 %~ caresFor(M1,P1)))))) 15:59:06 15:59:06 15:59:06 15:59:06 15:59:06 ======================================================= 15:59:06 iff(and(caresForType('$VAR'('M1'),'$VAR'('T1')),instance('$VAR'('P1'),'$VAR'('T1'))),caresFor('$VAR'('M1'),'$VAR'('P1'))) 15:59:06 ============================================ 15:59:06 15:59:06 15:59:06 ?- kif_to_boxlog( iff(and(caresForType(M1,T1),instance(P1,T1)),caresFor(M1,P1)) ). 15:59:06 15:59:06 15:59:06 15:59:06 % In English: 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ ?M1 caresForType ?T1 and ?P1 instance ?T1 iff ?M1 caresFor ?P1 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ kif_to_boxlog_attvars2 = necessary(<gt;=>(and(caresForType('$VAR'('M1'),'$VAR'('T1')),isa('$VAR'('P1'),'$VAR'('T1'))),caresFor('$VAR'('M1'),'$VAR'('P1')))) 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 % Results in the following 25 entailment(s): 15:59:06 poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1))==>nesc(caresFor(M1,P1)). 15:59:06 poss(~caresFor(M1,P1))&poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))==>poss(~isa(P1,T1)). 15:59:06 poss(~caresFor(M1,P1))&poss(~caresFor(M1,P1))&nesc(isa(P1,T1))==>poss(~caresForType(M1,T1)). 15:59:06 poss(~caresFor(M1,P1))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>poss(~caresFor(M1,P1)). 15:59:06 poss(~caresForType(M1,T1))&poss(~caresFor(M1,P1))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>poss(~isa(P1,T1)). 15:59:06 poss(~caresForType(M1,T1))&((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>poss(~isa(P1,T1)). 15:59:06 poss(caresForType(M1,T1))&poss(~caresFor(M1,P1))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))==>nesc(isa(P1,T1)). 15:59:06 poss(caresForType(M1,T1))&((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))==>nesc(isa(P1,T1)). 15:59:06 (poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1)))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(poss(~isa(P1,T1)),nesc(isa(P1,T1)))==>nesc(caresForType(M1,T1)). 15:59:06 (poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1)))==>poss(~caresForType(M1,T1)). 15:59:06 (poss(~caresFor(M1,P1))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&poss(isa(P1,T1))==>nesc(caresForType(M1,T1)). 15:59:06 (poss(~caresFor(M1,P1))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1))))&poss(~isa(P1,T1))==>poss(~caresForType(M1,T1)). 15:59:06 (((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&poss(isa(P1,T1))==>nesc(caresForType(M1,T1)). 15:59:06 (((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1))))&poss(~isa(P1,T1))==>poss(~caresForType(M1,T1)). 15:59:06 ((v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(poss(~isa(P1,T1)),nesc(isa(P1,T1)))==>nesc(caresForType(M1,T1)). 15:59:06 ((v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1)))==>poss(~caresForType(M1,T1)). 15:59:06 ((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1))==>nesc(caresFor(M1,P1)). 15:59:06 ((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))==>poss(~isa(P1,T1)). 15:59:06 ((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&poss(~caresFor(M1,P1))&nesc(isa(P1,T1))==>poss(~caresForType(M1,T1)). 15:59:06 ((v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1)))&v(nesc(isa(P1,T1)),poss(~isa(P1,T1))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>poss(~caresFor(M1,P1)). 15:59:06 (v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>nesc(caresFor(M1,P1)). 15:59:06 (v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))))&poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1))==>nesc(isa(P1,T1)). 15:59:06 (v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))))&(v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>nesc(isa(P1,T1)). 15:59:06 (v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&poss(~caresFor(M1,P1))&nesc(caresForType(M1,T1))&nesc(isa(P1,T1))==>poss(~isa(P1,T1)). 15:59:06 (v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1)))&v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))))&(v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1)))&v(nesc(caresFor(M1,P1)),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),nesc(caresFor(M1,P1)))&v(poss(poss(~caresForType(M1,T1))&nesc(isa(P1,T1))),poss(nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))==>poss(~isa(P1,T1)). 15:59:06 15:59:06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresFor ?P1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( caresForType(M1,T1)) & 15:59:06 nesc( isa(P1,T1))) ==> 15:59:06 nesc( caresFor(M1,P1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( caresForType(M1,T1))) ==> 15:59:06 poss( ~( isa(P1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( isa(P1,T1))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresFor ?P1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:06 poss( ~( caresFor(M1,P1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresForType(M1,T1))) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:06 poss( ~( isa(P1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:06 poss( ~( isa(P1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresForType ?T1 " is possible and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ))) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( caresForType(M1,T1)) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1)))) ==> 15:59:06 nesc( isa(P1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ " ?M1 caresForType ?T1 " is possible and 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ))) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( caresForType(M1,T1)) & 15:59:06 v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1)))) ==> 15:59:06 nesc( isa(P1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is possibly false or " ?P1 isa ?T1 " is necessarily true )) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( caresForType(M1,T1)) & 15:59:06 nesc( isa(P1,T1)) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(poss(~isa(P1,T1)),nesc(isa(P1,T1)))) ==> 15:59:06 nesc( caresForType(M1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false )) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( caresForType(M1,T1)) & 15:59:06 nesc( isa(P1,T1)) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1)))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) and 15:59:06 %~ " ?P1 isa ?T1 " is possible 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 poss( isa(P1,T1))) ==> 15:59:06 nesc( caresForType(M1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ))) and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( poss( ~( caresFor(M1,P1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1))) & 15:59:06 poss( ~( isa(P1,T1)))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) and 15:59:06 %~ " ?P1 isa ?T1 " is possible 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 poss( isa(P1,T1))) ==> 15:59:06 nesc( caresForType(M1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ))) and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1))) & 15:59:06 poss( ~( isa(P1,T1)))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) and 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is possibly false or " ?P1 isa ?T1 " is necessarily true )) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(poss(~isa(P1,T1)),nesc(isa(P1,T1)))) ==> 15:59:06 nesc( caresForType(M1,T1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) and 15:59:06 %~ ((((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false )) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:06 v( nesc( caresFor(M1,P1)), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 nesc( caresFor(M1,P1))) & 15:59:06 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:06 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1)))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresFor ?P1 " is necessarily true 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 nesc( caresForType(M1,T1)) & 15:59:06 nesc( isa(P1,T1))) ==> 15:59:06 nesc( caresFor(M1,P1))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ " ?M1 caresForType ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?P1 isa ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( caresForType(M1,T1))) ==> 15:59:06 poss( ~( isa(P1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true ) 15:59:06 %~ It's Proof that: 15:59:06 %~ " ?M1 caresForType ?T1 " is possibly false 15:59:06 %~ 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 15:59:06 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:06 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:06 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:06 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:06 poss( ~( caresFor(M1,P1))) & 15:59:06 nesc( isa(P1,T1))) ==> 15:59:06 poss( ~( caresForType(M1,T1)))). 15:59:06 15:59:06 % AND 15:59:06 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:06 %~ Whenever: 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:06 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:06 %~ ((" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true ) and 15:59:06 %~ (" ?P1 isa ?T1 " is necessarily true or " ?P1 isa ?T1 " is possibly false ))) and 15:59:06 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:06 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible )) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?M1 caresFor ?P1 " is possibly false 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:07 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:07 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:07 v(nesc(isa(P1,T1)),poss(~isa(P1,T1))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:07 poss( ~( caresFor(M1,P1)))). 15:59:07 15:59:07 % AND 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 %~ Whenever: 15:59:07 %~ ((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) and 15:59:07 %~ ((((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?M1 caresFor ?P1 " is necessarily true 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:07 v( nesc( caresFor(M1,P1)), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 nesc( caresFor(M1,P1))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:07 nesc( caresFor(M1,P1))). 15:59:07 15:59:07 % AND 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 %~ Whenever: 15:59:07 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true )) and 15:59:07 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:07 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:07 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:07 poss( ~( caresFor(M1,P1))) & 15:59:07 nesc( caresForType(M1,T1)) & 15:59:07 nesc( isa(P1,T1))) ==> 15:59:07 nesc( isa(P1,T1))). 15:59:07 15:59:07 % AND 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 %~ Whenever: 15:59:07 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresForType ?T1 " is necessarily true or " ?P1 isa ?T1 " is necessarily true )) and 15:59:07 %~ (((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) and 15:59:07 %~ ((((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:07 v(nesc(caresForType(M1,T1)),nesc(isa(P1,T1))) & 15:59:07 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:07 v( nesc( caresFor(M1,P1)), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 nesc( caresFor(M1,P1))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:07 nesc( isa(P1,T1))). 15:59:07 15:59:07 % AND 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 %~ Whenever: 15:59:07 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:07 %~ (" ?M1 caresFor ?P1 " is possibly false and 15:59:07 %~ (" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?P1 isa ?T1 " is possibly false 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:07 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:07 poss( ~( caresFor(M1,P1))) & 15:59:07 nesc( caresForType(M1,T1)) & 15:59:07 nesc( isa(P1,T1))) ==> 15:59:07 poss( ~( isa(P1,T1)))). 15:59:07 15:59:07 % AND 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 %~ Whenever: 15:59:07 %~ ((" ?M1 caresForType ?T1 " is possibly false or " ?M1 caresForType ?T1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresForType ?T1 " is possibly false or " ?P1 isa ?T1 " is possibly false )) and 15:59:07 %~ (((" ?M1 caresFor ?P1 " is necessarily true or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (" ?M1 caresFor ?P1 " is necessarily true or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible ))) and 15:59:07 %~ ((((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or " ?M1 caresFor ?P1 " is necessarily true ) and 15:59:07 %~ (((" ?M1 caresForType ?T1 " is possibly false and 15:59:07 %~ " ?P1 isa ?T1 " is necessarily true )is possible ) or ((" ?M1 caresForType ?T1 " is necessarily true and 15:59:07 %~ " ?P1 isa ?T1 " is possibly false )is possible )))) 15:59:07 %~ It's Proof that: 15:59:07 %~ " ?P1 isa ?T1 " is possibly false 15:59:07 %~ 15:59:07 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:07 15:59:07 ( ( v(poss(~caresForType(M1,T1)),nesc(caresForType(M1,T1))) & 15:59:07 v(poss(~caresForType(M1,T1)),poss(~isa(P1,T1))) & 15:59:07 v(nesc(caresFor(M1,P1)),nesc(caresFor(M1,P1))) & 15:59:07 v( nesc( caresFor(M1,P1)), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1)))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 nesc( caresFor(M1,P1))) & 15:59:07 v( poss( poss(~caresForType(M1,T1))&nesc(isa(P1,T1))), 15:59:07 poss( nesc(caresForType(M1,T1))&poss(~isa(P1,T1))))) ==> 15:59:07 poss( ~( isa(P1,T1)))). 15:59:07 15:59:07 ============================================ 15:59:07 %~ kif_to_boxlog_attvars2 = necessary(<gt;=>(and(caresForType('$VAR'('M1'),'$VAR'('T1')),isa('$VAR'('P1'),'$VAR'('T1'))),caresFor('$VAR'('M1'),'$VAR'('P1')))) 15:59:07 totalTime=10.000 15:59:07 15:59:07 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k zebra_05.clif (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:59:07 15:59:10 ISSUE_INFO=459 OPEN logicmoo.base.examples.fol.ZEBRA_05 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_05, Failing, Errors, Overtime 2021-09-26 22:49:36 +0000 UTC 15:59:10 ISSUE_ID=459 15:59:10 ISSUE_OC=OPEN 15:59:10 Editing Issue For FAILED 459 OPEN logicmoo.base.examples.fol.ZEBRA_05 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_05, Failing, Errors, Overtime 2021-09-26 22:49:36 +0000 UTC 15:59:16 https://github.com/logicmoo/logicmoo_workspace/issues/459 15:59:16 FileTestCase=logicmoo.base.examples.fol.ZEBRA_06 JUnit 15:59:16 15:59:16 CMD=timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_06.clif']" 15:59:16 15:59:16 (cd /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol ; timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "['zebra_06.clif']") 15:59:16 15:59:16 % EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/zebra_06.clif 15:59:16 % JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.examples.fol/ZEBRA_06/ 15:59:16 % ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3AZEBRA_06 15:59:16 % ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/639 15:59:16 15:59:16 15:59:20 %~ init_phase(after_load) 15:59:20 %~ init_phase(restore_state) 15:59:20 % 15:59:20 %~ init_why(after_boot,program) 15:59:20 %~ after_boot. 15:59:20 %~ Dont forget to ?- logicmoo_i_cyc_xform. 15:59:20 %~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:30 15:59:20 %~ comment(";") 15:59:20 %~ comment("; deduct-einstein.scm") 15:59:20 %~ comment(";") 15:59:20 %~ comment("; Full set of Einstein Puzzle facts.") 15:59:20 %~ comment("; There are 15 explicitly stated facts, and four additional implicit") 15:59:20 %~ comment("; facts about ordinal counting (ordering of houses in a row).") 15:59:20 %~ comment(";") 15:59:20 %~ comment("; The facts are stated in a fashion that is as close as possible to") 15:59:20 %~ comment("; the natural-language source. The point being that we want the") 15:59:20 %~ comment("; expression of facts to be closely tied to human patterns of speech.") 15:59:20 %~ comment("; Being \"efficient\" or \"clever\" is NOT the point.") 15:59:20 %~ debugm( common_logic_loader, 15:59:20 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:59:20 15:59:20 15:59:20 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/clone.xg: 182 words .. ** 15:59:20 15:59:20 15:59:20 15:59:20 ** Grammar from file /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/lex.xg: 23 words .. ** 15:59:20 15:59:20 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:59:20 % chatops compiled into parser_chat80 0.00 sec, 0 clauses 15:59:20 % :- share_mfa_pt2(parser_chat80,test_chat80,1). 15:59:20 % :- share_mfa_pt2(parser_chat80,hi80,0). 15:59:20 % :- share_mfa_pt2(parser_chat80,hi80,1). 15:59:20 % :- share_mfa_pt2(parser_chat80,control80,1). 15:59:20 % :- share_mfa_pt2(parser_chat80,trace_chat80,1). 15:59:20 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_nlu/ext/chat80/original/load compiled into parser_chat80 2.64 sec, 1 clauses 15:59:20 % /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/debuggery/dmsg compiled into dmsg 0.12 sec, -16 clauses 15:59:20 15:59:20 15:59:20 15:59:20 15:59:20 ======================================================= 15:59:20 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:59:20 ============================================ 15:59:20 15:59:20 15:59:20 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:59:20 15:59:20 15:59:20 15:59:20 % In English: 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ mean stv conf define mean 'cog-new-stv' conf 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ azzert_rename('cog-new-stv',cogNewStv) 15:59:20 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 % Results in the following 1 entailment(s): 15:59:20 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 15:59:20 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:59:20 15:59:20 ============================================ 15:59:20 %~ comment("; A little handly-dandy utility to avoid over-reporting of \"obvious\"") 15:59:20 %~ comment("; results. We declare that person1 is the same as person1, etc.") 15:59:20 %~ comment("; A kind-of pauli-exclusion-principle at work.") 15:59:20 %~ /var/lib/jenkins/workspace/logicmoo_workspace/packs_sys/logicmoo_base/t/examples/fol/zebra_06.clif:747 15:59:20 %~ debugm( common_logic_loader, 15:59:20 %~ show_success( common_logic_loader, 15:59:20 %~ common_logic_loader : ain( clif( define( same(person), 15:59:20 %~ 'EvaluationLink'( stv(1,1), 15:59:20 %~ PredicateNode( '$STRING'("IsSamePerson")), 15:59:20 %~ 'ListLink'('FeatureNode'(person),'FeatureNode'(person)))))))) 15:59:20 15:59:20 15:59:20 15:59:20 15:59:20 ======================================================= 15:59:20 define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) 15:59:20 ============================================ 15:59:20 15:59:20 15:59:20 ?- kif_to_boxlog( define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person)))) ). 15:59:20 15:59:20 15:59:20 15:59:20 % In English: 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ kif_to_boxlog_attvars2 = necessary(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))) 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 % Results in the following 1 entailment(s): 15:59:20 nesc(define(same(person),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ it is necessarily true that person isa same define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("IsSamePerson")),'ListLink'('FeatureNode'(person),'FeatureNode'(person))) 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 15:59:20 nesc( define( same(person), 15:59:20 'EvaluationLink'( stv(1,1), 15:59:20 PredicateNode( '$STRING'("IsSamePerson")), 15:59:20 'ListLink'('FeatureNode'(person),'FeatureNode'(person))))). 15:59:20 15:59:20 ============================================ 15:59:20 %~ comment(" AvatarNode") 15:59:20 %~ comment(" AvatarNode") 15:59:20 %~ comment("; A declaration of fact: it is true that pred has value for person.") 15:59:20 %~ debugm( common_logic_loader, 15:59:20 %~ show_success( common_logic_loader, 15:59:20 %~ common_logic_loader : ain( clif( define( fact(person,pred,value), 15:59:20 %~ same(person), 15:59:20 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))))))) 15:59:20 15:59:20 15:59:20 15:59:20 15:59:20 ======================================================= 15:59:20 define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:59:20 ============================================ 15:59:20 15:59:20 15:59:20 ?- kif_to_boxlog( define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) ). 15:59:20 15:59:20 15:59:20 15:59:20 % In English: 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ kif_to_boxlog_attvars2 = necessary(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))) 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 % Results in the following 1 entailment(s): 15:59:20 nesc(define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:59:20 15:59:20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 %~ it is necessarily true that define(fact(person,pred,value),same(person),'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value)))) 15:59:20 %~ 15:59:20 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:20 15:59:20 nesc( define( fact(person,pred,value), 15:59:20 same(person), 15:59:20 'EvaluationLink'(stv(1,1),'PredicateNode'(pred),'ListLink'('FeatureNode'(person),'ConceptNode'(value))))). 15:59:20 15:59:20 ============================================ 15:59:20 %~ comment("; A neighbor-predicate: two people live next to each other.") 15:59:20 %~ debugm( common_logic_loader, 15:59:20 %~ show_success( common_logic_loader, 15:59:20 %~ common_logic_loader : ain( clif( define( neighbor(person1,person2), 15:59:20 %~ same(person1), 15:59:20 %~ same(person2), 15:59:20 %~ 'EvaluationLink'( stv(1,1), 15:59:20 %~ PredicateNode( '$STRING'("Neighbor")), 15:59:20 %~ 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))))))) 15:59:20 15:59:20 15:59:20 15:59:20 15:59:20 ======================================================= 15:59:20 define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that define(neighbor(person1,person2),same(person1),same(person2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Neighbor")),'ListLink'('FeatureNode'(person1),'FeatureNode'(person2)))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( define( neighbor(person1,person2), 15:59:21 same(person1), 15:59:21 same(person2), 15:59:21 'EvaluationLink'( stv(1,1), 15:59:21 PredicateNode( '$STRING'("Neighbor")), 15:59:21 'ListLink'('FeatureNode'(person1),'FeatureNode'(person2))))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; A left-of predicate: one house is left of another") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( define( 'left-of'(house1,house2), 15:59:21 %~ 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( define('left-of'(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ house1 'left-of' house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ azzert_rename('left-of',leftOf) 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(define(leftOf(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that house1 leftOf house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( define( leftOf(house1,house2), 15:59:21 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("LeftOf")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 1. The Englishman lives in the red house.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person1"),'$STRING'("Nationality"),'$STRING'("Englishman"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'("red house")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(red,'[|]'(house,[])))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house]))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person1"),'$STRING'("LivesIn"),'$STRING'(s([red,house])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 2. The Swede keeps dogs.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person2"),'$STRING'("Nationality"),'$STRING'("Swede"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person2"),'$STRING'("Keeps"),'$STRING'("dogs"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 3. The Dane drinks tea.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person3"),'$STRING'("Nationality"),'$STRING'("Dane"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person3"),'$STRING'("Drinks"),'$STRING'("tea"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 4. The green house is just to the left of the white_house one.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( 'left-of'('$STRING'("green house"),'$STRING'("white house")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 'left-of'('$STRING'("green house"),'$STRING'("white house")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( 'left-of'('$STRING'("green house"),'$STRING'("white house")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ "green house" isa '$STRING' 'left-of' "white house" isa '$STRING' 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(leftOf('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that green house isa s isa '$STRING' leftOf white house isa s isa '$STRING' 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( leftOf('$STRING'(s([green,house])),'$STRING'(s([white,house])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 5. The owner of the green house drinks coffee.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'("green house")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(green,'[|]'(house,[])))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house]))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person5"),'$STRING'("LivesIn"),'$STRING'(s([green,house])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person5"),'$STRING'("Drinks"),'$STRING'("coffee"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 6. The Pall Mall smoker keeps birds.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person6"),'$STRING'("Smokes"),'$STRING'("PallMall"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person6"),'$STRING'("Keeps"),'$STRING'("birds"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 7. The owner of the yellow house smokes Dunhills.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person7"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'("yellow house")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(yellow,'[|]'(house,[])))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house]))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person7"),'$STRING'("LivesIn"),'$STRING'(s([yellow,house])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 8. The man in the center house drinks milk.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person8"),'$STRING'("Drinks"),'$STRING'("milk"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'("103 Main Street")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet]))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person8"),'$STRING'("Address"),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 9. The Norwegian lives in the first house.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person9"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'("101 Main Street")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet]))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person9"),'$STRING'("Address"),'$STRING'(s(['101',iMain,tSumoStreet])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 10. The Blend smoker has a neighbor who keeps cats.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person10"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person10"),'$STRING'("catperson")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 neighbor('$STRING'("person10"),'$STRING'("catperson")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( neighbor('$STRING'("person10"),'$STRING'("catperson")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person10"),'$STRING'("catperson"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that "person10" isa '$STRING' neighbor "catperson" isa '$STRING' 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( neighbor('$STRING'("person10"),'$STRING'("catperson"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("catperson"),'$STRING'("Keeps"),'$STRING'("cats"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 11. The man who smokes Blue Masters drinks bier.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'("Blue Master")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master']))) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person11"),'$STRING'("Smokes"),'$STRING'(s([tSumoBlue,'Master'])))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")))))) 15:59:21 15:59:21 15:59:21 15:59:21 15:59:21 ======================================================= 15:59:21 fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:59:21 ============================================ 15:59:21 15:59:21 15:59:21 ?- kif_to_boxlog( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) ). 15:59:21 15:59:21 15:59:21 15:59:21 % In English: 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))) 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 % Results in the following 1 entailment(s): 15:59:21 nesc(fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:59:21 15:59:21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 %~ it is necessarily true that fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier")) 15:59:21 %~ 15:59:21 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:21 15:59:21 nesc( fact('$STRING'("person11"),'$STRING'("Drinks"),'$STRING'("bier"))). 15:59:21 15:59:21 ============================================ 15:59:21 %~ comment("; 12. The man who keeps horses lives next to the Dunhill smoker.") 15:59:21 %~ debugm( common_logic_loader, 15:59:21 %~ show_success( common_logic_loader, 15:59:21 %~ common_logic_loader : ain( clif( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person12"),'$STRING'("Keeps"),'$STRING'("horses"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that "person12" isa '$STRING' neighbor "dun_smoke_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( neighbor('$STRING'("person12"),'$STRING'("dun_smoke_person"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("dun_smoke_person"),'$STRING'("Smokes"),'$STRING'("Dunhill"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; 13. The German smokes Prince.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person13"),'$STRING'("Nationality"),'$STRING'("German"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person13"),'$STRING'("Smokes"),'$STRING'("Prince"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; 14. The Norwegian lives next to the blue house.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person14"),'$STRING'("Nationality"),'$STRING'("Norwegian"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person14"),'$STRING'("blue_person")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 neighbor('$STRING'("person14"),'$STRING'("blue_person")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( neighbor('$STRING'("person14"),'$STRING'("blue_person")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person14"),'$STRING'("blue_person"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that "person14" isa '$STRING' neighbor "blue_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( neighbor('$STRING'("person14"),'$STRING'("blue_person"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'("blue house")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(blue,'[|]'(house,[])))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house]))) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("blue_person"),'$STRING'("LivesIn"),'$STRING'(s([blue,house])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; 15. The Blend smoker has a neighbor who drinks water.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person15"),'$STRING'("Smokes"),'$STRING'("Blend"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( neighbor('$STRING'("person15"),'$STRING'("water_person")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 neighbor('$STRING'("person15"),'$STRING'("water_person")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( neighbor('$STRING'("person15"),'$STRING'("water_person")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(neighbor('$STRING'("person15"),'$STRING'("water_person"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that "person15" isa '$STRING' neighbor "water_person" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( neighbor('$STRING'("person15"),'$STRING'("water_person"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("water_person"),'$STRING'("Drinks"),'$STRING'("water"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; ---------------------------------------------------------------") 15:59:22 %~ comment("; Assorted supplemental facts. These are somehow implicit in the") 15:59:22 %~ comment("; problem statement. We'd mostly like to derive these, from more") 15:59:22 %~ comment("; basic assumptions, but, for now, we'l just state them.") 15:59:22 %~ comment(";") 15:59:22 %~ comment("; A supplemental fact for fact 4: someone lives in the white house.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'("white house")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s('[|]'(white,'[|]'(house,[])))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house]))) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("person4"),'$STRING'("LivesIn"),'$STRING'(s([white,house])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; Supplemental fact: someone keeps fish.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish")) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( fact('$STRING'("fish_person"),'$STRING'("Keeps"),'$STRING'("fish"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; State some implicitly assumed facts about neighboring houses") 15:59:22 %~ comment("; This is the 'successor' function for ordinal numbers.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( define( successor(house1,house2), 15:59:22 %~ 'EvaluationLink'( stv(1,1), 15:59:22 %~ PredicateNode( '$STRING'("Successor")), 15:59:22 %~ 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2)))) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(define(successor(house1,house2),'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that house1 successor house2 define 'EvaluationLink'(stv(1,1),'PredicateNode'('$STRING'("Successor")),'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))) 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( define( successor(house1,house2), 15:59:22 'EvaluationLink'( stv(1,1), 15:59:22 PredicateNode( '$STRING'("Successor")), 15:59:22 'ListLink'('ConceptNode'(house1),'ConceptNode'(house2))))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( successor('$STRING'("101 Main Street"),'$STRING'("102 Main Street")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "101 Main Street" isa '$STRING' successor "102 Main Street" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(successor('$STRING'(s(['101',iMain,tSumoStreet])),'$STRING'(s(['102',iMain,tSumoStreet])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that '101' iMain tSumoStreet isa s isa '$STRING' successor '102' iMain tSumoStreet isa s isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( successor( 15:59:22 $STRING( s( ['101',iMain,tSumoStreet])), 15:59:22 $STRING( s( ['102',iMain,tSumoStreet])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( successor('$STRING'("102 Main Street"),'$STRING'("103 Main Street")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "102 Main Street" isa '$STRING' successor "103 Main Street" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('102','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(successor('$STRING'(s(['102',iMain,tSumoStreet])),'$STRING'(s(['103',iMain,tSumoStreet])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that '102' iMain tSumoStreet isa s isa '$STRING' successor '103' iMain tSumoStreet isa s isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( successor( 15:59:22 $STRING( s( ['102',iMain,tSumoStreet])), 15:59:22 $STRING( s( ['103',iMain,tSumoStreet])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( successor('$STRING'("103 Main Street"),'$STRING'("104 Main Street")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "103 Main Street" isa '$STRING' successor "104 Main Street" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('103','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(successor('$STRING'(s(['103',iMain,tSumoStreet])),'$STRING'(s(['104',iMain,tSumoStreet])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that '103' iMain tSumoStreet isa s isa '$STRING' successor '104' iMain tSumoStreet isa s isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( successor( 15:59:22 $STRING( s( ['103',iMain,tSumoStreet])), 15:59:22 $STRING( s( ['104',iMain,tSumoStreet])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( successor('$STRING'("104 Main Street"),'$STRING'("105 Main Street")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "104 Main Street" isa '$STRING' successor "105 Main Street" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(successor('$STRING'(s('[|]'('104','[|]'(iMain,'[|]'(tSumoStreet,[]))))),'$STRING'(s('[|]'('105','[|]'(iMain,'[|]'(tSumoStreet,[]))))))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(successor('$STRING'(s(['104',iMain,tSumoStreet])),'$STRING'(s(['105',iMain,tSumoStreet])))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that '104' iMain tSumoStreet isa s isa '$STRING' successor '105' iMain tSumoStreet isa s isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( successor( 15:59:22 $STRING( s( ['104',iMain,tSumoStreet])), 15:59:22 $STRING( s( ['105',iMain,tSumoStreet])))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ comment("; ---------------------------------------------------------------") 15:59:22 %~ comment("; By-process-of-elimination facts") 15:59:22 %~ comment("; If person doesn''t live in one of the four houses, they must live in") 15:59:22 %~ comment("; the fifth. Likewsie, if person doesn''t smoke/drink/keep one of the four,") 15:59:22 %~ comment("; they must have the fifth.") 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( define('is-a'(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y))) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ x 'is-a' y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ azzert_rename('is-a',isA) 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that x isA y define x isa 'ConceptNode' 'InheritanceLink' y isa 'ConceptNode' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( define(isA(x,y),'InheritanceLink'('ConceptNode'(x),'ConceptNode'(y)))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("red house"),'$STRING'("house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("red house"),'$STRING'("house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("red house"),'$STRING'("house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "red house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(red,'[|]'(house,[])))),'$STRING'("house"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that red house isa s isa '$STRING' isA "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( isA('$STRING'(s([red,house])),'$STRING'("house"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("white house"),'$STRING'("house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("white house"),'$STRING'("house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("white house"),'$STRING'("house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "white house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(white,'[|]'(house,[])))),'$STRING'("house"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that white house isa s isa '$STRING' isA "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( isA('$STRING'(s([white,house])),'$STRING'("house"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("green house"),'$STRING'("house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("green house"),'$STRING'("house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("green house"),'$STRING'("house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "green house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(green,'[|]'(house,[])))),'$STRING'("house"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that green house isa s isa '$STRING' isA "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( isA('$STRING'(s([green,house])),'$STRING'("house"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success( common_logic_loader, 15:59:22 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("yellow house"),'$STRING'("house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("yellow house"),'$STRING'("house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("yellow house"),'$STRING'("house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "yellow house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(yellow,'[|]'(house,[])))),'$STRING'("house"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that yellow house isa s isa '$STRING' isA "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( isA('$STRING'(s([yellow,house])),'$STRING'("house"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("blue house"),'$STRING'("house")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("blue house"),'$STRING'("house")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("blue house"),'$STRING'("house")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ "blue house" isa '$STRING' 'is-a' "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(blue,'[|]'(house,[])))),'$STRING'("house"))) 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 % Results in the following 1 entailment(s): 15:59:22 nesc(isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:59:22 15:59:22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 %~ it is necessarily true that blue house isa s isa '$STRING' isA "house" isa '$STRING' 15:59:22 %~ 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:22 15:59:22 nesc( isA('$STRING'(s([blue,house])),'$STRING'("house"))). 15:59:22 15:59:22 ============================================ 15:59:22 %~ debugm( common_logic_loader, 15:59:22 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("water"),'$STRING'("drink")))))) 15:59:22 15:59:22 15:59:22 15:59:22 15:59:22 ======================================================= 15:59:22 'is-a'('$STRING'("water"),'$STRING'("drink")) 15:59:22 ============================================ 15:59:22 15:59:22 15:59:22 ?- kif_to_boxlog( 'is-a'('$STRING'("water"),'$STRING'("drink")) ). 15:59:22 15:59:22 15:59:22 15:59:22 % In English: 15:59:22 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "water" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("water"),'$STRING'("drink"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("water"),'$STRING'("drink"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "water" isa '$STRING' isA "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("water"),'$STRING'("drink"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("milk"),'$STRING'("drink")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("milk"),'$STRING'("drink")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("milk"),'$STRING'("drink")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "milk" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("milk"),'$STRING'("drink"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("milk"),'$STRING'("drink"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "milk" isa '$STRING' isA "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("milk"),'$STRING'("drink"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("bier"),'$STRING'("drink")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("bier"),'$STRING'("drink")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("bier"),'$STRING'("drink")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "bier" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("bier"),'$STRING'("drink"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("bier"),'$STRING'("drink"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "bier" isa '$STRING' isA "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("bier"),'$STRING'("drink"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("coffee"),'$STRING'("drink")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("coffee"),'$STRING'("drink")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("coffee"),'$STRING'("drink")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "coffee" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("coffee"),'$STRING'("drink"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("coffee"),'$STRING'("drink"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "coffee" isa '$STRING' isA "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("coffee"),'$STRING'("drink"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("tea"),'$STRING'("drink")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("tea"),'$STRING'("drink")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("tea"),'$STRING'("drink")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "tea" isa '$STRING' 'is-a' "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("tea"),'$STRING'("drink"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("tea"),'$STRING'("drink"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "tea" isa '$STRING' isA "drink" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("tea"),'$STRING'("drink"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Prince"),'$STRING'("tobacco")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Prince"),'$STRING'("tobacco")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Prince" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Prince"),'$STRING'("tobacco"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Prince" isa '$STRING' isA "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Prince"),'$STRING'("tobacco"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("PallMall"),'$STRING'("tobacco")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("PallMall"),'$STRING'("tobacco")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "PallMall" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("PallMall"),'$STRING'("tobacco"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "PallMall" isa '$STRING' isA "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("PallMall"),'$STRING'("tobacco"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Dunhill"),'$STRING'("tobacco")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Dunhill" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Dunhill" isa '$STRING' isA "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Dunhill"),'$STRING'("tobacco"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Blend"),'$STRING'("tobacco")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Blend"),'$STRING'("tobacco")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Blend" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Blend"),'$STRING'("tobacco"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Blend" isa '$STRING' isA "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Blend"),'$STRING'("tobacco"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Blue Master"),'$STRING'("tobacco")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Blue Master" isa '$STRING' 'is-a' "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'(s('[|]'(tSumoBlue,'[|]'('Master',[])))),'$STRING'("tobacco"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that tSumoBlue 'Master' isa s isa '$STRING' isA "tobacco" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'(s([tSumoBlue,'Master'])),'$STRING'("tobacco"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("fish"),'$STRING'("keeps_as_pet")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "fish" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "fish" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("fish"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("dogs"),'$STRING'("keeps_as_pet")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "dogs" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "dogs" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("dogs"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("birds"),'$STRING'("keeps_as_pet")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "birds" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "birds" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("birds"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("cats"),'$STRING'("keeps_as_pet")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "cats" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "cats" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("cats"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("horses"),'$STRING'("keeps_as_pet")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "horses" isa '$STRING' 'is-a' "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "horses" isa '$STRING' isA "keeps_as_pet" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("horses"),'$STRING'("keeps_as_pet"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Englishman"),'$STRING'("citizenship")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Englishman" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Englishman"),'$STRING'("citizenship"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Englishman" isa '$STRING' isA "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Englishman"),'$STRING'("citizenship"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Swede"),'$STRING'("citizenship")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Swede"),'$STRING'("citizenship")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Swede" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Swede"),'$STRING'("citizenship"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Swede" isa '$STRING' isA "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Swede"),'$STRING'("citizenship"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('is-a'('$STRING'("Dane"),'$STRING'("citizenship")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Dane"),'$STRING'("citizenship")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Dane" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Dane"),'$STRING'("citizenship"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Dane" isa '$STRING' isA "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Dane"),'$STRING'("citizenship"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("Norwegian"),'$STRING'("citizenship")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "Norwegian" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "Norwegian" isa '$STRING' isA "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("Norwegian"),'$STRING'("citizenship"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( 'is-a'('$STRING'("German"),'$STRING'("citizenship")))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 'is-a'('$STRING'("German"),'$STRING'("citizenship")) 15:59:23 ============================================ 15:59:23 15:59:23 15:59:23 ?- kif_to_boxlog( 'is-a'('$STRING'("German"),'$STRING'("citizenship")) ). 15:59:23 15:59:23 15:59:23 15:59:23 % In English: 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ "German" isa '$STRING' 'is-a' "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ kif_to_boxlog_attvars2 = necessary(isA('$STRING'("German"),'$STRING'("citizenship"))) 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 % Results in the following 1 entailment(s): 15:59:23 nesc(isA('$STRING'("German"),'$STRING'("citizenship"))). 15:59:23 15:59:23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 %~ it is necessarily true that "German" isa '$STRING' isA "citizenship" isa '$STRING' 15:59:23 %~ 15:59:23 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:23 15:59:23 nesc( isA('$STRING'("German"),'$STRING'("citizenship"))). 15:59:23 15:59:23 ============================================ 15:59:23 %~ comment(";") 15:59:23 %~ comment("; deduct-keep.scm") 15:59:23 %~ comment(";") 15:59:23 %~ comment("; Print out who keeps what") 15:59:23 %~ comment(";") 15:59:23 %~ comment("; Part of the \"Einstein puzzle\" demo.") 15:59:23 %~ debugm( common_logic_loader, 15:59:23 %~ show_success( common_logic_loader, 15:59:23 %~ common_logic_loader : ain( clif( define( 'print-ownership', 15:59:23 %~ 'BindLink'( 15:59:23 %~ 'VariableList'( 15:59:23 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:59:23 %~ VariableNode( '$STRING'("$nationality")), 15:59:23 %~ VariableNode( '$STRING'("$house")), 15:59:23 %~ VariableNode( '$STRING'("$pet"))), 15:59:23 %~ 'AndLink'( 15:59:23 %~ 'EvaluationLink'( 15:59:23 %~ PredicateNode( '$STRING'("Nationality")), 15:59:23 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:59:23 %~ 'EvaluationLink'( 15:59:23 %~ PredicateNode( '$STRING'("LivesIn")), 15:59:23 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:59:23 %~ 'EvaluationLink'( 15:59:23 %~ PredicateNode( '$STRING'("KeepsPet")), 15:59:23 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:59:23 %~ 'OrderedLink'( 15:59:23 %~ VariableNode( '$STRING'("$person")), 15:59:23 %~ VariableNode( '$STRING'("$nationality")), 15:59:23 %~ VariableNode( '$STRING'("$house")), 15:59:23 %~ VariableNode( '$STRING'("$pet"))))))))) 15:59:23 15:59:23 15:59:23 15:59:23 15:59:23 ======================================================= 15:59:23 define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('print-ownership','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'print-ownership' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('print-ownership',printOwnership) 15:59:24 %~ azzert_rename('VariableList',ftVariableList) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(printOwnership,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that printOwnership define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet"))),'AndLink'('EvaluationLink'('PredicateNode'('$STRING'("Nationality")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))),'EvaluationLink'('PredicateNode'('$STRING'("LivesIn")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))),'EvaluationLink'('PredicateNode'('$STRING'("KeepsPet")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")),'VariableNode'('$STRING'("$house")),'VariableNode'('$STRING'("$pet")))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define( printOwnership, 15:59:24 'BindLink'( 15:59:24 ftVariableList( 15:59:24 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:59:24 VariableNode( '$STRING'("$nationality")), 15:59:24 VariableNode( '$STRING'("$house")), 15:59:24 VariableNode( '$STRING'("$pet"))), 15:59:24 'AndLink'( 15:59:24 'EvaluationLink'( 15:59:24 PredicateNode( '$STRING'("Nationality")), 15:59:24 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$nationality")))), 15:59:24 'EvaluationLink'( 15:59:24 PredicateNode( '$STRING'("LivesIn")), 15:59:24 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$house")))), 15:59:24 'EvaluationLink'( 15:59:24 PredicateNode( '$STRING'("KeepsPet")), 15:59:24 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pet"))))), 15:59:24 'OrderedLink'( 15:59:24 VariableNode( '$STRING'("$person")), 15:59:24 VariableNode( '$STRING'("$nationality")), 15:59:24 VariableNode( '$STRING'("$house")), 15:59:24 VariableNode( '$STRING'("$pet")))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; variable declarations") 15:59:24 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define( 'print-results', 15:59:24 %~ 'BindLink'( 15:59:24 %~ 'VariableList'( 15:59:24 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:59:24 %~ VariableNode( '$STRING'("$pred")), 15:59:24 %~ 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:59:24 %~ AndLink( 'EvaluationLink'( 15:59:24 %~ VariableNode( '$STRING'("$pred")), 15:59:24 %~ 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:59:24 %~ 'OrderedLink'( 15:59:24 %~ VariableNode( '$STRING'("$person")), 15:59:24 %~ VariableNode( '$STRING'("$pred")), 15:59:24 %~ VariableNode( '$STRING'("$attr"))))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('print-results','BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr"))))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'print-results' define 'BindLink'('VariableList'('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('print-results',printResults) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(printResults,'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that printResults define 'BindLink'(ftVariableList('TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))),'VariableNode'('$STRING'("$pred")),'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))),'AndLink'('EvaluationLink'('VariableNode'('$STRING'("$pred")),'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))),'OrderedLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$pred")),'VariableNode'('$STRING'("$attr")))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define( printResults, 15:59:24 'BindLink'( 15:59:24 ftVariableList( 15:59:24 'TypedVariableLink'('VariableNode'('$STRING'("$person")),'TypeNode'('$STRING'("FeatureNode"))), 15:59:24 VariableNode( '$STRING'("$pred")), 15:59:24 'TypedVariableLink'('VariableNode'('$STRING'("$attr")),'TypeNode'('$STRING'("ConceptNode")))), 15:59:24 AndLink( 'EvaluationLink'( 15:59:24 VariableNode( '$STRING'("$pred")), 15:59:24 'ListLink'('VariableNode'('$STRING'("$person")),'VariableNode'('$STRING'("$attr"))))), 15:59:24 'OrderedLink'( 15:59:24 VariableNode( '$STRING'("$person")), 15:59:24 VariableNode( '$STRING'("$pred")), 15:59:24 VariableNode( '$STRING'("$attr")))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; variable declarations") 15:59:24 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:24 %~ comment(";") 15:59:24 %~ comment("; deduct-rules.scm") 15:59:24 %~ comment(";") 15:59:24 %~ comment("; Deduction rules for Einstein puzzle.") 15:59:24 %~ comment(";") 15:59:24 %~ comment("; The rules here are written in a fashion as close as possible to") 15:59:24 %~ comment("; 'ordinary' common-sense deductive rules. In particular, they are") 15:59:24 %~ comment("; not written to predispose the problem into a 5x5 solution grid") 15:59:24 %~ comment("; (although this is what they eventually must lead to). In other") 15:59:24 %~ comment("; words, there is no effort made to make this the most \"efficient\"") 15:59:24 %~ comment("; possible set of rules; instead, they''re the most \"natural\" or") 15:59:24 %~ comment("; \"common-sense-like\" for this task.") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif('use-modules'(srfi('srfi-1')))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 'use-modules'(srfi('srfi-1')) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( 'use-modules'(srfi('srfi-1')) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'srfi-1' isa srfi isa 'use-modules' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('use-modules',useModules) 15:59:24 %~ azzert_rename('srfi-1',srfi_1) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(useModules(srfi(srfi_1))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(useModules(srfi(srfi_1))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that srfi_1 isa srfi isa useModules 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( useModules( srfi(srfi_1))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; Define simple truth value") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define(stv(mean,conf),'cog-new-stv'(mean,conf)))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define(stv(mean,conf),'cog-new-stv'(mean,conf)) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define(stv(mean,conf),'cog-new-stv'(mean,conf)) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ mean stv conf define mean 'cog-new-stv' conf 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(stv(mean,conf),cogNewStv(mean,conf))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(stv(mean,conf),cogNewStv(mean,conf))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that mean stv conf define mean cogNewStv conf 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define(stv(mean,conf),cogNewStv(mean,conf))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; Shorthand for the node types") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('VN','VariableNode'))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('VN','VariableNode') 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('VN','VariableNode') ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'VN' define 'VariableNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define('VN','VariableNode')) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define('VN','VariableNode')). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that 'VN' define 'VariableNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define('VN','VariableNode')). 15:59:24 15:59:24 ============================================ 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('PN','PredicateNode'))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('PN','PredicateNode') 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('PN','PredicateNode') ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'PN' define 'PredicateNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define('PN','PredicateNode')) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define('PN','PredicateNode')). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that 'PN' define 'PredicateNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define('PN','PredicateNode')). 15:59:24 15:59:24 ============================================ 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('CN','ConceptNode'))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('CN','ConceptNode') 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('CN','ConceptNode') ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'CN' define 'ConceptNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define('CN','ConceptNode')) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define('CN','ConceptNode')). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that 'CN' define 'ConceptNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define('CN','ConceptNode')). 15:59:24 15:59:24 ============================================ 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success(common_logic_loader,common_logic_loader:ain(clif(define('AN','FeatureNode'))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('AN','FeatureNode') 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('AN','FeatureNode') ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'AN' define 'FeatureNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define('AN','FeatureNode')) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define('AN','FeatureNode')). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that 'AN' define 'FeatureNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define('AN','FeatureNode')). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment(" AvatarNode") 15:59:24 %~ comment("; Predicate clause specifies a predicate that associates attribute to person") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3)))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that clause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define(clause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),t3(v3))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; Predicate clause negating the third attribute.") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('not-clause'(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3))))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'not-clause'(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('not-clause',notClause) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that notClause(t1,v1,t2,v2,t3,v3) define v1 isa t1 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 isa 'NotLink' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define(notClause(t1,v1,t2,v2,t3,v3),'EvaluationLink'(t1(v1),'ListLink'(t2(v2),'NotLink'(t3(v3)))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; Predicate clause, asserting that v2 and v3 are different atoms.") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define( differ(t2,v2,t3,v3), 15:59:24 %~ 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3)))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(differ(t2,v2,t3,v3),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that differ(t2,v2,t3,v3) define "c++:exclusive" isa '$STRING' isa 'GroundedPredicateNode' 'EvaluationLink' v2 isa t2 'ListLink' v3 isa t3 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define( differ(t2,v2,t3,v3), 15:59:24 'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'(t2(v2),t3(v3))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; Declare a variable var to be of type type") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('decl-var'(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ type 'decl-var' var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('decl-var',declVar) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that type declVar var define var isa 'VariableNode' 'TypedVariableLink' type isa 'TypeNode' 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define(declVar(type,var),'TypedVariableLink'('VariableNode'(var),'TypeNode'(type)))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; ---------------------------------------------------------------------") 15:59:24 %~ comment("; \"Is the same person\" deduction rule.") 15:59:24 %~ comment("; If person A and person B both share the same predicate and property,") 15:59:24 %~ comment("; then they must be the same person.") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define( 'is-same-rule', 15:59:24 %~ 'BindLink'( 15:59:24 %~ 'VariableList'( 15:59:24 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:24 %~ 'AndLink'( 15:59:24 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:24 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:59:24 %~ AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:59:24 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('is-same-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'is-same-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('is-same-rule',isSameRule) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(isSameRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that isSameRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")),'AbsentLink'(clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define( isSameRule, 15:59:24 'BindLink'( 15:59:24 ftVariableList( 15:59:24 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:24 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:24 'AndLink'( 15:59:24 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:24 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")), 15:59:24 AbsentLink( clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:59:24 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; variable declarations") 15:59:24 %~ comment("; body -- if all parts of AndLink hold true ... ") 15:59:24 %~ comment("; Avoid reporting things we already know.") 15:59:24 %~ comment("; Basically, if we already know that person A and B") 15:59:24 %~ comment("; are the same person, then lets not deduce it again.") 15:59:24 %~ comment("; This not link is identical to the conclusion below") 15:59:24 %~ comment("; implicand -- then the following is true too") 15:59:24 %~ comment("; ---------------------------------------------------------------------") 15:59:24 %~ comment("; Transitive deduction rule.") 15:59:24 %~ comment(";") 15:59:24 %~ comment("; If attribute X holds for person A, and person A is same as person B") 15:59:24 %~ comment("; then attribute X also holds for person B.") 15:59:24 %~ debugm( common_logic_loader, 15:59:24 %~ show_success( common_logic_loader, 15:59:24 %~ common_logic_loader : ain( clif( define( 'transitive-rule', 15:59:24 %~ 'BindLink'( 15:59:24 %~ 'VariableList'( 15:59:24 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:24 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:24 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:24 %~ 'AndLink'( 15:59:24 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:24 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:24 %~ AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:24 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:59:24 15:59:24 15:59:24 15:59:24 15:59:24 ======================================================= 15:59:24 define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:59:24 ============================================ 15:59:24 15:59:24 15:59:24 ?- kif_to_boxlog( define('transitive-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:59:24 15:59:24 15:59:24 15:59:24 % In English: 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ 'transitive-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ azzert_rename('transitive-rule',transitiveRule) 15:59:24 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 % Results in the following 1 entailment(s): 15:59:24 nesc(define(transitiveRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:24 15:59:24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 %~ it is necessarily true that transitiveRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:24 %~ 15:59:24 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:24 15:59:24 nesc( define( transitiveRule, 15:59:24 'BindLink'( 15:59:24 ftVariableList( 15:59:24 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:24 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:24 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:24 'AndLink'( 15:59:24 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:24 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:24 AbsentLink( clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:24 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:24 15:59:24 ============================================ 15:59:24 %~ comment("; variable declarations") 15:59:24 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:24 %~ comment("; Don''t deduce thigs we already know...") 15:59:24 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:59:24 %~ comment("; implicand -- then the following is true too") 15:59:24 %~ comment("; ---------------------------------------------------------------------") 15:59:24 %~ comment("; Transitive-not deduction rule.") 15:59:24 %~ comment(";") 15:59:24 %~ comment("; If attribute X doesn''t hold for person A, and person A is same as person B") 15:59:25 %~ comment("; then attribute X also doesn''t hold for person B.") 15:59:25 %~ comment(";") 15:59:25 %~ comment("; Very similar to above") 15:59:25 %~ debugm( common_logic_loader, 15:59:25 %~ show_success( common_logic_loader, 15:59:25 %~ common_logic_loader : ain( clif( define( 'transitive-not-rule', 15:59:25 %~ 'BindLink'( 15:59:25 %~ 'VariableList'( 15:59:25 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:25 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:25 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:25 %~ 'AndLink'( 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:25 %~ clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:25 %~ AbsentLink( 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:59:25 15:59:25 15:59:25 15:59:25 15:59:25 ======================================================= 15:59:25 define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:59:25 ============================================ 15:59:25 15:59:25 15:59:25 ?- kif_to_boxlog( define('transitive-not-rule','BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:59:25 15:59:25 15:59:25 15:59:25 % In English: 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ 'transitive-not-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:25 %~ 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ azzert_rename('transitive-not-rule',transitiveNotRule) 15:59:25 %~ kif_to_boxlog_attvars2 = necessary(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 % Results in the following 1 entailment(s): 15:59:25 nesc(define(transitiveNotRule,'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ it is necessarily true that transitiveNotRule define 'BindLink'(ftVariableList(declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:25 %~ 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 15:59:25 nesc( define( transitiveNotRule, 15:59:25 'BindLink'( 15:59:25 ftVariableList( 15:59:25 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:25 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:25 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:25 'AndLink'( 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:25 clause('PN','$STRING'("IsSamePerson"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:25 AbsentLink( notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:25 15:59:25 ============================================ 15:59:25 %~ comment("; variable declarations") 15:59:25 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:25 %~ comment("; Don''t deduce thigs we already know...") 15:59:25 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:59:25 %~ comment("; implicand -- then the following is true too") 15:59:25 %~ comment("; ---------------------------------------------------------------------") 15:59:25 %~ comment("; elimination") 15:59:25 %~ debugm( common_logic_loader, 15:59:25 %~ show_success( common_logic_loader, 15:59:25 %~ common_logic_loader : ain( clif( define( 'by-elimination-rule', 15:59:25 %~ 'BindLink'( 15:59:25 %~ 'VariableList'( 15:59:25 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")), 15:59:25 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))), 15:59:25 %~ 'AndLink'( 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")), 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")), 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")), 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")), 15:59:25 %~ 'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))), 15:59:25 %~ 'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))), 15:59:25 %~ 'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))), 15:59:25 %~ 'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))), 15:59:25 %~ 'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))), 15:59:25 %~ 'EvaluationLink'( 15:59:25 %~ GroundedPredicateNode( '$STRING'("c++:exclusive")), 15:59:25 %~ 'ListLink'( 15:59:25 %~ VN( '$STRING'("$attr_a")), 15:59:25 %~ VN( '$STRING'("$attr_b")), 15:59:25 %~ VN( '$STRING'("$attr_c")), 15:59:25 %~ VN( '$STRING'("$attr_d")), 15:59:25 %~ VN( '$STRING'("$attr_e"))))), 15:59:25 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))))))) 15:59:25 15:59:25 15:59:25 15:59:25 15:59:25 ======================================================= 15:59:25 define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) 15:59:25 ============================================ 15:59:25 15:59:25 15:59:25 ?- kif_to_boxlog( define('by-elimination-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e")))) ). 15:59:25 15:59:25 15:59:25 15:59:25 % In English: 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ 'by-elimination-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_c")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_d")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_e")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:59:25 %~ 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ azzert_rename('by-elimination-rule',byEliminationRule) 15:59:25 %~ kif_to_boxlog_attvars2 = necessary(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))) 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 % Results in the following 1 entailment(s): 15:59:25 nesc(define(byEliminationRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))). 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ it is necessarily true that byEliminationRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")),declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))),'AndLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")),'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))),'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))),'EvaluationLink'('GroundedPredicateNode'('$STRING'("c++:exclusive")),'ListLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_e"))))),clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))) 15:59:25 %~ 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 15:59:25 nesc( define( byEliminationRule, 15:59:25 'BindLink'( 15:59:25 ftVariableList( 15:59:25 declVar('$STRING'("FeatureNode"),'$STRING'("$person")), 15:59:25 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_a")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_b")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_c")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_d")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_e")), 15:59:25 declVar('$STRING'("ConceptNode"),'$STRING'("$attr_type"))), 15:59:25 'AndLink'( 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_a")), 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_b")), 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_c")), 15:59:25 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_d")), 15:59:25 'InheritanceLink'('VN'('$STRING'("$attr_a")),'VN'('$STRING'("$attr_type"))), 15:59:25 'InheritanceLink'('VN'('$STRING'("$attr_b")),'VN'('$STRING'("$attr_type"))), 15:59:25 'InheritanceLink'('VN'('$STRING'("$attr_c")),'VN'('$STRING'("$attr_type"))), 15:59:25 'InheritanceLink'('VN'('$STRING'("$attr_d")),'VN'('$STRING'("$attr_type"))), 15:59:25 'InheritanceLink'('VN'('$STRING'("$attr_e")),'VN'('$STRING'("$attr_type"))), 15:59:25 'EvaluationLink'( 15:59:25 GroundedPredicateNode( '$STRING'("c++:exclusive")), 15:59:25 'ListLink'( 15:59:25 VN( '$STRING'("$attr_a")), 15:59:25 VN( '$STRING'("$attr_b")), 15:59:25 VN( '$STRING'("$attr_c")), 15:59:25 VN( '$STRING'("$attr_d")), 15:59:25 VN( '$STRING'("$attr_e"))))), 15:59:25 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person"),'VN','$STRING'("$attr_e"))))). 15:59:25 15:59:25 ============================================ 15:59:25 %~ comment("; variable declarations") 15:59:25 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:25 %~ comment("; If person does NOT have atttribute a,b,c or d ...") 15:59:25 %~ comment("; and the attributes a,b,c,d,e are all of the same kind") 15:59:25 %~ comment("; and attributes a,b,c,d,e are all different from one-another") 15:59:25 %~ comment("; Don''t deduce thigs we already know...") 15:59:25 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:59:25 %~ comment("(AbsentLink") 15:59:25 %~ comment("\t(clause VN \"$predicate\" VN \"$person\" VN \"$attr_e\")") 15:59:25 %~ comment(")") 15:59:25 %~ comment("; implicand -- then the following is true too") 15:59:25 %~ comment("; Then by elimination, person must have attribute e.") 15:59:25 %~ comment("; ---------------------------------------------------------------------") 15:59:25 %~ comment("; distinct-attr rule.") 15:59:25 %~ comment("; If, for a given attribute, person a and person b take on different") 15:59:25 %~ comment("; values, then they cannot be the same person. Therefore, any other") 15:59:25 %~ comment("; attributes they have must also be exclusive.") 15:59:25 %~ debugm( common_logic_loader, 15:59:25 %~ show_success( common_logic_loader, 15:59:25 %~ common_logic_loader : ain( clif( define( 'distinct-attr-rule', 15:59:25 %~ 'BindLink'( 15:59:25 %~ 'VariableList'( 15:59:25 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:25 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:25 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")), 15:59:25 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")), 15:59:25 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))), 15:59:25 %~ 'AndLink'( 15:59:25 %~ clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")), 15:59:25 %~ clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")), 15:59:25 %~ differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")), 15:59:25 %~ clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))), 15:59:25 %~ 'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))))))) 15:59:25 15:59:25 15:59:25 15:59:25 15:59:25 ======================================================= 15:59:25 define('distinct-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))) 15:59:25 ============================================ 15:59:25 15:59:25 15:59:25 ?- kif_to_boxlog( define('distinct-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl")))) ). 15:59:25 15:59:25 15:59:25 15:59:25 % In English: 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ 'distinct-attr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),'not-clause'('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))) 15:59:25 %~ 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ azzert_rename('distinct-attr-rule',distinctAttrRule) 15:59:25 %~ kif_to_boxlog_attvars2 = necessary(define(distinctAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))) 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 % Results in the following 1 entailment(s): 15:59:25 nesc(define(distinctAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))). 15:59:25 15:59:25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:25 %~ it is necessarily true that distinctAttrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))),'AndLink'(clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")),clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")),differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")),clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))),notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 15:59:26 nesc( define( distinctAttrRule, 15:59:26 'BindLink'( 15:59:26 ftVariableList( 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_common")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_a")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_comm_b")), 15:59:26 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate_exclusive")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute_excl"))), 15:59:26 'AndLink'( 15:59:26 clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_comm_a")), 15:59:26 clause('VN','$STRING'("$predicate_common"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_comm_b")), 15:59:26 differ('VN','$STRING'("$attribute_comm_a"),'VN','$STRING'("$attribute_comm_b")), 15:59:26 clause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute_excl"))), 15:59:26 notClause('VN','$STRING'("$predicate_exclusive"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute_excl"))))). 15:59:26 15:59:26 ============================================ 15:59:26 %~ comment("; variable declarations") 15:59:26 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:26 %~ comment("; Don''t deduce thigs we already know...") 15:59:26 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:59:26 %~ comment("(AbsentLink") 15:59:26 %~ comment("\t(not-clause VN \"$predicate_exclusive\" VN \"$person_b\" VN \"$attribute_excl\")") 15:59:26 %~ comment(")") 15:59:26 %~ comment("; implicand -- then the following is true too") 15:59:26 %~ comment("; ---------------------------------------------------------------------") 15:59:26 %~ comment("; neighbor-not-attr rule.") 15:59:26 %~ comment("; If some attribute holds true for a person, it cannot hold for the") 15:59:26 %~ comment("; person''s neighbor.") 15:59:26 %~ debugm( common_logic_loader, 15:59:26 %~ show_success( common_logic_loader, 15:59:26 %~ common_logic_loader : ain( clif( define( 'neighbor-not-attr-rule', 15:59:26 %~ 'BindLink'( 15:59:26 %~ 'VariableList'( 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 %~ 'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:26 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:26 %~ 'AndLink'( 15:59:26 %~ clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:26 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:26 %~ AbsentLink( 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:26 %~ 'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))))))) 15:59:26 15:59:26 15:59:26 15:59:26 15:59:26 ======================================================= 15:59:26 define('neighbor-not-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) 15:59:26 ============================================ 15:59:26 15:59:26 15:59:26 ?- kif_to_boxlog( define('neighbor-not-attr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))) ). 15:59:26 15:59:26 15:59:26 15:59:26 % In English: 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ 'neighbor-not-attr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("PredicateNode"),'$STRING'("$predicate")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'('not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),'not-clause'('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ azzert_rename('neighbor-not-attr-rule',neighborNotAttrRule) 15:59:26 %~ kif_to_boxlog_attvars2 = necessary(define(neighborNotAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))) 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 % Results in the following 1 entailment(s): 15:59:26 nesc(define(neighborNotAttrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ it is necessarily true that neighborNotAttrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")),declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))),'AndLink'(clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),'AbsentLink'(notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))),notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 15:59:26 nesc( define( neighborNotAttrRule, 15:59:26 'BindLink'( 15:59:26 ftVariableList( 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 declVar('$STRING'("PredicateNode"),'$STRING'("$predicate")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$attribute"))), 15:59:26 'AndLink'( 15:59:26 clause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_a"),'VN','$STRING'("$attribute")), 15:59:26 clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:26 AbsentLink( notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute")))), 15:59:26 notClause('VN','$STRING'("$predicate"),'VN','$STRING'("$person_b"),'VN','$STRING'("$attribute"))))). 15:59:26 15:59:26 ============================================ 15:59:26 %~ comment("; variable declarations") 15:59:26 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:26 %~ comment("; Don''t deduce thigs we already know...") 15:59:26 %~ comment("; i.e. this not link is identical to conclusion, below.") 15:59:26 %~ comment("; implicand -- then the following is true too") 15:59:26 %~ comment("; ---------------------------------------------------------------------") 15:59:26 %~ comment("; Houses at the end of the street can only have one neighbor, ever.") 15:59:26 %~ comment("; This is a rather narrow rule, as it can only ever apply to the first") 15:59:26 %~ comment("; address (first ordinal -- a boundary condition).") 15:59:26 %~ comment("; This is used to combine rules 9 and 14.") 15:59:26 %~ comment("; There should be a symmetric rule for the last address too ...") 15:59:26 %~ debugm( common_logic_loader, 15:59:26 %~ show_success( common_logic_loader, 15:59:26 %~ common_logic_loader : ain( clif( define( 'first-addr-rule', 15:59:26 %~ 'BindLink'( 15:59:26 %~ 'VariableList'( 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:59:26 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:59:26 %~ 'AndLink'( 15:59:26 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")), 15:59:26 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:59:26 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:26 %~ clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:59:26 %~ AbsentLink( clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))), 15:59:26 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))))))) 15:59:26 15:59:26 15:59:26 15:59:26 15:59:26 ======================================================= 15:59:26 define('first-addr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))) 15:59:26 ============================================ 15:59:26 15:59:26 15:59:26 ?- kif_to_boxlog( define('first-addr-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))) ). 15:59:26 15:59:26 15:59:26 15:59:26 % In English: 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ 'first-addr-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'("101 Main Street")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ azzert_rename('first-addr-rule',firstAddrRule) 15:59:26 %~ kif_to_boxlog_attvars2 = necessary(define(firstAddrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s('[|]'('101','[|]'(iMain,'[|]'(tSumoStreet,[])))))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))) 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 % Results in the following 1 entailment(s): 15:59:26 nesc(define(firstAddrRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s(['101',iMain,tSumoStreet]))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))). 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ it is necessarily true that firstAddrRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'CN','$STRING'(s(['101',iMain,tSumoStreet]))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 15:59:26 nesc( define( firstAddrRule, 15:59:26 'BindLink'( 15:59:26 ftVariableList( 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:59:26 'AndLink'( 15:59:26 clause( 'PN', 15:59:26 '$STRING'("Address"), 'VN','$STRING'("$person_a"),'CN', 15:59:26 $STRING( s( ['101',iMain,tSumoStreet]))), 15:59:26 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:59:26 clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")), 15:59:26 clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:59:26 AbsentLink( clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")))), 15:59:26 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b"))))). 15:59:26 15:59:26 ============================================ 15:59:26 %~ comment("; variable declarations") 15:59:26 %~ comment("; body -- if all parts of AndLink hold true ... ") 15:59:26 %~ comment("; if adress of personA is 1st house") 15:59:26 %~ comment("; and A is neighbor of B") 15:59:26 %~ comment("; and the next house is one over") 15:59:26 %~ comment("; and we don''t already know the conclusion") 15:59:26 %~ comment("; implicand -- then the B lives one house over.") 15:59:26 %~ comment("; ---------------------------------------------------------------------") 15:59:26 %~ comment("; Neighbor deduction rule.") 15:59:26 %~ comment(";") 15:59:26 %~ comment("; If Address X is left of address Y, then person who lives in X is") 15:59:26 %~ comment("; a neighbor of person who lives in Y") 15:59:26 %~ debugm( common_logic_loader, 15:59:26 %~ show_success( common_logic_loader, 15:59:26 %~ common_logic_loader : ain( clif( define( 'neighbor-rule', 15:59:26 %~ 'BindLink'( 15:59:26 %~ 'VariableList'( 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 %~ 'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:59:26 %~ 'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:59:26 %~ 'AndLink'( 15:59:26 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:59:26 %~ clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")), 15:59:26 %~ clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:59:26 %~ AbsentLink( clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:59:26 %~ clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))))))) 15:59:26 15:59:26 15:59:26 15:59:26 15:59:26 ======================================================= 15:59:26 define('neighbor-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) 15:59:26 ============================================ 15:59:26 15:59:26 15:59:26 ?- kif_to_boxlog( define('neighbor-rule','BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))) ). 15:59:26 15:59:26 15:59:26 15:59:26 % In English: 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ 'neighbor-rule' define 'BindLink'('VariableList'('decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_a")),'decl-var'('$STRING'("FeatureNode"),'$STRING'("$person_b")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_a")),'decl-var'('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ azzert_rename('neighbor-rule',neighborRule) 15:59:26 %~ kif_to_boxlog_attvars2 = necessary(define(neighborRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))) 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 % Results in the following 1 entailment(s): 15:59:26 nesc(define(neighborRule,'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:59:26 15:59:26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 %~ it is necessarily true that neighborRule define 'BindLink'(ftVariableList(declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")),declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")),declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))),'AndLink'(clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")),clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")),clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")),'AbsentLink'(clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))),clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))) 15:59:26 %~ 15:59:26 %~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15:59:26 15:59:26 nesc( define( neighborRule, 15:59:26 'BindLink'( 15:59:26 ftVariableList( 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_a")), 15:59:26 declVar('$STRING'("FeatureNode"),'$STRING'("$person_b")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_a")), 15:59:26 declVar('$STRING'("ConceptNode"),'$STRING'("$addr_b"))), 15:59:26 'AndLink'( 15:59:26 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_a"),'VN','$STRING'("$addr_a")), 15:59:26 clause('PN','$STRING'("Address"),'VN','$STRING'("$person_b"),'VN','$STRING'("$addr_b")), 15:59:26 clause('PN','$STRING'("Successor"),'VN','$STRING'("$addr_a"),'VN','$STRING'("$addr_b")), 15:59:26 AbsentLink( clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b")))), 15:59:26 clause('PN','$STRING'("Neighbor"),'VN','$STRING'("$person_a"),'VN','$STRING'("$person_b"))))). 15:59:26 15:59:26 ============================================ 15:59:26 %~ comment("; variable declarations") 15:59:26 %~ comment("; body -- if all parts of AndLink hold true ... then") 15:59:26 %~ comment(" Not interested in what we already know.") 15:59:26 %~ comment("; implicand -- then the following is true too") 15:59:26 %~ comment("; ---------------------------------------------------------------------") 15:59:26 %~ comment("; Neighbor relation is symmetric") 15:59:26 %~ comment(";") 15:59:26 %~ comment("; If A is a neighbor of B then B is a neighbor of A") 15:59:26 totalTime=10.000 15:59:26 15:59:26 FAILED: /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-junit-minor -k zebra_06.clif (returned 137) Add_LABELS='Errors,Overtime' Rem_LABELS='Skipped,Skipped,Warnings,Skipped' 15:59:26 15:59:29 ISSUE_INFO=639 OPEN logicmoo.base.examples.fol.ZEBRA_06 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_06, Failing, Errors, Overtime 2021-09-26 22:49:16 +0000 UTC 15:59:29 ISSUE_ID=639 15:59:29 ISSUE_OC=OPEN 15:59:29 Editing Issue For FAILED 639 OPEN logicmoo.base.examples.fol.ZEBRA_06 JUnit Test_9999, logicmoo.base.examples.fol, unit_test, ZEBRA_06, Failing, Errors, Overtime 2021-09-26 22:49:16 +0000 UTC 15:59:37 https://github.com/logicmoo/logicmoo_workspace/issues/639 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. zebra_02.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. zebra_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. zebra_01a.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. good_same_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_one_value_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_one_instance_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_one_has_the_value_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. clif_01.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. answerable_t_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_poss_cute_06.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_04.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. unit_projection_lem_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. tc_example_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sigma_04.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. scope_exists_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_sk_two_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_sk_human_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_poss_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_poss_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_poss_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_fi_sk_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_fi_human_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_exists_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_exists_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_exists_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_exactly_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_atmost_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_atleast_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_at_least_most_exactly_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. sanity_at_least_most_exactly_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. room_numbers_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. poss_forall_exists_05.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. poss_forall_exists_04.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. poss_forall_exists_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. poss_forall_exists_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. poss_forall_exists_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. mpred_reset_db_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_06.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_05.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_04.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. missing_count_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. make_wff_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. make_wff_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. make_types_wff_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. lefty_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. kif_sanity_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. kif_io_test_01.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. forall_quant_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. fol_cardinaity_axiomitized_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. fol_cardinaity_axiomitized_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. fol_calc_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. fol_birdt_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. family_regress_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. family_inheritance_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exists_04.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_puppy_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. einstein_simpler_05.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. einstein_simpler_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. einstein_simpler_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. dislikes_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. boxlog_sanity_04.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. boxlog_sanity_03.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. boxlog_sanity_02.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. boxlog_sanity_01.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. zenls_01z.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. nat_sane_01a.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. make_wff_01a.pfc.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. kif_io_test_01a.pl 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. holds_011.pfc 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. exactly_01p.pfc.clif 15:59:37 Warn: reached MAX_JUNIT_TESTS .. skipping .. birds_01c.pfc.pl 15:59:37 sed: can't read /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units?*-junit.xml: No such file or directory 15:59:37 <!-- 15:59:37 junit-viewer is /usr/bin/junit-viewer 15:59:37 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html &> /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer.debug.html 15:59:37 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junit-viewer-rollup.html 15:59:38 Requirement already satisfied: junit2html in /usr/local/lib/python3.9/dist-packages (30.0.6) 15:59:38 Requirement already satisfied: jinja2>=2.11.2 in /usr/local/lib/python3.9/dist-packages (from junit2html) (3.0.1) 15:59:38 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2>=2.11.2->junit2html) (2.0.1) 15:59:39 junit2html is /usr/local/bin/junit2html 15:59:39 junit2html /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.html 15:59:39 TEST_STEM_PATH=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units 15:59:39 --> 15:59:39 junit-viewer --results=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/junit-all.xml --save=/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/junit-all.html 15:59:39 Recording plot data 16:00:14 Saving plot series data from: /var/lib/jenkins/workspace/logicmoo_workspace/.dockerignore 16:00:14 Not creating point with null values: y=null label= url= 16:00:14 Publishing Coverage report.... 16:00:14 No reports were found 16:00:14 [htmlpublisher] Archiving HTML reports... 16:00:14 [htmlpublisher] Archiving at BUILD level /var/lib/jenkins/workspace/logicmoo_workspace/test_results to /var/lib/jenkins/jobs/logicmoo_workspace/builds/1/htmlreports/HTML_20Report 16:00:14 Publishing build last changes... 16:00:14 Last changes from revision 7ca50dc (current) to 7db044c (previous) published successfully! 16:00:14 Creating parser with percentiles:'0,50,90,100,' filterRegex: 16:00:14 Performance: Recording JUnit reports 'test_results/**/junit-all.xml' 16:00:14 Performance: JUnit copying reports to master, files '[/var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/junit-all.xml]' 16:00:14 Performance: JUnit parsing local reports '[/var/lib/jenkins/jobs/logicmoo_workspace/builds/1/performance-reports/JUnit/junit-all.xml]' 16:00:14 Performance: Parsing report file '/var/lib/jenkins/jobs/logicmoo_workspace/builds/1/performance-reports/JUnit/junit-all.xml' with filterRegex ''. 16:00:14 ----------------------------------------------------------- 16:00:14 There are no relative constraints to evaluate! 16:00:14 -------------- 16:00:14 There are no absolute constraints to evaluate! 16:00:14 -------------- 16:00:14 There were no failing Constraints! The build will be marked as SUCCESS 16:00:14 INFO: Processing JUnit 16:00:14 INFO: [JUnit] - 19 test report file(s) were found with the pattern 'test_results/**/*-junit.xml' relative to '/var/lib/jenkins/workspace/logicmoo_workspace' for the testing framework 'JUnit'. 16:00:14 INFO: Setting the build status to SUCCESS 16:00:14 [logicmoo] Searching for all files in '/var/lib/jenkins/workspace/logicmoo_workspace' that match the pattern 'test_results/**/junit-all.xml' 16:00:14 [logicmoo] -> found 1 file 16:00:14 [logicmoo] Successfully parsed file /var/lib/jenkins/workspace/logicmoo_workspace/test_results/jenkins/junit-all.xml 16:00:14 [logicmoo] -> found 18 issues (skipped 0 duplicates) 16:00:17 [logicmoo] Post processing issues on 'Master' with source code encoding 'UTF-8' 16:00:17 [logicmoo] Skipping SCM blames as requested 16:00:17 [logicmoo] Resolving file names for all issues in source directory '/var/lib/jenkins/workspace/logicmoo_workspace' 16:00:17 [logicmoo] -> none of the issues requires resolving of paths 16:00:17 [logicmoo] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files) 16:00:17 [logicmoo] -> resolved module names for 18 issues 16:00:17 [logicmoo] Resolving package names (or namespaces) by parsing the affected files 16:00:17 [logicmoo] -> resolved package names of 1 affected files 16:00:17 [logicmoo] No filter has been set, publishing all 18 issues 16:00:17 [logicmoo] Creating fingerprints for all affected code blocks to track issues over different builds 16:00:17 [logicmoo] -> created fingerprints for 0 issues (skipped 18 issues) 16:00:17 [logicmoo] Copying affected files to Jenkins' build folder '/var/lib/jenkins/jobs/logicmoo_workspace/builds/1/files-with-issues' 16:00:17 [logicmoo] -> 0 copied, 0 not in workspace, 18 not-found, 0 with I/O error 16:00:17 [logicmoo] Repository miner is not configured, skipping repository mining 16:00:17 [logicmoo] Reference build recorder is not configured 16:00:17 [logicmoo] Obtaining reference build from same job (logicmoo_workspace) 16:00:17 [logicmoo] No valid reference build found that meets the criteria (NO_JOB_FAILURE - SUCCESSFUL_QUALITY_GATE) 16:00:17 [logicmoo] All reported issues will be considered outstanding 16:00:17 [logicmoo] Evaluating quality gates 16:00:17 [logicmoo] -> FAILED - Total (any severity): 18 - Quality QualityGate: 1 16:00:17 [logicmoo] -> Some quality gates have been missed: overall result is FAILED 16:00:17 [logicmoo] Health report is disabled - skipping 16:00:17 [logicmoo] Created analysis result for 18 issues (found 0 new issues, fixed 0 issues) 16:00:17 [logicmoo] Attaching ResultAction with ID 'junit' to build 'logicmoo_workspace #1'. 16:00:17 [Checks API] No suitable checks publisher found. 16:00:17 Build step 'Record compiler warnings and static analysis results' changed build result to FAILURE 16:00:17 [Autograding] [-ERROR-] Autograding Jenkins build results 16:00:17 [Autograding] [-ERROR-] Invalid JSON configuration: { 16:00:17 "analysis": { 16:00:17 "maxScore": 100, 16:00:17 "errorImpact": -10, 16:00:17 "highImpact": -5, 16:00:17 "normalImpact": -2, 16:00:17 "lowImpact": -1 16:00:17 }, 16:00:17 "tests": { 16:00:17 "maxScore": 100, 16:00:17 "failureImpact": -2, 16:00:17 "skippedImpact": -1 16:00:17 }, 16:00:17 "coverage": { 16:00:17 "maxScore": 100, 16:00:17 "missedImpact": -1 16:00:17 }, 16:00:17 "pit": { 16:00:17 "maxScore": 100, 16:00:17 "undetectedImpact": -1, 16:00:17 } 16:00:17 } 16:00:17 [Autograding] Test Configuration: {"enabled":false,"maxScore":0,"failureImpact":0,"passedImpact":0,"skippedImpact":0,"disabled":true} 16:00:17 [Autograding] Skipping test results 16:00:17 [Autograding] Code Coverage Configuration: {"enabled":false,"maxScore":0,"coveredPercentageImpact":0,"missedPercentageImpact":0,"disabled":true} 16:00:17 [Autograding] Skipping code coverage results 16:00:17 [Autograding] PIT Mutation Coverage Configuration: {"enabled":false,"maxScore":0,"undetectedImpact":0,"detectedImpact":0,"undetectedPercentageImpact":0,"detectedPercentageImpact":0,"disabled":true} 16:00:17 [Autograding] Skipping mutation coverage results 16:00:17 [Autograding] Static Analysis Configuration: {"enabled":false,"maxScore":0,"errorImpact":0,"highImpact":0,"normalImpact":0,"lowImpact":0,"disabled":true} 16:00:17 [Autograding] Skipping static analysis results 16:00:17 [Checks API] No suitable checks publisher found. 16:00:17 Started calculate disk usage of build 16:00:17 Finished Calculation of disk usage of build in 0 seconds 16:00:17 Started calculate disk usage of workspace 16:00:19 Finished Calculation of disk usage of workspace in 1 second 16:00:19 Finished: FAILURE