Test Report : Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-junitCombined-rollup.tmp

Test Suite: logicmoo.base.examples.fol.ANSWERABLE_T_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ANSWERABLE_T_01

Test case:logicmoo.base.examples.fol.ANSWERABLE_T_01@Test_0001_Line_0000__asserted_t_1_in_t123: t123:test_boxlog(asserted_t(T)=>true_t(T))
Outcome:Passed
Duration:0.2 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__asserted_t_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['answerable_t_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )) . ",52)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
** here **
 v false_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",49)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )) . ",50)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
** here **
 v unknown_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . ",35)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP)
** here **
 <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
:- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",51)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP) => true_t(PROP)
ERROR: ** h
goal=t123:test_boxlog(asserted_t(_31482)=>true_t(_31482)).
time=0.17778277397155762.
passed=passed=info(why_was_true(t123:test_boxlog(asserted_t(_452)=>true_t(_452))))
no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

result=passed.

Test Suite: logicmoo.base.examples.fol.ANSWERABLE_T_01

Package: logicmoo.base.examples.fol

Results

Duration0.2 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ANSWERABLE_T_01

Test case:logicmoo.base.examples.fol.ANSWERABLE_T_01@Test_0002_Line_0000__fallacy_t_1_in_t123: t123:test_boxlog(fallacy_t(T)=>(((false_t(T)&true_t(T))& ~unknown_t(T))& ~possible_t(T)))
Outcome:Passed
Duration:0.1 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__fallacy_t_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['answerable_t_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )) . ",52)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
** here **
 v false_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",49)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )) . ",50)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
** here **
 v unknown_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . ",35)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP)
** here **
 <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
:- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",51)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" <gt;=> ~fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 <gt;=> ~fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> ~fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )) . ",48)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP) => true_t(PROP)
** here **
 v unknown_t(PROP) v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v false_t(PROP)  )) .
:- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" v fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 v fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  v fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )).
:- test_boxlog(( asserted_t(PROP) => true_t(PROP) )).
/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__asserted_t_1_in_t123",
%~       t123 : test_boxlog(asserted_t(PROP)=>true_t(PROP)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:20
%~ make_dynamic_here(t123,'$nt'(wid(rule1:0,rule,asserted_t(_11542)=>true_t(_11542)),_11554,_11556)).
%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kifm=asserted_t(PROP)=>true_t(PROP)
passed=info(why_was_true(t123:test_boxlog(asserted_t(_452)=>true_t(_452))))
no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ make_dynamic_here(t123,argIsa(asserted_t,1,_19764)).
name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0001_Line_0000__asserted_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0001_Line_0000_asserted_t_1_in_t123-junit.xml
~*/

:- test_boxlog(( fallacy_t(PROP) => false_t(PROP) & true_t(PROP) & ~unknown_t(PROP) & ~possible_t(PROP) )).  
/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__fallacy_t_1_in_t123",
%~       t123 : test_boxlog( =>( fallacy_t(PROP),
%~                             ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP))))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:21
%~ kifm = =>( fallacy_t(PROP),
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)).
%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

%~ kifm = ( fallacy_t(PROP) =>
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PRO
goal=t123:test_boxlog(fallacy_t(_74830)=>(((false_t(_74830)&true_t(_74830))& ~unknown_t(_74830))& ~possible_t(_74830))).
time=0.11689996719360352.
passed=passed=info(why_was_true(t123:test_boxlog(fallacy_t(_538)=>(((false_t(_538)&true_t(_538))& ~unknown_t(_538))& ~possible_t(_538)))))
no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

result=passed.

Test Suite: logicmoo.base.examples.fol.ANSWERABLE_T_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ANSWERABLE_T_01

Test case:logicmoo.base.examples.fol.ANSWERABLE_T_01@Test_0003_Line_0000__true_t_1_in_t123: t123:test_boxlog((true_t(T)&false_t(T))=>fallacy_t(T))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0003_Line_0000__true_t_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['answerable_t_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )) . ",52)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
** here **
 v false_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",49)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )) . ",50)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
** here **
 v unknown_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . ",35)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP)
** here **
 <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
:- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",51)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" <gt;=> ~fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 <gt;=> ~fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> ~fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )) . ",48)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP) => true_t(PROP)
** here **
 v unknown_t(PROP) v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v false_t(PROP)  )) .
:- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" v fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 v fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  v fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )).
:- test_boxlog(( asserted_t(PROP) => true_t(PROP) )).
/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__asserted_t_1_in_t123",
%~       t123 : test_boxlog(asserted_t(PROP)=>true_t(PROP)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:20
%~ make_dynamic_here(t123,'$nt'(wid(rule1:0,rule,asserted_t(_11542)=>true_t(_11542)),_11554,_11556)).
%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kifm=asserted_t(PROP)=>true_t(PROP)
passed=info(why_was_true(t123:test_boxlog(asserted_t(_452)=>true_t(_452))))
no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ make_dynamic_here(t123,argIsa(asserted_t,1,_19764)).
name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0001_Line_0000__asserted_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0001_Line_0000_asserted_t_1_in_t123-junit.xml
~*/

:- test_boxlog(( fallacy_t(PROP) => false_t(PROP) & true_t(PROP) & ~unknown_t(PROP) & ~possible_t(PROP) )).  
/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__fallacy_t_1_in_t123",
%~       t123 : test_boxlog( =>( fallacy_t(PROP),
%~                             ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP))))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:21
%~ kifm = =>( fallacy_t(PROP),
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)).
%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

%~ kifm = ( fallacy_t(PROP) =>
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)).
%~ kifm=fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP))
passed=info(why_was_true(t123:test_boxlog(fallacy_t(_538)=>(((false_t(_538)&true_t(_538))& ~unknown_t(_538))& ~possible_t(_538)))))
no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0002_Line_0000__fallacy_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0002_Line_0000_fallacy_t_1_in_t123-junit.x
goal=t123:test_boxlog((true_t(_148658)&false_t(_148658))=>fallacy_t(_148658)).
time=0.03056645393371582.
passed=passed=info(why_was_true(t123:test_boxlog((true_t(_492)&false_t(_492))=>fallacy_t(_492))))
no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(and(true_t('$VAR'('PROP')),false_t('$VAR'('PROP'))),fallacy_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

true_t(PROP)&false_t(PROP)==>fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa true_t
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&true_t(PROP)==> ~false_t(PROP).
.

no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

result=passed.

Test Suite: logicmoo.base.examples.fol.ANSWERABLE_T_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ANSWERABLE_T_01

Test case:logicmoo.base.examples.fol.ANSWERABLE_T_01@Test_0004_Line_0000__true_t_1_in_t123: t123:test_boxlog(true_t(T)=>possible_t(T))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0004_Line_0000__true_t_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['answerable_t_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )) . ",52)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
** here **
 v false_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~fallacy_t(PROP) => unknown_t(PROP) v false_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",49)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~unknown_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( ~unknown_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )) . ",50)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v true_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
** here **
 v unknown_t(PROP) v true_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v true_t(PROP) )) .
:- test_boxlog(( ~false_t(PROP) => fallacy_t(PROP) v unknown_t(PROP) v true_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . ",35)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP)
** here **
 <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> askable_t(PROP) & ~unknown_t(PROP) )) .
:- test_boxlog(( answerable_t(PROP) <gt;=> askable_t(PROP) & ~unknown_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )) . ",51)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( answerable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( answerable_t(PROP) => true_t(PROP)
** here **
 v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( answerable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v false_t(PROP)  )) .
:- test_boxlog(( answerable_t(PROP) => true_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" <gt;=> ~fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 <gt;=> ~fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  <gt;=> ~fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) <gt;=> ~fallacy_t(PROP) )).
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )) . ",48)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP) => true_t(PROP)"], nl,'** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP) => true_t(PROP)
** here **
 v unknown_t(PROP) v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP) => true_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v false_t(PROP)  )) .
:- test_boxlog(( askable_t(PROP) => true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )).
%~ message_hook(
%~    error(syntax_error(operator_expected),string(":- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )) . ",32)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( askable_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" v fallacy_t(PROP) )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( askable_t(PROP)
** here **
 v fallacy_t(PROP) )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( askable_t(PROP)
ERROR: ** here **
ERROR:  v fallacy_t(PROP) )) .
:- test_boxlog(( askable_t(PROP) v fallacy_t(PROP) )).
:- test_boxlog(( asserted_t(PROP) => true_t(PROP) )).
/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__asserted_t_1_in_t123",
%~       t123 : test_boxlog(asserted_t(PROP)=>true_t(PROP)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:20
%~ make_dynamic_here(t123,'$nt'(wid(rule1:0,rule,asserted_t(_11542)=>true_t(_11542)),_11554,_11556)).
%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

%~ kifm=asserted_t(PROP)=>true_t(PROP).
%~ kifm=asserted_t(PROP)=>true_t(PROP)
passed=info(why_was_true(t123:test_boxlog(asserted_t(_452)=>true_t(_452))))
no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(asserted_t('$VAR'('PROP')),true_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa asserted_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~true_t(PROP)==> ~asserted_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa asserted_t
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

asserted_t(PROP)==>true_t(PROP).
.

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

no_proof_for(test_boxlog(asserted_t(PROP)=>true_t(PROP))).

%~ make_dynamic_here(t123,argIsa(asserted_t,1,_19764)).
name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0001_Line_0000__asserted_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0001_Line_0000_asserted_t_1_in_t123-junit.xml
~*/

:- test_boxlog(( fallacy_t(PROP) => false_t(PROP) & true_t(PROP) & ~unknown_t(PROP) & ~possible_t(PROP) )).  
/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__fallacy_t_1_in_t123",
%~       t123 : test_boxlog( =>( fallacy_t(PROP),
%~                             ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP))))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:21
%~ kifm = =>( fallacy_t(PROP),
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)).
%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

%~ kifm = ( fallacy_t(PROP) =>
%~          ((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)).
%~ kifm=fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP))
passed=info(why_was_true(t123:test_boxlog(fallacy_t(_538)=>(((false_t(_538)&true_t(_538))& ~unknown_t(_538))& ~possible_t(_538)))))
no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

%~ kif_to_boxlog_attvars2 = =>(fallacy_t('$VAR'('PROP')),and(and(and(false_t('$VAR'('PROP')),true_t('$VAR'('PROP'))),not(unknown_t('$VAR'('PROP')))),not(possible_t('$VAR'('PROP')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

possible_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa possible_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~possible_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa unknown_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unknown_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t
%~  It's Proof that:
%~    ?PROP isa unknown_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)==> ~unknown_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t is possible  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(true_t(PROP))& ~false_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t is possible
%~  It's Proof that:
%~    ?PROP isa false_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(true_t(PROP))==>false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa false_t is possible  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa fallacy_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(false_t(PROP))& ~true_t(PROP)==> ~fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa true_t  is false
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)& ~true_t(PROP)==> ~false_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  and
%~    ?PROP isa false_t is possible
%~  It's Proof that:
%~    ?PROP isa true_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fallacy_t(PROP)&poss(false_t(PROP))==>true_t(PROP).
.

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

no_proof_for(test_boxlog(fallacy_t(PROP)=>(((false_t(PROP)&true_t(PROP))& ~unknown_t(PROP))& ~possible_t(PROP)))).

name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0002_Line_0000__fallacy_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0002_Line_0000_fallacy_t_1_in_t123-junit.xml
~*/
  
:- test_boxlog(( true_t(PROP) & false_t(PROP) => fallacy_t(PROP) )).
/*~
%~ ?-( mpred_test( "Test_0003_Line_0000__true_t_1_in_t123",
%~       t123 : test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP)))).
%~ kifm=(true_t(PROP)&false_t(PROP))=>fallacy_t(PROP).
%~ kif_to_boxlog_attvars2 = =>(and(true_t('$VAR'('PROP')),false_t('$VAR'('PROP'))),fallacy_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

true_t(PROP)&false_t(PROP)==>fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa true_t
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&true_t(PROP)==> ~false_t(PROP).
.

%~ kifm=(true_t(PROP)&false_t(PROP))=>fallacy_t(PROP).
%~ kifm=(true_t(PROP)&false_t(PROP))=>fallacy_t(PROP)
passed=info(why_was_true(t123:test_boxlog((true_t(_492)&false_t(_492))=>fallacy_t(_492))))
no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(and(true_t('$VAR'('PROP')),false_t('$VAR'('PROP'))),fallacy_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t  and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa fallacy_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

true_t(PROP)&false_t(PROP)==>fallacy_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa false_t
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&false_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa fallacy_t  is false and
%~    ?PROP isa true_t
%~  It's Proof that:
%~    ?PROP isa false_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~fallacy_t(PROP)&true_t(PROP)==> ~false_t(PROP).
.

no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

no_proof_for(test_boxlog((true_t(PROP)&false_t(PROP))=>fallacy_t(PROP))).

name='logicmoo.base.examples.fol.ANSWERABLE_T_01-Test_0003_Line_0000__true_t_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ANSWERABLE_T_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'answerable_t_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ANSWERABLE_T_01_Test_0003_Line_0000_true_t_1_in_t123-junit.xml
~*/

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/answerable_t_01.pfc.pl:23
%~ message_hook(
%~    error( syntax_error(operator_expected),
%~      string(":- test_boxlog(( true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )) . ",29)),
%~    error,
%~    [ 'Syntax error: ', 'Operator expected',nl,
%~      '~w'-[":- test_boxlog(( true_t(PROP)"],nl,
%~      '** here **',nl,
%~      '~w'-[" v unknown_t(PROP) v false_t(PROP)  )) . "]]).
Syntax error: Operator expected
:- test_boxlog(( true_t(PROP)
** here **
 v unknown_t(PROP) v false_t(PROP)  )) .
ERROR: Syntax error: Operator expected
ERROR: :- test_boxlog(( true_t(PROP)
ERROR: ** here **
ERROR:  v unknown_t(PROP) v false_t(PROP)  )) .
:- test_boxlog(( true_t(PROP) v unknown_t(PROP) v false_t(PROP)  )).

:- test_boxlog(( true_t(PROP) => possible_t(PROP) )).
/*~
%~ ?-( mpred_test( "Test_0004_Line_000
goal=t123:test_boxlog(true_t(_431514)=>possible_t(_431514)).
time=0.013691902160644531.
passed=passed=info(why_was_true(t123:test_boxlog(true_t(_472)=>possible_t(_472))))
no_proof_for(test_boxlog(true_t(PROP)=>possible_t(PROP))).

%~ kif_to_boxlog_attvars2 = =>(true_t('$VAR'('PROP')),possible_t('$VAR'('PROP')))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa possible_t  is false
%~  It's Proof that:
%~    ?PROP isa true_t  is false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

~possible_t(PROP)==> ~true_t(PROP).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ?PROP isa true_t
%~  It's Proof that:
%~    ?PROP isa possible_t
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

true_t(PROP)==>possible_t(PROP).
.

no_proof_for(test_boxlog(true_t(PROP)=>possible_t(PROP))).

no_proof_for(test_boxlog(true_t(PROP)=>possible_t(PROP))).

result=passed.

Test Suite: logicmoo.base.examples.fol.BOXLOG_SANITY_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.BOXLOG_SANITY_03

Test case:logicmoo.base.examples.fol.BOXLOG_SANITY_03@Test_0001_Line_0000__cute_puppy_1_in_user: user:cute_puppy(Puppy)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+cute_puppy(_23384))),nop(ftrace(user:cute_puppy(_23384)))))\nno_proof_for(\\+cute_puppy(Puppy)).\n\nno_proof_for(\\+cute_puppy(Puppy)).\n\nno_proof_for(\\+cute_puppy(Puppy)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__cute_puppy_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.BOXLOG_SANITY_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'boxlog_sanity_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['boxlog_sanity_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/boxlog_sanity_03.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% :- process_this_script.

% Initially Dmiles thought LEM was the culprit, it was not.
% this is a more generalized problem in Nomics

% ==============================================================
% Section 1:  Problem with Nomics
% ==============================================================

% Turn off modal extensions (default was full)
:- set_prolog_flag(logicmoo_modality,none).

% Rule 1: If no cute puppies exist, then Joan will buy a horse  (authored by Joan)
/*~
~*/

% Rule 1: If no cute puppies exist, then Joan will buy a horse  (authored by Joan)
~exists(X,cute_puppy(X)) => buys(joan,horse).

% Rule 2: It is impossible for broke people to buy things  (authored by a Shop Keeper)
/*~
%~ debugm(user,show_success(user,user:ain(clif((~exists(_6546,cute_puppy(_6546))=>buys(joan,horse)))))).



=======================================================
=>(~(exists('$VAR'('Cute_puppy'),cute_puppy('$VAR'('Cute_puppy')))),buys(joan,horse))
============================================

?- kif_to_boxlog( ~exists(Cute_puppy,cute_puppy(Cute_puppy))=>buys(joan,horse) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  If:
%~    (
%~  There exists ?Cute_puppy
%~    " ?Cute_puppy isa cute_puppy " ) is falsethen it is
%~  Implied that:
%~    joan buys horse
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = ~exists(Cute_puppy,cute_puppy(Cute_puppy))=>buys(joan,horse).
%~ kifm = nesc((~exists(Cute_puppy,cute_puppy(Cute_puppy))=>buys(joan,horse))).
%~ kif_to_boxlog_attvars2 = necessary(=>(not(exists('$VAR'('Cute_puppy'),cute_puppy('$VAR'('Cute_puppy')))),buys(joan,horse)))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
poss(~cute_puppy(Cute_puppy))==>nesc(buys(joan,horse)).
poss(~buys(joan,horse))&'$existential'(Cute_puppy,1,nesc(cute_puppy(Cute_puppy)))==>nesc(cute_puppy(Cute_puppy)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Cute_puppy isa cute_puppy " is possibly false
%~  It's Proof that:
%~    " joan buys horse " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~cute_puppy(Cute_puppy))==>nesc(buys(joan,horse)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " joan buys horse " is possibly false  and
%~     by default ?Cute_puppy nesc(cute_puppy(Cute_puppy))
%~  It's Proof that:
%~    " ?Cute_puppy isa cute_puppy " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~buys(joan,horse))&'$existential'(Cute_puppy,1,nesc(cute_puppy(Cute_puppy))) ==>
  nesc(cute_puppy(Cute_puppy))).
.

============================================
%~ kifi = ~exists(X,cute_puppy(X))=>buys(joan,horse).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/boxlog_sanity_03.pfc.pl:16
%~ kifm = nesc((~exists(X,cute_puppy(X))=>buys(joan,horse))).
%~ kif_to_boxlog_attvars2 = necessary(=>(not(exists('$VAR'('X'),cute_puppy('$VAR'('X')))),buys(joan,horse)))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " joan buys horse " is possibly false  and
%~     by default ?X nesc(cute_puppy(X))
%~  It's Proof that:
%~    " ?X isa cute_puppy " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~buys(joan,horse))&'$existential'(X,1,nesc(cute_puppy(X))) ==>
  nesc(cute_puppy(X))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X isa cute_puppy " is possibly false
%~  It's Proof that:
%~    " joan buys horse " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~cute_puppy(X))==>nesc(buys(joan,horse)).
.

~*/

% Rule 2: It is impossible for broke people to buy things  (authored by a Shop Keeper)
forall([P,A], broke(P)=> ~buys(P,A)).

% Fact A: Joan is a broke person  (authored by Joan)
/*~
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all([P,A],(broke(P)=> ~buys(P,A))))))).



=======================================================
all('[|]'('$VAR'('Broke_Buys'),'[|]'('$VAR'('Buys4'),[])),=>(broke('$VAR'('Broke_Buys')),~(buys('$VAR'('Broke_Buys'),'$VAR'('Buys4')))))
============================================

?- kif_to_boxlog( all([Broke_Buys,Buys4],(broke(Broke_Buys)=> ~buys(Broke_Buys,Buys4))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Broke_Buys ?Buys4
%~    (If:
%~    ?Broke_Buys isa broke then it is
%~  Implied that:
%~    " ?Broke_Buys buys ?Buys4 "  is false)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/boxlog_sanity_03.pfc.pl:19
%~ correct_special_quantifiers :- all( Broke_Buys,
%~                                  all(Buys4,(broke(Broke_Buys)=> ~buys(Broke_Buys,Buys4)))).
%~ correct_special_quantifiers:-all(Broke_Buys,all(Buys4,(broke(Broke_Buys)=> ~buys(Broke_Buys,Buys4))))
%~
%~ kifi = all( [Broke_Buys,Buys4],
%~          broke(Broke_Buys)=> ~buys(Broke_Buys,Buys4)).
%~ kifm = all( Broke_Buys,
%~          all(Buys4,nesc((broke(Broke_Buys)=> ~buys(Broke_Buys,Buys4))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Broke_Buys'),forall('$VAR'('Buys4'),necessary(=>(broke('$VAR'('Broke_Buys')),not(buys('$VAR'('Broke_Buys'),'$VAR'('Buys4')))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(broke(Broke_Buys))==>nesc(~buys(Broke_Buys,Buys4)).
poss(buys(Broke_Buys,Buys4))==>poss(~broke(Broke_Buys)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Broke_Buys isa broke " is necessarily true
%~  It's Proof that:
%~    " ?Broke_Buys buys ?Buys4 " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(broke(Broke_Buys))==>nesc(~buys(Broke_Buys,Buys4)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Broke_Buys buys ?Buys4 " is possible
%~  It's Proof that:
%~    " ?Broke_Buys isa broke " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(buys(Broke_Buys,Buys4))==>poss(~broke(Broke_Buys)).
.

============================================
%~ correct_special_quantifiers :- all(P,all(A,(broke(P)=> ~buys(P,A)))).
%~ correct_special_quantifiers:-all(P,all(A,(broke(P)=> ~buys(P,A))))
%~
%~ kifi = all([P,A],(broke(P)=> ~buys(P,A))).
%~ kifm = all(P,all(A,nesc((broke(P)=> ~buys(P,A))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('P'),forall('$VAR'('A'),necessary(=>(broke('$VAR'('P')),not(buys('$VAR'('P'),'$VAR'('A')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P buys ?A " is possible
%~  It's Proof that:
%~    " ?P isa broke " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(buys(P,A))==>poss(~broke(P)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P isa broke " is necessarily true
%~  It's Proof that:
%~    " ?P buys ?A " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(broke(P))==>nesc(~buys(P,A)).
.

~*/

% Fact A: Joan is a broke person  (authored by Joan)
broke(joan).
% I mean we need Joan to vote yes on propositon #2?

% Expose the problem
/*~
%~ debugm(user,show_success(user,user:ain(clif(broke(joan))))).



=======================================================
broke(joan)
============================================

?- kif_to_boxlog( broke(joan) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joan isa broke
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/boxlog_sanity_03.pfc.pl:22
%
goal=user:cute_puppy(_16658).
time=0.003057241439819336.
failure=failure=info((why_was_true(user:(\+cute_puppy(_23384))),nop(ftrace(user:cute_puppy(_23384)))))
no_proof_for(\+cute_puppy(Puppy)).

no_proof_for(\+cute_puppy(Puppy)).

no_proof_for(\+cute_puppy(Puppy)).

result=failure.

Test Suite: logicmoo.base.examples.fol.EXISTS_04

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.EXISTS_04

Test case:logicmoo.base.examples.fol.EXISTS_04@Test_0001_Line_0000__Green_house_in_user: user:livesAt(Green_house,green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+livesAt(_7307854,green_house))),nop(ftrace(user:livesAt(_7307854,green_house)))))\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.EXISTS_04'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'exists_04.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['exists_04.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/exists_04.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



% =================================================================================
% Load the system
% =================================================================================

:- expects_dialect(clif).

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).

/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions

/*~
~*/
 % mention it when we remove previous assertions

:- set_prolog_flag_until_eof(do_renames,mpred_expansion).

% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================

:- set_prolog_flag(gc,false).

/*~
~*/

:- mpred_trace_all.
/*~
~*/

:- mpred_trace_exec.

/*~
~*/

exists(X, livesAt(X, green_house) & drinks(X, coffee)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/exists_04.pfc.pl:35
%~ debugm(user,show_success(user,user:ain(clif(exists(_54840,livesAt(_54840,green_house)&drinks(_54840,coffee)))))).



=======================================================
exists('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( exists(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  There exists ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = exists( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(drinks(Coffee_Green_house,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~drinks(Coffee_Green_house,coffee))).
.

============================================
%~ kifi = exists(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = exists(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~drinks(X,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(dr
goal=user:livesAt(_7336744,green_house).
time=0.0011382102966308594.
failure=failure=info((why_was_true(user:(\+livesAt(_7307854,green_house))),nop(ftrace(user:livesAt(_7307854,green_house)))))
no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Test case:logicmoo.base.examples.fol.FAMILY_INHERITANCE_01@Test_0001_Line_0000__Douglas_in_user: user:grandparent(douglas,trudy)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))\nno_proof_for(\\+grandparent(douglas,trudy)).\n\nno_proof_for(\\+grandparent(douglas,trudy)).\n\nno_proof_for(\\+grandparent(douglas,trudy)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__Douglas_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['family_inheritance_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- expects_dialect(pfc).

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
/*~
~*/

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
:- set_clause_compile(fwc).

/*~
~*/

must_is_entailed(G):- cwc, must(is_entailed_u(G)).

/*~
~*/

show_test(G):- cwc, defaultAssertMt(KB),printAll(must(KB:G)).

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

/*~
No source location!?
%~ message_hook(
%~    ignored_weak_import(user,common_logic_sanity:show_test/1),
%~    warning,
%~    [ 'Local definition of ~p overrides weak import from ~q' - [ user : show_test/1,
%~                                                                 common_logic_sanity]]).
Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
Warning: Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
~*/

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

prologBuiltin(otherGender/2).
/*~
~*/

otherGender(male,female).
/*~
~*/

otherGender(female,male).

/*~
~*/

tCol(male).
/*~
~*/

:- dynamic((bore_offspring/2, gender/2)).
/*~
~*/

bore_offspring(C,P) <gt;=> bore_offspring(C,P).

/*~
~*/

(bore_offspring(C,P),gender(P,G1), otherGender(G1,G2))
     => gender(C,G2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:30
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                            gender(P,G1) ,
%~                            otherGender(G1,G2)) =>
%~                          gender(C,G2)),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G1'=G1,
%~                      'G2'=G2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                                                       gender(P,G1) ,
%~                                                       otherGender(G1,G2)) =>
%~                                                     gender(C,G2)),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G1'=G1,
%~                                                 'G2'=G2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
Warning: Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
~*/


gender(P,male) <gt;=> male(P).
/*~
~*/

gender(P,female) <gt;=> female(P).

/*~
~*/

male(P) <gt;=> ~female(P).


% seven rules
/*~
~*/



% seven rules
(((parent(C,M) & female(M)) <gt;=> mother(C,M))).
/*~
~*/

==> clif(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
/*~
~*/


%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
:- must_is_entailed(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)<gt;=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)<gt;=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
~*/


:- must_is_entailed(((parent(C,M) & female(M)) => mother(C,M))).
%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
~*/

%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

:- must_is_entailed((mother(C,M) => (parent(C,M) & female(M)))).
%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : mother(C,M)=>parent(C,M)&female(M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mother(C,M)=>parent(C,M)&female(M)]]).
Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
Warning: Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
~*/

%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

:- must_is_entailed(not(mother(C,M)):- not(parent(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(C,M)):-not(parent(C,M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(C,M)):-not(parent(C,M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
~*/

:- must_is_entailed(not(mother(_Anyone, M)):- not(female(M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(_Anyone,M)):-not(female(M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(_Anyone,M)):-not(female(M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
~*/

:- must_is_entailed((parent(C,M):- mother(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(parent(C,M):-mother(C,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M):-mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
~*/

:- must_is_entailed((female(M):- mother(_,M))).



/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(female(M):-mother(M1,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : female(M):-mother(M1,M)]]).
Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
Warning: Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
~*/



parent(PARENT,GRAND),parent(CHILD,PARENT) => grandparent(CHILD,GRAND).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                          grandparent(CHILD,GRAND)),
%~               ( mfl4(
%~                    [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                                                     grandparent(CHILD,GRAND)),
%~                                          ( mfl4(
%~                                               [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
~*/

grandparent(C,G),male(G) <gt;=> grandfather(C,G).
/*~
~*/

grandparent(C,G),female(G) <gt;=> grandmother(C,G).
/*~
~*/

mother(P,G),parent(GrandKid,P)=>grandmother(GrandKid,G).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                          grandmother(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                                                     grandmother(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
Warning: Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
~*/

father(P,G),parent(GrandKid,P)=>grandfather(GrandKid,G).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                          grandfather(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                                                     grandfather(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
Warning: Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
~*/


parent(C,P),male(P) <gt;=> father(C,P).
/*~
~*/

parent(C,P),female(P) <gt;=> mother(C,P).
/*~
~*/

parent(X,P),parent(Y,P),different(X,Y) =>siblings(X,Y).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                          siblings(X,Y)),
%~               ( mfl4(
%~                    [ 'X'=X, 'P'=P,'Y'=Y],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                                                     siblings(X,Y)),
%~                                          ( mfl4(
%~                                               [ 'X'=X, 'P'=P,'Y'=Y],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
~*/

parent(C,P) => ancestor(C,P).
/*~
~*/

ancestor(C,P), ancestor(P,G) => ancestor(C,G).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:83
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G'=G],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G'=G],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
Warning: Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
~*/

mother(douglas,eileen).

%= trudy is human
/*~
~*/

%= trudy is human
human(trudy).

%= catch a regression bug that may couse trudy to lose human assertion
/*~
~*/

%= catch a regression bug that may couse trudy to lose human assertion
never_retract_u(human(trudy)).
/*~
~*/

never_retract_u(human(eileen)).

/*~
~*/

:- nodebug_logicmoo(_).
% :- mpred_trace_exec.

% :-  debug(foo).

% 
/*~
~*/

% :- mpred_trace_exec.

% :-  debug(foo).

% 
forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).

/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,built_in_procedure,forall/2),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w built-in predicate `~p\'' - [ redefine,
%~                                                         forall/2],
%~       nl, 'Use :- redefine_system_predicate(+Head) if redefinition is intended']).
No permission to redefine built-in predicate `(forall/2)'
Use :- redefine_system_predicate(+Head) if redefinition is intended
ERROR: No permission to redefine built-in predicate `(forall/2)'
ERROR: Use :- redefine_system_predicate(+Head) if redefinition is intended
~*/

:- mpred_run.

/*~
~*/

:- printAll(must(father(trudy,_))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,father/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[father/2]]).
must_sanity:must/1: Unknown procedure: father/2
ERROR: must_sanity:must/1: Unknown procedure: father/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(father(trudy,Father_Trudy))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(father(trudy,Father_Trudy))]]).
Goal (directive) failed: user:printAll(must(father(trudy,_448)))
Warning: Goal (directive) failed: user:printAll(must(father(trudy,_448)))
~*/

:- mpred_run.

/*~
~*/

:- mpred_trace_exec.
% ((human(P1),ancestor(P1,P2))=>human(P2)).
/*~
~*/

% ((human(P1),ancestor(P1,P2))=>human(P2)).
((human(P1),ancestor(P2,P1))=>human(P2)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:110
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~               ( mfl4(
%~                    [ 'P1'=P1,
%~                      'P2'=P2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~                                          ( mfl4(
%~                                               [ 'P1'=P1,
%~                                                 'P2'=P2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
Warning: Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
~*/

:- mpred_notrace_exec.

/*~
~*/

:- (ain(mother(eileen,trudy))).
/*~
~*/

:- printAll(must(mother(eileen,_))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,mother/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[mother/2]]).
must_sanity:must/1: Unknown procedure: mother/2
ERROR: must_sanity:must/1: Unknown procedure: mother/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(mother(eileen,Mother_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(mother(eileen,Mother_Eileen))]]).
Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
~*/

:- printAll(must(ancestor(eileen,_))).

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

/*~
%~ message_hook(
%~    error(existence_error(procedure,ancestor/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[ancestor/2]]).
must_sanity:must/1: Unknown procedure: ancestor/2
ERROR: must_sanity:must/1: Unknown procedure: ancestor/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(ancestor(eileen,Ancestor_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(ancestor(eileen,Ancestor_Eileen))]]).
Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
~*/

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

mother(robby,trudy).
/*~
~*/

mother(liana,trudy).
/*~
~*/

mother(matt,liana).
/*~
~*/

mother(liz,liana).
/*~
~*/

mother(pam,trudy).

%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
/*~
~*/


%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
:- must_is_entailed(human(douglas)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:human(douglas)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : human(douglas)]]).
Goal (directive) failed: user:must_is_entailed(human(douglas))
Warning: Goal (directive) failed: user:must_is_entailed(human(douglas))
~*/


?- mpred_why(human(douglas)).

/*~
no_proof_for(human(douglas)).

no_proof_for(human(douglas)).

~*/

/*

Justifications for human(douglas):
    1.1 ancestor(douglas,eileen)
    1.2 human(eileen)
    1.3 human(_G45653),ancestor(_G45658,_G45653),{is_unit(_G45658)}==>human(_G45658)
    2.1 ancestor(douglas,trudy)
    2.2 human(trudy)
    2.3 human(_G45616),ancestor(_G45621,_G45616),{is_unit(_G45621)}==>human(_G45621)

*/

:- mpred_why(grandparent(douglas,trudy)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Douglas_in_user",user:grandparent(douglas,trudy)).
%~ make_dynamic_here(baseKB,grandparent(douglas,trudy)).
failure=info((why_was_true(user:(\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))
no_proof_for(\+grandpare
goal=user:grandparent(douglas,trudy).
time=0.0012998580932617188.
failure=failure=info((why_was_true(user:(\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))
no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Test case:logicmoo.base.examples.fol.FAMILY_INHERITANCE_01@Test_0002_Line_0000__naf_Eileen_in_user: user:(\\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen)))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__naf_Eileen_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['family_inheritance_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- expects_dialect(pfc).

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
/*~
~*/

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
:- set_clause_compile(fwc).

/*~
~*/

must_is_entailed(G):- cwc, must(is_entailed_u(G)).

/*~
~*/

show_test(G):- cwc, defaultAssertMt(KB),printAll(must(KB:G)).

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

/*~
No source location!?
%~ message_hook(
%~    ignored_weak_import(user,common_logic_sanity:show_test/1),
%~    warning,
%~    [ 'Local definition of ~p overrides weak import from ~q' - [ user : show_test/1,
%~                                                                 common_logic_sanity]]).
Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
Warning: Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
~*/

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

prologBuiltin(otherGender/2).
/*~
~*/

otherGender(male,female).
/*~
~*/

otherGender(female,male).

/*~
~*/

tCol(male).
/*~
~*/

:- dynamic((bore_offspring/2, gender/2)).
/*~
~*/

bore_offspring(C,P) <gt;=> bore_offspring(C,P).

/*~
~*/

(bore_offspring(C,P),gender(P,G1), otherGender(G1,G2))
     => gender(C,G2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:30
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                            gender(P,G1) ,
%~                            otherGender(G1,G2)) =>
%~                          gender(C,G2)),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G1'=G1,
%~                      'G2'=G2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                                                       gender(P,G1) ,
%~                                                       otherGender(G1,G2)) =>
%~                                                     gender(C,G2)),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G1'=G1,
%~                                                 'G2'=G2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
Warning: Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
~*/


gender(P,male) <gt;=> male(P).
/*~
~*/

gender(P,female) <gt;=> female(P).

/*~
~*/

male(P) <gt;=> ~female(P).


% seven rules
/*~
~*/



% seven rules
(((parent(C,M) & female(M)) <gt;=> mother(C,M))).
/*~
~*/

==> clif(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
/*~
~*/


%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
:- must_is_entailed(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)<gt;=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)<gt;=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
~*/


:- must_is_entailed(((parent(C,M) & female(M)) => mother(C,M))).
%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
~*/

%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

:- must_is_entailed((mother(C,M) => (parent(C,M) & female(M)))).
%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : mother(C,M)=>parent(C,M)&female(M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mother(C,M)=>parent(C,M)&female(M)]]).
Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
Warning: Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
~*/

%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

:- must_is_entailed(not(mother(C,M)):- not(parent(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(C,M)):-not(parent(C,M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(C,M)):-not(parent(C,M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
~*/

:- must_is_entailed(not(mother(_Anyone, M)):- not(female(M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(_Anyone,M)):-not(female(M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(_Anyone,M)):-not(female(M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
~*/

:- must_is_entailed((parent(C,M):- mother(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(parent(C,M):-mother(C,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M):-mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
~*/

:- must_is_entailed((female(M):- mother(_,M))).



/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(female(M):-mother(M1,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : female(M):-mother(M1,M)]]).
Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
Warning: Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
~*/



parent(PARENT,GRAND),parent(CHILD,PARENT) => grandparent(CHILD,GRAND).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                          grandparent(CHILD,GRAND)),
%~               ( mfl4(
%~                    [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                                                     grandparent(CHILD,GRAND)),
%~                                          ( mfl4(
%~                                               [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
~*/

grandparent(C,G),male(G) <gt;=> grandfather(C,G).
/*~
~*/

grandparent(C,G),female(G) <gt;=> grandmother(C,G).
/*~
~*/

mother(P,G),parent(GrandKid,P)=>grandmother(GrandKid,G).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                          grandmother(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                                                     grandmother(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
Warning: Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
~*/

father(P,G),parent(GrandKid,P)=>grandfather(GrandKid,G).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                          grandfather(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                                                     grandfather(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
Warning: Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
~*/


parent(C,P),male(P) <gt;=> father(C,P).
/*~
~*/

parent(C,P),female(P) <gt;=> mother(C,P).
/*~
~*/

parent(X,P),parent(Y,P),different(X,Y) =>siblings(X,Y).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                          siblings(X,Y)),
%~               ( mfl4(
%~                    [ 'X'=X, 'P'=P,'Y'=Y],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                                                     siblings(X,Y)),
%~                                          ( mfl4(
%~                                               [ 'X'=X, 'P'=P,'Y'=Y],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
~*/

parent(C,P) => ancestor(C,P).
/*~
~*/

ancestor(C,P), ancestor(P,G) => ancestor(C,G).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:83
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G'=G],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G'=G],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
Warning: Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
~*/

mother(douglas,eileen).

%= trudy is human
/*~
~*/

%= trudy is human
human(trudy).

%= catch a regression bug that may couse trudy to lose human assertion
/*~
~*/

%= catch a regression bug that may couse trudy to lose human assertion
never_retract_u(human(trudy)).
/*~
~*/

never_retract_u(human(eileen)).

/*~
~*/

:- nodebug_logicmoo(_).
% :- mpred_trace_exec.

% :-  debug(foo).

% 
/*~
~*/

% :- mpred_trace_exec.

% :-  debug(foo).

% 
forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).

/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,built_in_procedure,forall/2),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w built-in predicate `~p\'' - [ redefine,
%~                                                         forall/2],
%~       nl, 'Use :- redefine_system_predicate(+Head) if redefinition is intended']).
No permission to redefine built-in predicate `(forall/2)'
Use :- redefine_system_predicate(+Head) if redefinition is intended
ERROR: No permission to redefine built-in predicate `(forall/2)'
ERROR: Use :- redefine_system_predicate(+Head) if redefinition is intended
~*/

:- mpred_run.

/*~
~*/

:- printAll(must(father(trudy,_))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,father/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[father/2]]).
must_sanity:must/1: Unknown procedure: father/2
ERROR: must_sanity:must/1: Unknown procedure: father/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(father(trudy,Father_Trudy))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(father(trudy,Father_Trudy))]]).
Goal (directive) failed: user:printAll(must(father(trudy,_448)))
Warning: Goal (directive) failed: user:printAll(must(father(trudy,_448)))
~*/

:- mpred_run.

/*~
~*/

:- mpred_trace_exec.
% ((human(P1),ancestor(P1,P2))=>human(P2)).
/*~
~*/

% ((human(P1),ancestor(P1,P2))=>human(P2)).
((human(P1),ancestor(P2,P1))=>human(P2)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:110
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~               ( mfl4(
%~                    [ 'P1'=P1,
%~                      'P2'=P2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~                                          ( mfl4(
%~                                               [ 'P1'=P1,
%~                                                 'P2'=P2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
Warning: Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
~*/

:- mpred_notrace_exec.

/*~
~*/

:- (ain(mother(eileen,trudy))).
/*~
~*/

:- printAll(must(mother(eileen,_))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,mother/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[mother/2]]).
must_sanity:must/1: Unknown procedure: mother/2
ERROR: must_sanity:must/1: Unknown procedure: mother/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(mother(eileen,Mother_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(mother(eileen,Mother_Eileen))]]).
Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
~*/

:- printAll(must(ancestor(eileen,_))).

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

/*~
%~ message_hook(
%~    error(existence_error(procedure,ancestor/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[ancestor/2]]).
must_sanity:must/1: Unknown procedure: ancestor/2
ERROR: must_sanity:must/1: Unknown procedure: ancestor/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(ancestor(eileen,Ancestor_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(ancestor(eileen,Ancestor_Eileen))]]).
Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
~*/

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

mother(robby,trudy).
/*~
~*/

mother(liana,trudy).
/*~
~*/

mother(matt,liana).
/*~
~*/

mother(liz,liana).
/*~
~*/

mother(pam,trudy).

%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
/*~
~*/


%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
:- must_is_entailed(human(douglas)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:human(douglas)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : human(douglas)]]).
Goal (directive) failed: user:must_is_entailed(human(douglas))
Warning: Goal (directive) failed: user:must_is_entailed(human(douglas))
~*/


?- mpred_why(human(douglas)).

/*~
no_proof_for(human(douglas)).

no_proof_for(human(douglas)).

~*/

/*

Justifications for human(douglas):
    1.1 ancestor(douglas,eileen)
    1.2 human(eileen)
    1.3 human(_G45653),ancestor(_G45658,_G45653),{is_unit(_G45658)}==>human(_G45658)
    2.1 ancestor(douglas,trudy)
    2.2 human(trudy)
    2.3 human(_G45616),ancestor(_G45621,_G45616),{is_unit(_G45621)}==>human(_G45621)

*/

:- mpred_why(grandparent(douglas,trudy)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Douglas_in_user",user:grandparent(douglas,trudy)).
%~ make_dynamic_here(baseKB,grandparent(douglas,trudy)).
failure=info((why_was_true(user:(\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))
no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

name='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01-Test_0001_Line_0000__Douglas_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FAMILY_INHERITANCE_01_Test_0001_Line_0000_Douglas_in_user-junit.xml
~*/

/*

Justifications for grandparent(douglas,trudy):
    1.1 parent(douglas,eileen)
    1.2 parent(eileen,trudy)
    1.3 parent(_G11217,_G11218),parent(_G11223,_G11217),{is_unit(_G11218,_G11223)}==>grandparent(_G11223,_G11218)
    2.1 grandmother(douglas,trudy)
    2.2 grandmother(_G6160,_G6161),{is_unit(_G6161,_G6160)}==>grandparent(_G6160,_G6161)

*/

%=:- wdmsg("press Ctrl-D to resume.").

:- style_check(-singleton).

%= so far no males "asserted" in the KB

/*~
~*/


%= so far no males "asserted" in the KB

:- show_test(male(Who)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,male/1),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1], 'Unknown procedure: ~q'-[male/1],nl,
%~      '  However, there are definitions for:',nl,
%~      '        ~q'-[make/0],nl]).
must_sanity:must/1: Unknown procedure: male/1
  However, there are definitions for:
        make/0
ERROR: must_sanity:must/1: Unknown procedure: male/1
ERROR:   However, there are definitions for:
ERROR:         make/0
%~ message_hook(
%~    goal_failed(directive,user:show_test(male(Who))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : show_test(male(Who))]]).
Goal (directive) failed: user:show_test(male(_444380))
Warning: Goal (directive) failed: user:show_test(male(_444380))
~*/

/*
OUTPUT WAS..
male(skArg1ofFatherFn(pam)).
male(skArg1ofFatherFn(liz)).
male(skArg1ofFatherFn(matt)).
male(skArg1ofFatherFn(liana)).
male(skArg1ofFatherFn(robby)).
male(skArg1ofFatherFn(eileen)).
male(skArg1ofFatherFn(douglas)).
male(skArg1ofFatherFn(trudy)).
*/

%= we can report the presence on non male though...
%=    the ~/1 is our negation hook into the inference engine
:- no_varnaming( mpred_nochaining(doall((show_call(~male(Who )))))).

%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
/*~
%~ message_hook(
%~    error(existence_error(procedure,(~)/1),context(bugger:dcall0/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[bugger,dcall0,1],
%~      'Unknown procedure: ~q'-[(~)/1]]).
bugger:dcall0/1: Unknown procedure: (~)/1
ERROR: bugger:dcall0/1: Unknown procedure: (~)/1
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:189
%~ message_hook(
%~    goal_failed(directive,user:no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))]]).
Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
Warning: Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
~*/


%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
:- show_test(~(female(Who))).

%= ensure skolem
goal=user:(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).
time=0.000118255615234375.
passed=passed=info(why_was_true(user:(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen)))))
no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

result=passed.

Test Suite: logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Test case:logicmoo.base.examples.fol.FAMILY_INHERITANCE_01@Test_0003_Line_0000__Douglas_in_user: user:human(douglas)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+human(douglas))),nop(ftrace(user:human(douglas)))))\nno_proof_for(\\+human(douglas)).\n\nno_proof_for(\\+human(douglas)).\n\nno_proof_for(\\+human(douglas)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__Douglas_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['family_inheritance_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- expects_dialect(pfc).

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
/*~
~*/

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
:- set_clause_compile(fwc).

/*~
~*/

must_is_entailed(G):- cwc, must(is_entailed_u(G)).

/*~
~*/

show_test(G):- cwc, defaultAssertMt(KB),printAll(must(KB:G)).

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

/*~
No source location!?
%~ message_hook(
%~    ignored_weak_import(user,common_logic_sanity:show_test/1),
%~    warning,
%~    [ 'Local definition of ~p overrides weak import from ~q' - [ user : show_test/1,
%~                                                                 common_logic_sanity]]).
Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
Warning: Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
~*/

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

prologBuiltin(otherGender/2).
/*~
~*/

otherGender(male,female).
/*~
~*/

otherGender(female,male).

/*~
~*/

tCol(male).
/*~
~*/

:- dynamic((bore_offspring/2, gender/2)).
/*~
~*/

bore_offspring(C,P) <gt;=> bore_offspring(C,P).

/*~
~*/

(bore_offspring(C,P),gender(P,G1), otherGender(G1,G2))
     => gender(C,G2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:30
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                            gender(P,G1) ,
%~                            otherGender(G1,G2)) =>
%~                          gender(C,G2)),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G1'=G1,
%~                      'G2'=G2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                                                       gender(P,G1) ,
%~                                                       otherGender(G1,G2)) =>
%~                                                     gender(C,G2)),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G1'=G1,
%~                                                 'G2'=G2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
Warning: Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
~*/


gender(P,male) <gt;=> male(P).
/*~
~*/

gender(P,female) <gt;=> female(P).

/*~
~*/

male(P) <gt;=> ~female(P).


% seven rules
/*~
~*/



% seven rules
(((parent(C,M) & female(M)) <gt;=> mother(C,M))).
/*~
~*/

==> clif(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
/*~
~*/


%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
:- must_is_entailed(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)<gt;=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)<gt;=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
~*/


:- must_is_entailed(((parent(C,M) & female(M)) => mother(C,M))).
%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
~*/

%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

:- must_is_entailed((mother(C,M) => (parent(C,M) & female(M)))).
%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : mother(C,M)=>parent(C,M)&female(M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mother(C,M)=>parent(C,M)&female(M)]]).
Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
Warning: Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
~*/

%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

:- must_is_entailed(not(mother(C,M)):- not(parent(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(C,M)):-not(parent(C,M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(C,M)):-not(parent(C,M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
~*/

:- must_is_entailed(not(mother(_Anyone, M)):- not(female(M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(_Anyone,M)):-not(female(M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(_Anyone,M)):-not(female(M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
~*/

:- must_is_entailed((parent(C,M):- mother(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(parent(C,M):-mother(C,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M):-mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
~*/

:- must_is_entailed((female(M):- mother(_,M))).



/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(female(M):-mother(M1,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : female(M):-mother(M1,M)]]).
Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
Warning: Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
~*/



parent(PARENT,GRAND),parent(CHILD,PARENT) => grandparent(CHILD,GRAND).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                          grandparent(CHILD,GRAND)),
%~               ( mfl4(
%~                    [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                                                     grandparent(CHILD,GRAND)),
%~                                          ( mfl4(
%~                                               [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
~*/

grandparent(C,G),male(G) <gt;=> grandfather(C,G).
/*~
~*/

grandparent(C,G),female(G) <gt;=> grandmother(C,G).
/*~
~*/

mother(P,G),parent(GrandKid,P)=>grandmother(GrandKid,G).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                          grandmother(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                                                     grandmother(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
Warning: Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
~*/

father(P,G),parent(GrandKid,P)=>grandfather(GrandKid,G).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                          grandfather(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                                                     grandfather(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
Warning: Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
~*/


parent(C,P),male(P) <gt;=> father(C,P).
/*~
~*/

parent(C,P),female(P) <gt;=> mother(C,P).
/*~
~*/

parent(X,P),parent(Y,P),different(X,Y) =>siblings(X,Y).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                          siblings(X,Y)),
%~               ( mfl4(
%~                    [ 'X'=X, 'P'=P,'Y'=Y],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                                                     siblings(X,Y)),
%~                                          ( mfl4(
%~                                               [ 'X'=X, 'P'=P,'Y'=Y],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
~*/

parent(C,P) => ancestor(C,P).
/*~
~*/

ancestor(C,P), ancestor(P,G) => ancestor(C,G).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:83
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G'=G],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G'=G],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
Warning: Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
~*/

mother(douglas,eileen).

%= trudy is human
/*~
~*/

%= trudy is human
human(trudy).

%= catch a regression bug that may couse trudy to lose human assertion
/*~
~*/

%= catch a regression bug that may couse trudy to lose human assertion
never_retract_u(human(trudy)).
/*~
~*/

never_retract_u(human(eileen)).

/*~
~*/

:- nodebug_logicmoo(_).
% :- mpred_trace_exec.

% :-  debug(foo).

% 
/*~
~*/

% :- mpred_trace_exec.

% :-  debug(foo).

% 
forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).

/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,built_in_procedure,forall/2),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w built-in predicate `~p\'' - [ redefine,
%~                                                         forall/2],
%~       nl, 'Use :- redefine_system_predicate(+Head) if redefinition is intended']).
No permission to redefine built-in predicate `(forall/2)'
Use :- redefine_system_predicate(+Head) if redefinition is intended
ERROR: No permission to redefine built-in predicate `(forall/2)'
ERROR: Use :- redefine_system_predicate(+Head) if redefinition is intended
~*/

:- mpred_run.

/*~
~*/

:- printAll(must(father(trudy,_))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,father/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[father/2]]).
must_sanity:must/1: Unknown procedure: father/2
ERROR: must_sanity:must/1: Unknown procedure: father/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(father(trudy,Father_Trudy))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(father(trudy,Father_Trudy))]]).
Goal (directive) failed: user:printAll(must(father(trudy,_448)))
Warning: Goal (directive) failed: user:printAll(must(father(trudy,_448)))
~*/

:- mpred_run.

/*~
~*/

:- mpred_trace_exec.
% ((human(P1),ancestor(P1,P2))=>human(P2)).
/*~
~*/

% ((human(P1),ancestor(P1,P2))=>human(P2)).
((human(P1),ancestor(P2,P1))=>human(P2)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:110
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~               ( mfl4(
%~                    [ 'P1'=P1,
%~                      'P2'=P2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~                                          ( mfl4(
%~                                               [ 'P1'=P1,
%~                                                 'P2'=P2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
Warning: Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
~*/

:- mpred_notrace_exec.

/*~
~*/

:- (ain(mother(eileen,trudy))).
/*~
~*/

:- printAll(must(mother(eileen,_))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,mother/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[mother/2]]).
must_sanity:must/1: Unknown procedure: mother/2
ERROR: must_sanity:must/1: Unknown procedure: mother/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(mother(eileen,Mother_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(mother(eileen,Mother_Eileen))]]).
Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
~*/

:- printAll(must(ancestor(eileen,_))).

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

/*~
%~ message_hook(
%~    error(existence_error(procedure,ancestor/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[ancestor/2]]).
must_sanity:must/1: Unknown procedure: ancestor/2
ERROR: must_sanity:must/1: Unknown procedure: ancestor/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(ancestor(eileen,Ancestor_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(ancestor(eileen,Ancestor_Eileen))]]).
Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
~*/

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

mother(robby,trudy).
/*~
~*/

mother(liana,trudy).
/*~
~*/

mother(matt,liana).
/*~
~*/

mother(liz,liana).
/*~
~*/

mother(pam,trudy).

%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
/*~
~*/


%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
:- must_is_entailed(human(douglas)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:human(douglas)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : human(douglas)]]).
Goal (directive) failed: user:must_is_entailed(human(douglas))
Warning: Goal (directive) failed: user:must_is_entailed(human(douglas))
~*/


?- mpred_why(human(douglas)).

/*~
no_proof_for(human(douglas)).

no_proof_for(human(douglas)).

~*/

/*

Justifications for human(douglas):
    1.1 ancestor(douglas,eileen)
    1.2 human(eileen)
    1.3 human(_G45653),ancestor(_G45658,_G45653),{is_unit(_G45658)}==>human(_G45658)
    2.1 ancestor(douglas,trudy)
    2.2 human(trudy)
    2.3 human(_G45616),ancestor(_G45621,_G45616),{is_unit(_G45621)}==>human(_G45621)

*/

:- mpred_why(grandparent(douglas,trudy)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Douglas_in_user",user:grandparent(douglas,trudy)).
%~ make_dynamic_here(baseKB,grandparent(douglas,trudy)).
failure=info((why_was_true(user:(\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))
no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

name='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01-Test_0001_Line_0000__Douglas_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FAMILY_INHERITANCE_01_Test_0001_Line_0000_Douglas_in_user-junit.xml
~*/

/*

Justifications for grandparent(douglas,trudy):
    1.1 parent(douglas,eileen)
    1.2 parent(eileen,trudy)
    1.3 parent(_G11217,_G11218),parent(_G11223,_G11217),{is_unit(_G11218,_G11223)}==>grandparent(_G11223,_G11218)
    2.1 grandmother(douglas,trudy)
    2.2 grandmother(_G6160,_G6161),{is_unit(_G6161,_G6160)}==>grandparent(_G6160,_G6161)

*/

%=:- wdmsg("press Ctrl-D to resume.").

:- style_check(-singleton).

%= so far no males "asserted" in the KB

/*~
~*/


%= so far no males "asserted" in the KB

:- show_test(male(Who)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,male/1),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1], 'Unknown procedure: ~q'-[male/1],nl,
%~      '  However, there are definitions for:',nl,
%~      '        ~q'-[make/0],nl]).
must_sanity:must/1: Unknown procedure: male/1
  However, there are definitions for:
        make/0
ERROR: must_sanity:must/1: Unknown procedure: male/1
ERROR:   However, there are definitions for:
ERROR:         make/0
%~ message_hook(
%~    goal_failed(directive,user:show_test(male(Who))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : show_test(male(Who))]]).
Goal (directive) failed: user:show_test(male(_444380))
Warning: Goal (directive) failed: user:show_test(male(_444380))
~*/

/*
OUTPUT WAS..
male(skArg1ofFatherFn(pam)).
male(skArg1ofFatherFn(liz)).
male(skArg1ofFatherFn(matt)).
male(skArg1ofFatherFn(liana)).
male(skArg1ofFatherFn(robby)).
male(skArg1ofFatherFn(eileen)).
male(skArg1ofFatherFn(douglas)).
male(skArg1ofFatherFn(trudy)).
*/

%= we can report the presence on non male though...
%=    the ~/1 is our negation hook into the inference engine
:- no_varnaming( mpred_nochaining(doall((show_call(~male(Who )))))).

%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
/*~
%~ message_hook(
%~    error(existence_error(procedure,(~)/1),context(bugger:dcall0/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[bugger,dcall0,1],
%~      'Unknown procedure: ~q'-[(~)/1]]).
bugger:dcall0/1: Unknown procedure: (~)/1
ERROR: bugger:dcall0/1: Unknown procedure: (~)/1
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:189
%~ message_hook(
%~    goal_failed(directive,user:no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))]]).
Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
Warning: Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
~*/


%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
:- show_test(~(female(Who))).

%= ensure skolem
goal=user:human(douglas).
time=0.0008234977722167969.
failure=failure=info((why_was_true(user:(\+human(douglas))),nop(ftrace(user:human(douglas)))))
no_proof_for(\+human(douglas)).

no_proof_for(\+human(douglas)).

no_proof_for(\+human(douglas)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FAMILY_INHERITANCE_01

Test case:logicmoo.base.examples.fol.FAMILY_INHERITANCE_01@Test_0004_Line_0000__Douglas_in_user: user:grandparent(douglas,robert)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+grandparent(douglas,robert))),nop(ftrace(user:grandparent(douglas,robert)))))\nno_proof_for(\\+grandparent(douglas,robert)).\n\nno_proof_for(\\+grandparent(douglas,robert)).\n\nno_proof_for(\\+grandparent(douglas,robert)).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__Douglas_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['family_inheritance_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- expects_dialect(pfc).

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
/*~
~*/

% :- process_this_script.

%= save compiled clauses using forward chaining storage (by default)
%= we are using forward chaining just so any logical errors, performance and program bugs manefest
%= immediately
:- set_clause_compile(fwc).

/*~
~*/

must_is_entailed(G):- cwc, must(is_entailed_u(G)).

/*~
~*/

show_test(G):- cwc, defaultAssertMt(KB),printAll(must(KB:G)).

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

/*~
No source location!?
%~ message_hook(
%~    ignored_weak_import(user,common_logic_sanity:show_test/1),
%~    warning,
%~    [ 'Local definition of ~p overrides weak import from ~q' - [ user : show_test/1,
%~                                                                 common_logic_sanity]]).
Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
Warning: Local definition of user:(show_test/1) overrides weak import from common_logic_sanity
~*/

%= ````
%= logic tests...
%= ````
%:- debug_logicmoo(logicmoo(_)).

prologBuiltin(otherGender/2).
/*~
~*/

otherGender(male,female).
/*~
~*/

otherGender(female,male).

/*~
~*/

tCol(male).
/*~
~*/

:- dynamic((bore_offspring/2, gender/2)).
/*~
~*/

bore_offspring(C,P) <gt;=> bore_offspring(C,P).

/*~
~*/

(bore_offspring(C,P),gender(P,G1), otherGender(G1,G2))
     => gender(C,G2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:30
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                            gender(P,G1) ,
%~                            otherGender(G1,G2)) =>
%~                          gender(C,G2)),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G1'=G1,
%~                      'G2'=G2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( ( bore_offspring(C,P)  ,
%~                                                       gender(P,G1) ,
%~                                                       otherGender(G1,G2)) =>
%~                                                     gender(C,G2)),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G1'=G1,
%~                                                 'G2'=G2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 30) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
Warning: Goal (directive) failed: user:mpred_ain((bore_offspring(_558,_562),gender(_562,_566),otherGender(_566,_570)=>gender(_558,_570)),(mfl4(['C'=_558,'P'=_562,'G1'=_566,'G2'=_570],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':30,30),ax))
~*/


gender(P,male) <gt;=> male(P).
/*~
~*/

gender(P,female) <gt;=> female(P).

/*~
~*/

male(P) <gt;=> ~female(P).


% seven rules
/*~
~*/



% seven rules
(((parent(C,M) & female(M)) <gt;=> mother(C,M))).
/*~
~*/

==> clif(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
/*~
~*/


%((parent(C,M) & female(M)) <gt;=> mother(C,M)).
:- must_is_entailed(((parent(C,M) & female(M)) <gt;=> mother(C,M))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)<gt;=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)<gt;=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_516,_520)&female(_520)<gt;=>mother(_516,_520)))
~*/


:- must_is_entailed(((parent(C,M) & female(M)) => mother(C,M))).
%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : parent(C,M)&female(M)=>mother(C,M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M)&female(M)=>mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_500,_504)&female(_504)=>mother(_500,_504)))
~*/

%       [ (not(female(M)):-not(mother(C,M)), parent(C,M)),
%         (not(parent(C,M)):-not(mother(C,M)), female(M)),
%         (mother(C,M):-parent(C,M), female(M))
%       ].

:- must_is_entailed((mother(C,M) => (parent(C,M) & female(M)))).
%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed( directive,
%~      user : mother(C,M)=>parent(C,M)&female(M)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mother(C,M)=>parent(C,M)&female(M)]]).
Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
Warning: Goal (directive) failed: user:must_is_entailed((mother(_6194,_6216)=>parent(_6194,_6216)&female(_6216)))
~*/

%       [ (female(M):-mother(M, _C)),
%         (not(mother(_C,M)):-not(female(M))),
%         (not(mother(C,M)):-not(parent(C,M))),
%         (parent(C,M):-mother(C,M))
%       ].

:- must_is_entailed(not(mother(C,M)):- not(parent(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(C,M)):-not(parent(C,M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(C,M)):-not(parent(C,M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_500,_504)):-not(parent(_500,_504))))
~*/

:- must_is_entailed(not(mother(_Anyone, M)):- not(female(M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(not(mother(_Anyone,M)):-not(female(M)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : not(mother(_Anyone,M)):-not(female(M))]]).
Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
Warning: Goal (directive) failed: user:must_is_entailed((not(mother(_12990,_13012)):-not(female(_13012))))
~*/

:- must_is_entailed((parent(C,M):- mother(C,M))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(parent(C,M):-mother(C,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : parent(C,M):-mother(C,M)]]).
Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
Warning: Goal (directive) failed: user:must_is_entailed((parent(_486,_490):-mother(_486,_490)))
~*/

:- must_is_entailed((female(M):- mother(_,M))).



/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:(female(M):-mother(M1,M))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : female(M):-mother(M1,M)]]).
Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
Warning: Goal (directive) failed: user:must_is_entailed((female(_464):-mother(_468,_464)))
~*/



parent(PARENT,GRAND),parent(CHILD,PARENT) => grandparent(CHILD,GRAND).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                          grandparent(CHILD,GRAND)),
%~               ( mfl4(
%~                    [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(PARENT,GRAND),parent(CHILD,PARENT) =>
%~                                                     grandparent(CHILD,GRAND)),
%~                                          ( mfl4(
%~                                               [ 'PARENT'=PARENT, 'GRAND'=GRAND,'CHILD'=CHILD],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 71) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_522,_526),parent(_530,_522)=>grandparent(_530,_526)),(mfl4(['PARENT'=_522,'GRAND'=_526,'CHILD'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':71,71),ax))
~*/

grandparent(C,G),male(G) <gt;=> grandfather(C,G).
/*~
~*/

grandparent(C,G),female(G) <gt;=> grandmother(C,G).
/*~
~*/

mother(P,G),parent(GrandKid,P)=>grandmother(GrandKid,G).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                          grandmother(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( mother(P,G),parent(GrandKid,P) =>
%~                                                     grandmother(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 75) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
Warning: Goal (directive) failed: user:mpred_ain((mother(_532,_536),parent(_540,_532)=>grandmother(_540,_536)),(mfl4(['P'=_532,'G'=_536,'GrandKid'=_540],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':75,75),ax))
~*/

father(P,G),parent(GrandKid,P)=>grandfather(GrandKid,G).

/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                          grandfather(GrandKid,G)),
%~               ( mfl4(
%~                    [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( father(P,G),parent(GrandKid,P) =>
%~                                                     grandfather(GrandKid,G)),
%~                                          ( mfl4(
%~                                               [ 'P'=P, 'G'=G,'GrandKid'=GrandKid],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 76) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
Warning: Goal (directive) failed: user:mpred_ain((father(_522,_526),parent(_530,_522)=>grandfather(_530,_526)),(mfl4(['P'=_522,'G'=_526,'GrandKid'=_530],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':76,76),ax))
~*/


parent(C,P),male(P) <gt;=> father(C,P).
/*~
~*/

parent(C,P),female(P) <gt;=> mother(C,P).
/*~
~*/

parent(X,P),parent(Y,P),different(X,Y) =>siblings(X,Y).
/*~
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                          siblings(X,Y)),
%~               ( mfl4(
%~                    [ 'X'=X, 'P'=P,'Y'=Y],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ( parent(X,P),parent(Y,P),different(X,Y) =>
%~                                                     siblings(X,Y)),
%~                                          ( mfl4(
%~                                               [ 'X'=X, 'P'=P,'Y'=Y],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 81) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
Warning: Goal (directive) failed: user:mpred_ain((parent(_554,_558),parent(_562,_558),different(_554,_562)=>siblings(_554,_562)),(mfl4(['X'=_554,'P'=_558,'Y'=_562],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':81,81),ax))
~*/

parent(C,P) => ancestor(C,P).
/*~
~*/

ancestor(C,P), ancestor(P,G) => ancestor(C,G).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:83
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~               ( mfl4(
%~                    [ 'C'=C, 'P'=P,'G'=G],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( ancestor(C,P),ancestor(P,G)=>ancestor(C,G),
%~                                          ( mfl4(
%~                                               [ 'C'=C, 'P'=P,'G'=G],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 83) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
Warning: Goal (directive) failed: user:mpred_ain((ancestor(_528,_532),ancestor(_532,_536)=>ancestor(_528,_536)),(mfl4(['C'=_528,'P'=_532,'G'=_536],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':83,83),ax))
~*/

mother(douglas,eileen).

%= trudy is human
/*~
~*/

%= trudy is human
human(trudy).

%= catch a regression bug that may couse trudy to lose human assertion
/*~
~*/

%= catch a regression bug that may couse trudy to lose human assertion
never_retract_u(human(trudy)).
/*~
~*/

never_retract_u(human(eileen)).

/*~
~*/

:- nodebug_logicmoo(_).
% :- mpred_trace_exec.

% :-  debug(foo).

% 
/*~
~*/

% :- mpred_trace_exec.

% :-  debug(foo).

% 
forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).

/*~
No source location!?
%~ message_hook(
%~    error(
%~       permission_error(redefine,built_in_procedure,forall/2),
%~       context(system:'$record_clause'/3,Context_Kw)),
%~    error,
%~    [ 'No permission to ~w built-in predicate `~p\'' - [ redefine,
%~                                                         forall/2],
%~       nl, 'Use :- redefine_system_predicate(+Head) if redefinition is intended']).
No permission to redefine built-in predicate `(forall/2)'
Use :- redefine_system_predicate(+Head) if redefinition is intended
ERROR: No permission to redefine built-in predicate `(forall/2)'
ERROR: Use :- redefine_system_predicate(+Head) if redefinition is intended
~*/

:- mpred_run.

/*~
~*/

:- printAll(must(father(trudy,_))).

/*~
%~ message_hook(
%~    error(existence_error(procedure,father/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[father/2]]).
must_sanity:must/1: Unknown procedure: father/2
ERROR: must_sanity:must/1: Unknown procedure: father/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(father(trudy,Father_Trudy))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(father(trudy,Father_Trudy))]]).
Goal (directive) failed: user:printAll(must(father(trudy,_448)))
Warning: Goal (directive) failed: user:printAll(must(father(trudy,_448)))
~*/

:- mpred_run.

/*~
~*/

:- mpred_trace_exec.
% ((human(P1),ancestor(P1,P2))=>human(P2)).
/*~
~*/

% ((human(P1),ancestor(P1,P2))=>human(P2)).
((human(P1),ancestor(P2,P1))=>human(P2)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:110
%~ message_hook(
%~    error(permission_error(modify,static_procedure,(',')/2),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       (',')/2],
%~      nl,
%~      '~w at ~w:~d' - ['Defined','/var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl',382]]).
assertz/1: No permission to modify static procedure `(,/2)'
Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
ERROR: assertz/1: No permission to modify static procedure `(,/2)'
ERROR: Defined at /var/lib/jenkins/workspace/logicmoo_workspace@2/lib/swipl/boot/init.pl:382
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~               ( mfl4(
%~                    [ 'P1'=P1,
%~                      'P2'=P2],
%~                     user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( human(P1),ancestor(P2,P1)=>human(P2),
%~                                          ( mfl4(
%~                                               [ 'P1'=P1,
%~                                                 'P2'=P2],
%~                                                user, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl', 110) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
Warning: Goal (directive) failed: user:mpred_ain((human(_500),ancestor(_502,_500)=>human(_502)),(mfl4(['P1'=_500,'P2'=_502],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl':110,110),ax))
~*/

:- mpred_notrace_exec.

/*~
~*/

:- (ain(mother(eileen,trudy))).
/*~
~*/

:- printAll(must(mother(eileen,_))).
/*~
%~ message_hook(
%~    error(existence_error(procedure,mother/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[mother/2]]).
must_sanity:must/1: Unknown procedure: mother/2
ERROR: must_sanity:must/1: Unknown procedure: mother/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(mother(eileen,Mother_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(mother(eileen,Mother_Eileen))]]).
Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(mother(eileen,_440)))
~*/

:- printAll(must(ancestor(eileen,_))).

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

/*~
%~ message_hook(
%~    error(existence_error(procedure,ancestor/2),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[ancestor/2]]).
must_sanity:must/1: Unknown procedure: ancestor/2
ERROR: must_sanity:must/1: Unknown procedure: ancestor/2
%~ message_hook(
%~    goal_failed(directive,user:printAll(ancestor(eileen,Ancestor_Eileen))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : printAll(ancestor(eileen,Ancestor_Eileen))]]).
Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
Warning: Goal (directive) failed: user:printAll(must(ancestor(eileen,_440)))
~*/

% lol.. i have a frame problm in my solver.. whenever     forall(c,exists([m,f], if(human(c), (mother(c,m) & father(c,f))))).  ((human(P1),ancestor(P2,P1))=>human(P2)). human(douglas). I now have a skolemation of a mother who is human .. i my mothers children are human (thus i am) .. but while i am adding a named mother.. the skolem mother loses her assertion and is deduced nonhuman

% :- listing([ancestor,human,parent]).
%=:- wdmsg("press Ctrl-D to resume.").
%=:- prolog.

% grandmother(douglas,trudy).

mother(robby,trudy).
/*~
~*/

mother(liana,trudy).
/*~
~*/

mother(matt,liana).
/*~
~*/

mother(liz,liana).
/*~
~*/

mother(pam,trudy).

%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
/*~
~*/


%= human(trudy) supports anscesteral rule that her decendants are humans as well .. therefore ..
:- must_is_entailed(human(douglas)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:human(douglas)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : human(douglas)]]).
Goal (directive) failed: user:must_is_entailed(human(douglas))
Warning: Goal (directive) failed: user:must_is_entailed(human(douglas))
~*/


?- mpred_why(human(douglas)).

/*~
no_proof_for(human(douglas)).

no_proof_for(human(douglas)).

~*/

/*

Justifications for human(douglas):
    1.1 ancestor(douglas,eileen)
    1.2 human(eileen)
    1.3 human(_G45653),ancestor(_G45658,_G45653),{is_unit(_G45658)}==>human(_G45658)
    2.1 ancestor(douglas,trudy)
    2.2 human(trudy)
    2.3 human(_G45616),ancestor(_G45621,_G45616),{is_unit(_G45621)}==>human(_G45621)

*/

:- mpred_why(grandparent(douglas,trudy)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Douglas_in_user",user:grandparent(douglas,trudy)).
%~ make_dynamic_here(baseKB,grandparent(douglas,trudy)).
failure=info((why_was_true(user:(\+grandparent(douglas,trudy))),nop(ftrace(user:grandparent(douglas,trudy)))))
no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

no_proof_for(\+grandparent(douglas,trudy)).

name='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01-Test_0001_Line_0000__Douglas_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FAMILY_INHERITANCE_01_Test_0001_Line_0000_Douglas_in_user-junit.xml
~*/

/*

Justifications for grandparent(douglas,trudy):
    1.1 parent(douglas,eileen)
    1.2 parent(eileen,trudy)
    1.3 parent(_G11217,_G11218),parent(_G11223,_G11217),{is_unit(_G11218,_G11223)}==>grandparent(_G11223,_G11218)
    2.1 grandmother(douglas,trudy)
    2.2 grandmother(_G6160,_G6161),{is_unit(_G6161,_G6160)}==>grandparent(_G6160,_G6161)

*/

%=:- wdmsg("press Ctrl-D to resume.").

:- style_check(-singleton).

%= so far no males "asserted" in the KB

/*~
~*/


%= so far no males "asserted" in the KB

:- show_test(male(Who)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,male/1),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1], 'Unknown procedure: ~q'-[male/1],nl,
%~      '  However, there are definitions for:',nl,
%~      '        ~q'-[make/0],nl]).
must_sanity:must/1: Unknown procedure: male/1
  However, there are definitions for:
        make/0
ERROR: must_sanity:must/1: Unknown procedure: male/1
ERROR:   However, there are definitions for:
ERROR:         make/0
%~ message_hook(
%~    goal_failed(directive,user:show_test(male(Who))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : show_test(male(Who))]]).
Goal (directive) failed: user:show_test(male(_444380))
Warning: Goal (directive) failed: user:show_test(male(_444380))
~*/

/*
OUTPUT WAS..
male(skArg1ofFatherFn(pam)).
male(skArg1ofFatherFn(liz)).
male(skArg1ofFatherFn(matt)).
male(skArg1ofFatherFn(liana)).
male(skArg1ofFatherFn(robby)).
male(skArg1ofFatherFn(eileen)).
male(skArg1ofFatherFn(douglas)).
male(skArg1ofFatherFn(trudy)).
*/

%= we can report the presence on non male though...
%=    the ~/1 is our negation hook into the inference engine
:- no_varnaming( mpred_nochaining(doall((show_call(~male(Who )))))).

%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
/*~
%~ message_hook(
%~    error(existence_error(procedure,(~)/1),context(bugger:dcall0/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[bugger,dcall0,1],
%~      'Unknown procedure: ~q'-[(~)/1]]).
bugger:dcall0/1: Unknown procedure: (~)/1
ERROR: bugger:dcall0/1: Unknown procedure: (~)/1
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:189
%~ message_hook(
%~    goal_failed(directive,user:no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : no_varnaming(mpred_nochaining(doall(show_call(~male(Who)))))]]).
Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
Warning: Goal (directive) failed: user:no_varnaming(mpred_nochaining(doall(show_call(~male(_478816)))))
~*/


%= we expect to see at least there mothers here
%=  succeed(user: ~male(liana)).
%=  succeed(user: ~male(trudy)).
%=            succeed(user: ~male(skArg1ofMotherFn(trudy))).
%=  succeed(user: ~male(eileen)).

%= thus ~/1 is tnot/1 of XSB ?!?

%= there are explicly non females
:- show_test(~(female(Who))).

%= ensure skolems are made or destroyed

/*~
%~ message_hook(
%~    error(existence_error(procedure,(~)/1),context(must_sanity:must/1,Context_Kw)),
%~    error,
%~    [ '~q:~q/~w: '-[must_sanity,must,1],
%~      'Unknown procedure: ~q'-[(~)/1]]).
must_sanity:must/1: Unknown procedure: (~)/1
ERROR: must_sanity:must/1: Unknown procedure: (~)/1
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/family_inheritance_01.pfc.pl:201
%~ message_hook(
%~    goal_failed(directive,user:show_test(~female(Who))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : show_test(~female(Who))]]).
Goal (directive) failed: user:show_test(~female(_454))
Warning: Goal (directive) failed: user:show_test(~female(_454))
~*/

%= ensure skolems are made or destroyed

father(eileen,robert).

/*~
~*/

:- sanity(\+ baseKB:father( eileen, skArg2ofFather_1Fn(eileen))).

/*~
%~ ?-( mpred_test("Test_0002_Line_0000__naf_Eileen_in_user",user:(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))))).
passed=info(why_was_true(user:(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen)))))
no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

no_proof_for(\+baseKB:father(eileen,skArg2ofFather_1Fn(eileen))).

name='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01-Test_0002_Line_0000__naf_Eileen_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FAMILY_INHERITANCE_01_Test_0002_Line_0000_naf_Eileen_in_user-junit.xml
~*/

siblings(douglas,cassiopea).
/*~
~*/

father(sophiaWebb,douglas).
/*~
~*/

father(skylar,douglas).
/*~
~*/

father(sophiaWisdom,douglas).
/*~
~*/

father(zaltana,douglas).

/*~
~*/

:- must_is_entailed(human(douglas)).

/*~
%~ message_hook(
%~    error(existence_error(procedure,must_is_entailed/1),context(system:catch/3,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[catch,3],
%~      'Unknown procedure: ~q'-[must_is_entailed/1]]).
catch/3: Unknown procedure: must_is_entailed/1
ERROR: catch/3: Unknown procedure: must_is_entailed/1
%~ message_hook(
%~    goal_failed(directive,user:human(douglas)),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : human(douglas)]]).
Goal (directive) failed: user:must_is_entailed(human(douglas))
Warning: Goal (directive) failed: user:must_is_entailed(human(douglas))
~*/

:- mpred_why(human(douglas)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Douglas_in_user",user:human(douglas)).
failure=info((why_was_true(user:(\+human(douglas))),nop(ftrace(user:human(douglas)))))
no_proof_for(\+human(douglas)).

no_proof_for(\+human(douglas)).

no_proof_for(\+human(douglas)).

name='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01-Test_0003_Line_0000__Douglas_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FAMILY_INHERITANCE_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'family_inheritance_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FAMILY_INHERITANCE_01_Test_0003_Line_0000_Douglas_in_user-junit.xml
~*/

:- mpred_why(grandparent(douglas,robert)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Douglas_in_user",user:grandparent(douglas,robert)).
failure=info((why_was_true(user:(\+grandparent(douglas,robert))),nop(ftrace(user:grandparent(douglas,robert)))))
no_proof_for(\+grandparent(dougla
goal=user:grandparent(douglas,robert).
time=0.0008428096771240234.
failure=failure=info((why_was_true(user:(\+grandparent(douglas,robert))),nop(ftrace(user:grandparent(douglas,robert)))))
no_proof_for(\+grandparent(douglas,robert)).

no_proof_for(\+grandparent(douglas,robert)).

no_proof_for(\+grandparent(douglas,robert)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0001_Line_0000__tBird_1_in_user: user:predicate_property(tBird(Bird),dynamic)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__tBird_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
goal=user:predicate_property(tBird(_59178),dynamic).
time=0.0012049674987792969.
passed=passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0002_Line_0000__IChilly_in_user: user:tBird(iChilly)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
goal=user:tBird(iChilly).
time=0.0010254383087158203.
passed=passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0003_Line_0000__ITweety_in_user: user:tBird(iTweety)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0003_Line_0000__ITweety_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proo
goal=user:tBird(iTweety).
time=0.0007290840148925781.
passed=passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0004_Line_0000__TFly_in_user: user:(isa(Chilly_Fly_Fly,tFly),Chilly_Fly_Fly=iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))\nno_proof_for(\\+ (isa(I,tFly),I=iChilly)).\n\nno_proof_for(\\+ (isa(I,tFly),I=iChilly)).\n\nno_proof_for(\\+ (isa(I,tFly),I=iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__TFly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proo
goal=user:(isa(_115320,tFly),_115320=iChilly).
time=0.0010340213775634766.
failure=failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0005_Line_0000__ITweety_in_user: user:tFly(iTweety)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))\nno_proof_for(\\+tFly(iTweety)).\n\nno_proof_for(\\+tFly(iTweety)).\n\nno_proof_for(\\+tFly(iTweety)).\n\n". failure = [].
failed
Stderr
name=Test_0005_Line_0000__ITweety_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\
goal=user:tFly(iTweety).
time=0.0007898807525634766.
failure=failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0006_Line_0000__IChilly_in_user: user:tFly(iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))\nno_proof_for(\\+tFly(iChilly)).\n\nno_proof_for(\\+tFly(iChilly)).\n\nno_proof_for(\\+tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0006_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\
goal=user:tFly(iChilly).
time=0.0007522106170654297.
failure=failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0007_Line_0000__naf_IChilly_in_user: user:(\\+tFly(iChilly))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0007_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\
goal=user:(\+tFly(iChilly)).
time=0.0009107589721679688.
passed=passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0008_Line_0000__IChilly_in_user: user: ~tFly(iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0008_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /
goal=user: ~tFly(iChilly).
time=0.0008766651153564453.
failure=failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0009_Line_0000__naf_IChilly_in_user: user:(\\+tFly(iChilly))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0009_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /
goal=user:(\+tFly(iChilly)).
time=0.0006887912750244141.
passed=passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0010_Line_0000__IChilly_in_user: user: ~tFly(iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0010_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /
goal=user: ~tFly(iChilly).
time=0.0008566379547119141.
failure=failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0011_Line_0000__naf_IChilly_in_user: user:(\\+tPenguin(iChilly))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0011_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0007_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- mpred_test(( ~tFly(iChilly))).

%= repropigate that chilly was a bird again
/*~
%~ ?-mpred_test("Test_0008_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0008_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0008_Line_0000_IChilly_in_user-junit.xml
~*/

%= repropigate that chilly was a bird again
tBird(iChilly).

%= this helps show the real differnce in ~and \+
/*~
~*/

%= this helps show the real differnce in ~and \+
:- dmsg("confirm chilly still does not fly").
/*~
%~ confirm chilly still does not fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:78
%~ ?-mpred_test("Test_0009_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0009_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0009_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("confirm chilly still cant fly").
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:79
%~ confirm chilly still cant fly
~*/

:- mpred_test(( ~tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0010_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0010_Line_0000_IChilly_in_user-junit.xml
~*/

/*

This wounld be a good TMS test it should throw.. but right now it passes wrongly
tFly(iChilly).

:- dmsg("confirm chilly is flying penguin").
:- mpred_test(( tFly(iChilly))).
:- mpred_test(( tPenguin(iChilly))).
:- mpred_test((\+ ~tFly(iChilly))).

\+ tFly(iChilly).

:- dmsg("confirm chilly is a normal penguin who cant fly").
:- mpred_test((\+ tFly(iChilly))).

% fails rightly
:- mpred_test(( tPenguin(iChilly))).

*/

:- dmsg("chilly is no longer a pengui
goal=user:(\+tPenguin(iChilly)).
time=0.0007851123809814453.
passed=passed=info(why_was_true(user:(\+tPenguin(iChilly))))
no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0012_Line_0000__IChilly_in_user: user:tBird(iChilly)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0012_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0007_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- mpred_test(( ~tFly(iChilly))).

%= repropigate that chilly was a bird again
/*~
%~ ?-mpred_test("Test_0008_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0008_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0008_Line_0000_IChilly_in_user-junit.xml
~*/

%= repropigate that chilly was a bird again
tBird(iChilly).

%= this helps show the real differnce in ~and \+
/*~
~*/

%= this helps show the real differnce in ~and \+
:- dmsg("confirm chilly still does not fly").
/*~
%~ confirm chilly still does not fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:78
%~ ?-mpred_test("Test_0009_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0009_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0009_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("confirm chilly still cant fly").
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:79
%~ confirm chilly still cant fly
~*/

:- mpred_test(( ~tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0010_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0010_Line_0000_IChilly_in_user-junit.xml
~*/

/*

This wounld be a good TMS test it should throw.. but right now it passes wrongly
tFly(iChilly).

:- dmsg("confirm chilly is flying penguin").
:- mpred_test(( tFly(iChilly))).
:- mpred_test(( tPenguin(iChilly))).
:- mpred_test((\+ ~tFly(iChilly))).

\+ tFly(iChilly).

:- dmsg("confirm chilly is a normal penguin who cant fly").
:- mpred_test((\+ tFly(iChilly))).

% fails rightly
:- mpred_test(( tPenguin(iChilly))).

*/

:- dmsg("chilly is no longer a pengui
goal=user:tBird(iChilly).
time=0.0007700920104980469.
passed=passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0013_Line_0000__IChilly_in_user: user:tFly(iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))\nno_proof_for(\\+tFly(iChilly)).\n\nno_proof_for(\\+tFly(iChilly)).\n\nno_proof_for(\\+tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0013_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0007_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- mpred_test(( ~tFly(iChilly))).

%= repropigate that chilly was a bird again
/*~
%~ ?-mpred_test("Test_0008_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0008_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0008_Line_0000_IChilly_in_user-junit.xml
~*/

%= repropigate that chilly was a bird again
tBird(iChilly).

%= this helps show the real differnce in ~and \+
/*~
~*/

%= this helps show the real differnce in ~and \+
:- dmsg("confirm chilly still does not fly").
/*~
%~ confirm chilly still does not fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:78
%~ ?-mpred_test("Test_0009_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0009_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0009_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("confirm chilly still cant fly").
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:79
%~ confirm chilly still cant fly
~*/

:- mpred_test(( ~tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0010_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0010_Line_0000_IChilly_in_user-junit.xml
~*/

/*

This wounld be a good TMS test it should throw.. but right now it passes wrongly
tFly(iChilly).

:- dmsg("confirm chilly is flying penguin").
:- mpred_test(( tFly(iChilly))).
:- mpred_test(( tPenguin(iChilly))).
:- mpred_test((\+ ~tFly(iChilly))).

\+ tFly(iChilly).

:- dmsg("confirm chilly is a normal penguin who cant fly").
:- mpred_test((\+ tFly(iChilly))).

% fails rightly
:- mpred_test(( tPenguin(iChilly))).

*/

:- dmsg("chilly is no longer a pengui
goal=user:tFly(iChilly).
time=0.0006368160247802734.
failure=failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0014_Line_0000__naf_IChilly_in_user: user:(\\+tPenguin(iChilly))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0014_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0007_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- mpred_test(( ~tFly(iChilly))).

%= repropigate that chilly was a bird again
/*~
%~ ?-mpred_test("Test_0008_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0008_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0008_Line_0000_IChilly_in_user-junit.xml
~*/

%= repropigate that chilly was a bird again
tBird(iChilly).

%= this helps show the real differnce in ~and \+
/*~
~*/

%= this helps show the real differnce in ~and \+
:- dmsg("confirm chilly still does not fly").
/*~
%~ confirm chilly still does not fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:78
%~ ?-mpred_test("Test_0009_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0009_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0009_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("confirm chilly still cant fly").
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:79
%~ confirm chilly still cant fly
~*/

:- mpred_test(( ~tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0010_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0010_Line_0000_IChilly_in_user-junit.xml
~*/

/*

This wounld be a good TMS test it should throw.. but right now it passes wrongly
tFly(iChilly).

:- dmsg("confirm chilly is flying penguin").
:- mpred_test(( tFly(iChilly))).
:- mpred_test(( tPenguin(iChilly))).
:- mpred_test((\+ ~tFly(iChilly))).

\+ tFly(iChilly).

:- dmsg("confirm chilly is a normal penguin who cant fly").
:- mpred_test((\+ tFly(iChilly))).

% fails rightly
:- mpred_test(( tPenguin(iChilly))).

*/

:- dmsg("chilly is no longer a pengui
goal=user:(\+tPenguin(iChilly)).
time=0.0007288455963134766.
passed=passed=info(why_was_true(user:(\+tPenguin(iChilly))))
no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FOL_BIRDT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FOL_BIRDT_01

Test case:logicmoo.base.examples.fol.FOL_BIRDT_01@Test_0015_Line_0000__naf_IChilly_in_user: user:(\\+ ~tFly(iChilly))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0015_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['fol_birdt_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

%
%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
%
% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
% keraseall(AnyTerm).
%
%                      ANTECEEDANT                                   CONSEQUENT
%
%        P =         test nesc true                         assert(P),retract(~P) , enable(P).
%       ~P =         test nesc false                        assert(~P),retract(P), disable(P).
%
%   ~ ~(P) =         test possible (via not impossible)      retract(~P), enable(P).
%  \+ ~(P) =         test impossiblity is unknown            retract(~P).
%   ~\+(P) =        same as P                               same as P
%    \+(P) =        test naf(P)                             retract(P)
%
% Dec 13, 2035
% Douglas Miles

:- expects_dialect(pfc).

/*~
~*/


tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).

/*~
~*/


tCol(tBird).

/*~
~*/


:- mpred_test(predicate_property(tBird(_),dynamic)).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__tBird_1_in_user",user:predicate_property(tBird(Bird),dynamic)).
passed=info(why_was_true(user:predicate_property(tBird(_5888),dynamic)))
no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

no_proof_for(predicate_property(tBird(Bird),dynamic)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0001_Line_0000__tBird_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0001_Line_0000_tBird_1_in_user-junit.xml
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).


/*~
~*/



:- dmsg("chilly is a penguin.").
/*~
%~ chilly is a penguin.
~*/

tPenguin(iChilly).

/*~
~*/

:- mpred_test((tBird(iChilly))).


/*~
%~ ?-mpred_test("Test_0002_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0002_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0002_Line_0000_IChilly_in_user-junit.xml
~*/



:- dmsg("tweety is a canary.").
/*~
%~ tweety is a canary.
~*/

tCanary(iTweety).

/*~
~*/

:- mpred_test((tBird(iTweety))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0003_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0003_Line_0000_ITweety_in_user-junit.xml
~*/


:- dmsg("birds fly by default.").
/*~
%~ birds fly by default.
~*/

mdefault(( tBird(X) => tFly(X))).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tBird/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tBird/1]]).
assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tBird/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( mdefault((tBird(X)=>tFly(X))),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 56) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
Warning: Goal (directive) failed: user:mpred_ain(mdefault((tBird(_474)=>tFly(_474))),(mfl4(['X'=_474],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':56,56),ax))
~*/

:- dmsg("make sure chilly can fly").
/*~
%~ make sure chilly can fly
~*/

:- mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:59
%~ ?-mpred_test("Test_0004_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
failure=info((why_was_true(user:(\+ (isa(_89080,tFly),_89080=iChilly))),nop(ftrace(user:(isa(_89080,tFly),_89080=iChilly)))))
no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

no_proof_for(\+ (isa(I,tFly),I=iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0004_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0004_Line_0000_TFly_in_user-junit.xml
~*/

:- dmsg("make sure tweety can fly (and again chilly)").
/*~
%~ make sure tweety can fly (and again chilly)
~*/

:- mpred_test((tFly(iTweety))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:62
%~ ?-mpred_test("Test_0005_Line_0000__ITweety_in_user",user:tFly(iTweety)).
failure=info((why_was_true(user:(\+tFly(iTweety))),nop(ftrace(user:tFly(iTweety)))))
no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

no_proof_for(\+tFly(iTweety)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0005_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0005_Line_0000_ITweety_in_user-junit.xml
~*/

:- mpred_test((tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0006_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0006_Line_0000_IChilly_in_user-junit.xml
~*/


:- dmsg("penguins do not tFly.").
/*~
%~ penguins do not tFly.
~*/

tPenguin(X) =>  ~tFly(X).

/*~
%~ message_hook(
%~    error(permission_error(assert,procedure,baseKB:tPenguin/1),context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w ~w `~p\'' - [ assert, procedure,baseKB:tPenguin/1]]).
assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
ERROR: assertz/1: No permission to assert procedure `baseKB:(tPenguin/1)'
%~ message_hook(
%~    goal_failed( directive,
%~      user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~               ( mfl4( ['X'=X],
%~                   user,
%~                    '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                 ax))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 user : mpred_ain( tPenguin(X)=> ~tFly(X),
%~                                          ( mfl4( ['X'=X],
%~                                              user,
%~                                               '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 67) ,
%~                                            ax))]]).
Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
Warning: Goal (directive) failed: user:mpred_ain((tPenguin(_92324)=> ~tFly(_92324)),(mfl4(['X'=_92324],user,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl':67,67),ax))
~*/

:- dmsg("confirm chilly now cant fly").
/*~
%~ confirm chilly now cant fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:70
%~ ?-mpred_test("Test_0007_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0007_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0007_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- mpred_test(( ~tFly(iChilly))).

%= repropigate that chilly was a bird again
/*~
%~ ?-mpred_test("Test_0008_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0008_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0008_Line_0000_IChilly_in_user-junit.xml
~*/

%= repropigate that chilly was a bird again
tBird(iChilly).

%= this helps show the real differnce in ~and \+
/*~
~*/

%= this helps show the real differnce in ~and \+
:- dmsg("confirm chilly still does not fly").
/*~
%~ confirm chilly still does not fly
~*/

:- mpred_test((\+ tFly(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:78
%~ ?-mpred_test("Test_0009_Line_0000__naf_IChilly_in_user",user:(\+tFly(iChilly))).
passed=info(why_was_true(user:(\+tFly(iChilly))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0009_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0009_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("confirm chilly still cant fly").
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:79
%~ confirm chilly still cant fly
~*/

:- mpred_test(( ~tFly(iChilly))).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__IChilly_in_user",user: ~tFly(iChilly)).
failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0010_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0010_Line_0000_IChilly_in_user-junit.xml
~*/

/*

This wounld be a good TMS test it should throw.. but right now it passes wrongly
tFly(iChilly).

:- dmsg("confirm chilly is flying penguin").
:- mpred_test(( tFly(iChilly))).
:- mpred_test(( tPenguin(iChilly))).
:- mpred_test((\+ ~tFly(iChilly))).

\+ tFly(iChilly).

:- dmsg("confirm chilly is a normal penguin who cant fly").
:- mpred_test((\+ tFly(iChilly))).

% fails rightly
:- mpred_test(( tPenguin(iChilly))).

*/

:- dmsg("chilly is no longer a penguin").
/*~
%~ chilly is no longer a penguin
~*/

:- debug_logicmoo(logicmoo(_)).

/*~
~*/

:- mpred_trace_exec.

/*~
~*/

\+ tPenguin(iChilly).

/*~
%~ debugm( baseKB,
%~   show_success( baseKB,
%~     baseKB : mpred_withdraw( tPenguin(iChilly),
%~                ( mfl4( User,
%~                    user,
%~                     '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl', 107) ,
%~                  ax)))).
~*/

:- mpred_test(( \+ tPenguin(iChilly))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:109
%~ ?-mpred_test("Test_0011_Line_0000__naf_IChilly_in_user",user:(\+tPenguin(iChilly))).
passed=info(why_was_true(user:(\+tPenguin(iChilly))))
no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0011_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0011_Line_0000_naf_IChilly_in_user-junit.xml
~*/

:- dmsg("chilly is still a bird").
/*~
%~ chilly is still a bird
~*/

:- mpred_test((tBird(iChilly))).

/*~
%~ ?-mpred_test("Test_0012_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0012_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0012_Line_0000_IChilly_in_user-junit.xml
~*/

:- repropagate(tBird(iChilly)).

/*~
%~ debugm(baseKB,show_success(baseKB,baseKB:mpred_fwc(tBird(iChilly)))).
~*/

:- dmsg("confirm chilly is flying bird").
/*~
%~ confirm chilly is flying bird
~*/

:- mpred_test(( tFly(iChilly))).
/*~
%~ ?-mpred_test("Test_0013_Line_0000__IChilly_in_user",user:tFly(iChilly)).
failure=info((why_was_true(user:(\+tFly(iChilly))),nop(ftrace(user:tFly(iChilly)))))
no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

no_proof_for(\+tFly(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0013_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FOL_BIRDT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'fol_birdt_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FOL_BIRDT_01_Test_0013_Line_0000_IChilly_in_user-junit.xml
~*/

:- mpred_test(( \+ tPenguin(iChilly))).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/fol_birdt_01.pfc.pl:118
%~ ?-mpred_test("Test_0014_Line_0000__naf_IChilly_in_user",user:(\+tPenguin(iChilly))).
passed=info(why_was_true(user:(\+tPenguin(iChilly))))
no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

no_proof_for(\+tPenguin(iChilly)).

name='logicmoo.base.examples.fol.FOL_BIRDT_01-Test_0014_Line_0000__naf_IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.b
goal=user:(\+ ~tFly(iChilly)).
time=0.0007836818695068359.
passed=passed=info(why_was_true(user:(\+ ~tFly(iChilly))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.FORALL_QUANT_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FORALL_QUANT_01

Test case:logicmoo.base.examples.fol.FORALL_QUANT_01@Test_0001_Line_0000__same_2_in_user: user:test_boxlog(forall(Same,same(Same,Same)))
Outcome:Passed
Duration:0.2 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__same_2_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FORALL_QUANT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'forall_quant_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['forall_quant_01.pfc.pl']")

```
goal=user:test_boxlog(forall(_30396,same(_30396,_30396))).
time=0.17766332626342773.
passed=passed=info(why_was_true(user:test_boxlog(forall(_448,same(_448,_448)))))
no_proof_for(test_boxlog(forall(X,same(X,X)))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(same('$VAR'('X'),'$VAR'('X'))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?X same ?X
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,X)).
.

no_proof_for(test_boxlog(forall(X,same(X,X)))).

no_proof_for(test_boxlog(forall(X,same(X,X)))).

result=passed.
goal=user:test_boxlog(forall([_30402,_30408],(same(_30402,_30408)=> ~different(_30402,_30408)))).
time=0.027728557586669922.
passed=passed=info(why_was_true(user:test_boxlog(forall([_528,_530],(same(_528,_530)=> ~different(_528,_530))))))
no_proof_for(test_boxlog(forall([X,Y],(same(X,Y)=> ~different(X,Y))))).

%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),forall('$VAR'('Y'),necessary(=>(same('$VAR'('X'),'$VAR'('Y')),not(different('$VAR'('X'),'$VAR'('Y')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X different ?Y " is possible
%~  It's Proof that:
%~    " ?X same ?Y " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(different(X,Y))==>poss(~same(X,Y)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X same ?Y " is necessarily true
%~  It's Proof that:
%~    " ?X different ?Y " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,Y))==>nesc(~different(X,Y)).
.

no_proof_for(test_boxlog(forall([X,Y],(same(X,Y)=> ~different(X,Y))))).

no_proof_for(test_boxlog(forall([X,Y],(same(X,Y)=> ~different(X,Y))))).

Test Suite: logicmoo.base.examples.fol.FORALL_QUANT_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FORALL_QUANT_01

Test case:logicmoo.base.examples.fol.FORALL_QUANT_01@Test_0001_Line_0000__same_2_in_user: user:test_boxlog(forall(Same,same(Same,Same)))
Outcome:Passed
Duration:0.2 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__same_2_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FORALL_QUANT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'forall_quant_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['forall_quant_01.pfc.pl']")

```
goal=user:test_boxlog(forall(_17040,same(_17040,_17040))).
time=0.17766332626342773.
passed=passed=info(why_was_true(user:test_boxlog(forall(_448,same(_448,_448)))))
no_proof_for(test_boxlog(forall(X,same(X,X)))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(same('$VAR'('X'),'$VAR'('X'))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?X same ?X
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,X)).
.

no_proof_for(test_boxlog(forall(X,same(X,X)))).

no_proof_for(test_boxlog(forall(X,same(X,X)))).

result=passed.

Test Suite: logicmoo.base.examples.fol.FORALL_QUANT_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.FORALL_QUANT_01

Test case:logicmoo.base.examples.fol.FORALL_QUANT_01@Test_0002_Line_0000__same_2_in_user: user:test_boxlog(all(All_Same,all(Different_Same4,(same(All_Same,Different_Same4)=> ~different(All_Same,Different_Same4)))))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__same_2_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FORALL_QUANT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'forall_quant_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['forall_quant_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/forall_quant_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- set_prolog_flag(gc,true).

% =================================================================================
% Set our engine up
% =================================================================================

/*~
~*/

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(pfc).

% =================================================================================
% Begin program
% =================================================================================

% Let same/2 be our unification identify
/*~
~*/


% =================================================================================
% Begin program
% =================================================================================

% Let same/2 be our unification identify
:- test_boxlog(forall(X,same(X,X))).

% same/2 implies not differnt
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/forall_quant_01.pfc.pl:23
%~ ?-( mpred_test( "Test_0001_Line_0000__same_2_in_user",
%~       user : test_boxlog(forall(X,same(X,X))))).
%~ kifi = all(X,same(X,X)).
%~ kifm = all(X,nesc(same(X,X))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(same('$VAR'('X'),'$VAR'('X'))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?X same ?X
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,X)).
.

%~ kifi = all(X,same(X,X)).
%~ kifi=all(X,same(X,X))
%~ kifm = all(X,nesc(same(X,X))).
%~ kifm=all(X,nesc(same(X,X)))
passed=info(why_was_true(user:test_boxlog(forall(_448,same(_448,_448)))))
no_proof_for(test_boxlog(forall(X,same(X,X)))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(same('$VAR'('X'),'$VAR'('X'))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?X same ?X
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,X)).
.

no_proof_for(test_boxlog(forall(X,same(X,X)))).

no_proof_for(test_boxlog(forall(X,same(X,X)))).

name='logicmoo.base.examples.fol.FORALL_QUANT_01-Test_0001_Line_0000__same_2_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.FORALL_QUANT_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'forall_quant_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_FORALL_QUANT_01_Test_0001_Line_0000_same_2_in_user-junit.xml
~*/

% same/2 implies not differnt
:- test_boxlog(all(X,all(Y,same(X,Y) => ~ different(X,Y)))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/forall_quant_01.pfc.pl:26
%~ ?-( mpred_test( "Test_0002_Line_0000__same_2_in_user",
%~       user : test_boxlog(all(X,all(Y,(same(X,Y)=> ~different(X,Y))))))).
%~ kifi = all(X,all(Y,(same(X,Y)=> ~different(X,Y)))).
%~ kifm = all(X,all(Y,nesc((same(X,Y)=> ~different(X,Y))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),forall('$VAR'('Y'),necessary(=>(same('$VAR'('X'),'$VAR'('Y')),not(different('$VAR'('X'),'$VAR'('Y')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X different ?Y " is possible
%~  It's Proof that:
%~ 
goal=user:test_boxlog(all(_31466,all(_31472,(same(_31466,_31472)=> ~different(_31466,_31472))))).
time=0.02759242057800293.
passed=passed=info(why_was_true(user:test_boxlog(all(_514,all(_516,(same(_514,_516)=> ~different(_514,_516)))))))
no_proof_for(test_boxlog(all(X,all(Y,(same(X,Y)=> ~different(X,Y)))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),forall('$VAR'('Y'),necessary(=>(same('$VAR'('X'),'$VAR'('Y')),not(different('$VAR'('X'),'$VAR'('Y')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X different ?Y " is possible
%~  It's Proof that:
%~    " ?X same ?Y " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(different(X,Y))==>poss(~same(X,Y)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X same ?Y " is necessarily true
%~  It's Proof that:
%~    " ?X different ?Y " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(same(X,Y))==>nesc(~different(X,Y)).
.

no_proof_for(test_boxlog(all(X,all(Y,(same(X,Y)=> ~different(X,Y)))))).

no_proof_for(test_boxlog(all(X,all(Y,(same(X,Y)=> ~different(X,Y)))))).

result=passed.

Test Suite: logicmoo.base.examples.fol.HOLDS_011

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.HOLDS_011

Test case:logicmoo.base.examples.fol.HOLDS_011@Test_0001_Line_0000__B: baseKB:mudInsideOf(b,a)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(baseKB:(\\+mudInsideOf(b,a))),nop(ftrace(baseKB:mudInsideOf(b,a)))))\nno_proof_for(\\+mudInsideOf(b,a)).\n\nno_proof_for(\\+mudInsideOf(b,a)).\n\nno_proof_for(\\+mudInsideOf(b,a)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__B
JUNIT_CLASSNAME='logicmoo.base.examples.fol.HOLDS_011'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'holds_011.pfc\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['holds_011.pfc']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- baseKB=BaseKB,
   set_defaultAssertMt(BaseKB),
   module(BaseKB),'$set_typein_module'(BaseKB),'$set_source_module'(BaseKB),set_fileAssertMt(BaseKB).

/*~
%~ set_fileAssertMt(baseKB).
~*/


:- kb_global(mudContains/2).
/*~
~*/

mudContains(a,b).

%:- kb_shared(genlInverse/2).
%:- kb_shared(mudInsideOf/2).

/*~
No source location!?
~*/

%:- kb_shared(genlInverse/2).
%:- kb_shared(mudInsideOf/2).

meta_argtypes(genlInverse(rtBinaryPredicate,rtBinaryPredicate)).

/*~
~*/

:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- mpred_trace_exec.

/*~
~*/

(((P/(has_functor(P),get_functor(P,F,_A), \+ prologSideEffects(F)) ==> {deduceEachArgType(P)}))).

/*~
/* call_mpred_post4 :-
     level=81 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1 = ( ( P /
                 ( has_functor(P)  ,
                   get_functor(P,F,_A) ,
                   \+prologSideEffects(F))) ==>
               {deduceEachArgType(P)}) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0 = ( ( P /
              ( has_functor(P)  ,
                get_functor(P,F,_A) ,
                \+prologSideEffects(F))) ==>
            {deduceEachArgType(P)}) ,
     support_fact = mfl4(
                       [ 'P'=P, 'F'=F,'_A'=_A],
                        baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32) ,
   support_trig=ax.  */
/* baseKB : mpred_fwc1( ( ( DeduceEachArgType_Get_functor4 /
                            ( has_functor(DeduceEachArgType_Get_functor4)  ,
                              get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                              \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)})).  */
/* call_mpred_post4 :-
     level=130 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode) ,
     support_fact = mfl4(
                       [ 'P'=P, 'F'=F,'_A'=_A],
                        baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: \+ground((deduceEachArgType/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(deduceEachArgType,1)*->rhs([mpred_prop(baseKB,deduceEachArgType,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,deduceEachArgType,1,Prop_Pred_PfcCallCode)])
/* call_mpred_post4 :-
     level=133 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,has_functor,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,has_functor,1,pfcCallCode) ,
     support_fact = ( ( ( DeduceEachArgType_Get_functor4 /
                          ( has_functor(DeduceEachArgType_Get_functor4)  ,
                            get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                            \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)}) ,
                      mfl4(
                         [ 'P'=P5, 'F'=F6,'_A'=A],
                          baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32)) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,has_functor,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: \+ground((has_functor/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,has_functor,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(has_functor,1)*->rhs([mpred_prop(baseKB,has_functor,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,has_functor,1,Prop_Pred_PfcCallCode)])
/* call_mpred_post4 :-
     level=135 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,prologSideEffects,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,prologSideEffects,1,pfcCallCode) ,
     support_fact = ( ( ( DeduceEachArgType_Get_functor4 /
                          ( has_functor(DeduceEachArgType_Get_functor4)  ,
                            get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                            \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)}) ,
                      mfl4(
                         [ 'P'=P5, 'F'=F6,'_A'=A],
                          baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32)) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: \+ground((prologSideEffects/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,prologSideEffects,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(prologSideEffects,1)*->rhs([mpred_prop(baseKB,prologSideEffects,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,prologSideEffects,1,Prop_Pred_PfcCallCode)])
/* /* Adding positive
      trigger: _1404
      body: has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor)*->rhs([{deduceEachArgType(DeduceEachArgType_Get_functor4)}])
   Support: ((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}),mfl4(['P'=P,'F'=F,'_A'=_A],baseKB,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc':32,32)  */  */
%~ %~ Found positive trigger: (DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}
%~ %~ body: has_functor(((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)})),get_functor(((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}),PrologSideEffects,Functor8),\+prologSideEffects(PrologSideEffects)*->rhs([ { deduceEachArgType( ( ( DeduceEachArgType_Get_functor4 /
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ( has_functor(DeduceEachArgType_Get_functor4)  ,
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                {deduceEachArgType(DeduceEachArgType_Get_functor4)})) }])
~*/

:- mpred_trace_exec.

/*~
~*/

genlInverse(mudContains,mudInsideOf).

% :- baseKB:deduceEachArgType(genlInverse(mudContains,mudInsideOf)).

% :- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2), t(P1,A,B)) ==> t(P2,B,A)))).

%:- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2)) ==> ( t(P1,A,B) ==> t(P2,B,A))))).

/*~
No source location!?
~*/

% :- baseKB:deduceEachArgType(genlInverse(mudContains,mudInsideOf)).

% :- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2), t(P1,A,B)) ==> t(P2,B,A)))).

%:- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2)) ==> ( t(P1,A,B) ==> t(P2,B,A))))).

genlInverse(P1,P2) ==> ( t(P1,A,B) ==> t(P2,B,A)).


%:-ain((((P/(has_functor(P),get_functor(P,F,A), \+prologSideEffects(F),mpred_literal(P)) ==> {baseKB:agenda_slow_op_enqueue(deduceEachArgType(P))})))).

/*~
/* call_mpred_post4 :-
     level=81 ,
     que=0
goal=baseKB:mudInsideOf(b,a).
time=0.0005216598510742188.
failure=failure=info((why_was_true(baseKB:(\+mudInsideOf(b,a))),nop(ftrace(baseKB:mudInsideOf(b,a)))))
no_proof_for(\+mudInsideOf(b,a)).

no_proof_for(\+mudInsideOf(b,a)).

no_proof_for(\+mudInsideOf(b,a)).

result=failure.

Test Suite: logicmoo.base.examples.fol.HOLDS_011

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.HOLDS_011

Test case:logicmoo.base.examples.fol.HOLDS_011@Test_0002_Line_0000__MudInsideOf: baseKB:isa(mudInsideOf,rtBinaryPredicate)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(baseKB:(\\+isa(mudInsideOf,rtBinaryPredicate))),nop(ftrace(baseKB:isa(mudInsideOf,rtBinaryPredicate)))))\nno_proof_for(\\+isa(mudInsideOf,rtBinaryPredicate)).\n\nno_proof_for(\\+isa(mudInsideOf,rtBinaryPredicate)).\n\nno_proof_for(\\+isa(mudInsideOf,rtBinaryPredicate)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__MudInsideOf
JUNIT_CLASSNAME='logicmoo.base.examples.fol.HOLDS_011'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'holds_011.pfc\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['holds_011.pfc']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- baseKB=BaseKB,
   set_defaultAssertMt(BaseKB),
   module(BaseKB),'$set_typein_module'(BaseKB),'$set_source_module'(BaseKB),set_fileAssertMt(BaseKB).

/*~
%~ set_fileAssertMt(baseKB).
~*/


:- kb_global(mudContains/2).
/*~
~*/

mudContains(a,b).

%:- kb_shared(genlInverse/2).
%:- kb_shared(mudInsideOf/2).

/*~
No source location!?
~*/

%:- kb_shared(genlInverse/2).
%:- kb_shared(mudInsideOf/2).

meta_argtypes(genlInverse(rtBinaryPredicate,rtBinaryPredicate)).

/*~
~*/

:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- mpred_trace_exec.

/*~
~*/

(((P/(has_functor(P),get_functor(P,F,_A), \+ prologSideEffects(F)) ==> {deduceEachArgType(P)}))).

/*~
/* call_mpred_post4 :-
     level=81 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1 = ( ( P /
                 ( has_functor(P)  ,
                   get_functor(P,F,_A) ,
                   \+prologSideEffects(F))) ==>
               {deduceEachArgType(P)}) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0 = ( ( P /
              ( has_functor(P)  ,
                get_functor(P,F,_A) ,
                \+prologSideEffects(F))) ==>
            {deduceEachArgType(P)}) ,
     support_fact = mfl4(
                       [ 'P'=P, 'F'=F,'_A'=_A],
                        baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32) ,
   support_trig=ax.  */
/* baseKB : mpred_fwc1( ( ( DeduceEachArgType_Get_functor4 /
                            ( has_functor(DeduceEachArgType_Get_functor4)  ,
                              get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                              \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)})).  */
/* call_mpred_post4 :-
     level=130 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode) ,
     support_fact = mfl4(
                       [ 'P'=P, 'F'=F,'_A'=_A],
                        baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: \+ground((deduceEachArgType/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(deduceEachArgType,1)*->rhs([mpred_prop(baseKB,deduceEachArgType,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,deduceEachArgType,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,deduceEachArgType,1,Prop_Pred_PfcCallCode)])
/* call_mpred_post4 :-
     level=133 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,has_functor,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,has_functor,1,pfcCallCode) ,
     support_fact = ( ( ( DeduceEachArgType_Get_functor4 /
                          ( has_functor(DeduceEachArgType_Get_functor4)  ,
                            get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                            \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)}) ,
                      mfl4(
                         [ 'P'=P5, 'F'=F6,'_A'=A],
                          baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32)) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,has_functor,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: \+ground((has_functor/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,has_functor,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(has_functor,1)*->rhs([mpred_prop(baseKB,has_functor,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,has_functor,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,has_functor,1,Prop_Pred_PfcCallCode)])
/* call_mpred_post4 :-
     level=135 ,
     que=0 ,
     assertion_status=unique ,
     support_status=none ,
     post1=mpred_prop(baseKB,prologSideEffects,1,pfcCallCode) ,
     fix_mp=baseKB ,
     mz=baseKB ,
     p0=mpred_prop(baseKB,prologSideEffects,1,pfcCallCode) ,
     support_fact = ( ( ( DeduceEachArgType_Get_functor4 /
                          ( has_functor(DeduceEachArgType_Get_functor4)  ,
                            get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
                            \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
                        {deduceEachArgType(DeduceEachArgType_Get_functor4)}) ,
                      mfl4(
                         [ 'P'=P5, 'F'=F6,'_A'=A],
                          baseKB, '/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc', 32)) ,
   support_trig=ax.  */
%~ baseKB : mpred_fwc1(mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)).
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: \+ground((prologSideEffects/1))*->rhs([{trace_or_throw(mpred_prop(baseKB,prologSideEffects,1,pfcCallCode))}])
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: predicate_is_undefined_fa(prologSideEffects,1)*->rhs([mpred_prop(baseKB,prologSideEffects,1,needsDefined)])
%~ %~ Found positive trigger: mpred_prop(baseKB,prologSideEffects,1,pfcCallCode)
%~ %~ body: genlPreds(pfcCallCode,Prop_Pred_PfcCallCode)*->rhs([mpred_prop(baseKB,prologSideEffects,1,Prop_Pred_PfcCallCode)])
/* /* Adding positive
      trigger: _1404
      body: has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor)*->rhs([{deduceEachArgType(DeduceEachArgType_Get_functor4)}])
   Support: ((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}),mfl4(['P'=P,'F'=F,'_A'=_A],baseKB,'/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/holds_011.pfc':32,32)  */  */
%~ %~ Found positive trigger: (DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}
%~ %~ body: has_functor(((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)})),get_functor(((DeduceEachArgType_Get_functor4/has_functor(DeduceEachArgType_Get_functor4),get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor),\+prologSideEffects(PrologSideEffects_Get_functor))==>{deduceEachArgType(DeduceEachArgType_Get_functor4)}),PrologSideEffects,Functor8),\+prologSideEffects(PrologSideEffects)*->rhs([ { deduceEachArgType( ( ( DeduceEachArgType_Get_functor4 /
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ( has_functor(DeduceEachArgType_Get_functor4)  ,
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    get_functor(DeduceEachArgType_Get_functor4,PrologSideEffects_Get_functor,Functor) ,
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \+prologSideEffects(PrologSideEffects_Get_functor))) ==>
%~ %~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                {deduceEachArgType(DeduceEachArgType_Get_functor4)})) }])
~*/

:- mpred_trace_exec.

/*~
~*/

genlInverse(mudContains,mudInsideOf).

% :- baseKB:deduceEachArgType(genlInverse(mudContains,mudInsideOf)).

% :- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2), t(P1,A,B)) ==> t(P2,B,A)))).

%:- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2)) ==> ( t(P1,A,B) ==> t(P2,B,A))))).

/*~
No source location!?
~*/

% :- baseKB:deduceEachArgType(genlInverse(mudContains,mudInsideOf)).

% :- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2), t(P1,A,B)) ==> t(P2,B,A)))).

%:- must(ain((( genlInverse(P1,P2),arity(P1,2),arity(P2,2)) ==> ( t(P1,A,B) ==> t(P2,B,A))))).

genlInverse(P1,P2) ==> ( t(P1,A,B) ==> t(P2,B,A)).


%:-ain((((P/(has_functor(P),get_functor(P,F,A), \+prologSideEffects(F),mpred_literal(P)) ==> {baseKB:agenda_slow_op_enqueue(deduceEachArgType(P))})))).

/*~
/* call_mpred_post4 :-
     level=81 ,
     que=0
goal=baseKB:isa(mudInsideOf,rtBinaryPredicate).
time=0.0007309913635253906.
failure=failure=info((why_was_true(baseKB:(\+isa(mudInsideOf,rtBinaryPredicate))),nop(ftrace(baseKB:isa(mudInsideOf,rtBinaryPredicate)))))
no_proof_for(\+isa(mudInsideOf,rtBinaryPredicate)).

no_proof_for(\+isa(mudInsideOf,rtBinaryPredicate)).

no_proof_for(\+isa(mudInsideOf,rtBinaryPredicate)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_TYPES_WFF_01@Test_0001_Line_0000__Fred_in_user: user:human(fred)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+human(fred))),nop(ftrace(user:human(fred)))))\nno_proof_for(\\+human(fred)).\n\nno_proof_for(\\+human(fred)).\n\nno_proof_for(\\+human(fred)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_types_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_types_wff_01.pfc.pl']")

```
goal=user:human(fred).
time=0.0011394023895263672.
failure=failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_TYPES_WFF_01@Test_0002_Line_0000__servant_1_in_user: user:all(Human_Servant_If,if(servant(Human_Servant_If),human(Human_Servant_If)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+all(_35310,if(servant(_35310),human(_35310))))),nop(ftrace(user:all(_35310,if(servant(_35310),human(_35310)))))))\nno_proof_for(\\+all(X,if(servant(X),human(X)))).\n\nno_proof_for(\\+all(X,if(servant(X),human(X)))).\n\nno_proof_for(\\+all(X,if(servant(X),human(X)))).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__servant_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_types_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_types_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_types_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% Define a couple classes
% =================================================================================

% this creates the servant datatype
/*~
~*/

% =================================================================================
% Define a couple classes
% =================================================================================

% this creates the servant datatype
==> all(X, if(isa(X,servant),livesAt(X, green_house))).

% this creates the human datatype as well as functions that in the future that are create to accept humans must also accept servants
/*~
~*/

% this creates the human datatype as well as functions that in the future that are create to accept humans must also accept servants
==> all(X, if(livesAt(X, green_house),isa(X,human))).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

:- mpred_trace_exec.

% ?- mpred_test(all(X,if(isa(X,servant),isa(X,human)))).

/*~
~*/


% ?- mpred_test(all(X,if(isa(X,servant),isa(X,human)))).

==> isa(fred,servant). 

/*~
~*/
 

:- mpred_test(isa(fred,human)).

%?- all(X,t(OP,isa(X,human),~isa(X,servant))).
%OP = {A,B}/( if(~A,B) ).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:human(fred)).
%~ make_dynamic_here(baseKB,human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_types_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTAR
goal=user:all(_65222,if(servant(_65222),human(_65222))).
time=0.0010914802551269531.
failure=failure=info((why_was_true(user:(\+all(_35310,if(servant(_35310),human(_35310))))),nop(ftrace(user:all(_35310,if(servant(_35310),human(_35310)))))))
no_proof_for(\+all(X,if(servant(X),human(X)))).

no_proof_for(\+all(X,if(servant(X),human(X)))).

no_proof_for(\+all(X,if(servant(X),human(X)))).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_TYPES_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_TYPES_WFF_01@Test_0003_Line_0000__human_1_in_user: user:all(Servant_Human_If,if(~human(Servant_Human_If),~servant(Servant_Human_If)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+all(_75510,if(~human(_75510),~servant(_75510))))),nop(ftrace(user:all(_75510,if(~human(_75510),~servant(_75510)))))))\nno_proof_for(\\+all(X,if(~human(X),~servant(X)))).\n\nno_proof_for(\\+all(X,if(~human(X),~servant(X)))).\n\nno_proof_for(\\+all(X,if(~human(X),~servant(X)))).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__human_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_types_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_types_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_types_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% Define a couple classes
% =================================================================================

% this creates the servant datatype
/*~
~*/

% =================================================================================
% Define a couple classes
% =================================================================================

% this creates the servant datatype
==> all(X, if(isa(X,servant),livesAt(X, green_house))).

% this creates the human datatype as well as functions that in the future that are create to accept humans must also accept servants
/*~
~*/

% this creates the human datatype as well as functions that in the future that are create to accept humans must also accept servants
==> all(X, if(livesAt(X, green_house),isa(X,human))).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

:- mpred_trace_exec.

% ?- mpred_test(all(X,if(isa(X,servant),isa(X,human)))).

/*~
~*/


% ?- mpred_test(all(X,if(isa(X,servant),isa(X,human)))).

==> isa(fred,servant). 

/*~
~*/
 

:- mpred_test(isa(fred,human)).

%?- all(X,t(OP,isa(X,human),~isa(X,servant))).
%OP = {A,B}/( if(~A,B) ).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:human(fred)).
%~ make_dynamic_here(baseKB,human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_TYPES_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_types_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTAR
goal=user:all(_106106,if(~human(_106106),~servant(_106106))).
time=0.0007266998291015625.
failure=failure=info((why_was_true(user:(\+all(_75510,if(~human(_75510),~servant(_75510))))),nop(ftrace(user:all(_75510,if(~human(_75510),~servant(_75510)))))))
no_proof_for(\+all(X,if(~human(X),~servant(X)))).

no_proof_for(\+all(X,if(~human(X),~servant(X)))).

no_proof_for(\+all(X,if(~human(X),~servant(X)))).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0001_Line_0000__Fred_in_user: user:poss(human(fred))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
goal=user:poss(human(fred)).
time=0.0019240379333496094.
passed=passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0002_Line_0000__naf_Fred_in_user: user:(\\+is_user_fact(human(fred)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\\+is_user_fact(human(fred)))))))\nno_proof_for(is_user_fact(human(fred))).\n\nno_proof_for(is_user_fact(human(fred))).\n\nno_proof_for(is_user_fact(human(fred))).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__naf_Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout
goal=user:(\+is_user_fact(human(fred))).
time=0.0014848709106445312.
failure=failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0003_Line_0000__Fred_in_user: user:human(fred)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+human(fred))),nop(ftrace(user:human(fred)))))\nno_proof_for(\\+human(fred)).\n\nno_proof_for(\\+human(fred)).\n\nno_proof_for(\\+human(fred)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout
goal=user:human(fred).
time=0.0009486675262451172.
failure=failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0004_Line_0000__Green_house_in_user: user:poss(dwelling(green_house))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0004_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout
goal=user:poss(dwelling(green_house)).
time=0.0013167858123779297.
passed=passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0005_Line_0000__Green_house_in_user: user:dwelling(green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0005_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout
goal=user:dwelling(green_house).
time=0.0006968975067138672.
failure=failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0006_Line_0000__Green_house_in_user: user:naf(~dwelling(green_house))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0006_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0v
goal=user:naf(~dwelling(green_house)).
time=0.0015714168548583984.
passed=passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0007_Line_0000__Green_house_in_user: user:dwelling(green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0007_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0v
goal=user:dwelling(green_house).
time=0.001146078109741211.
failure=failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0008_Line_0000__Fran_in_user: user:drinker(fran)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(fran))),nop(ftrace(user:drinker(fran)))))\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\n". failure = [].
failed
Stderr
name=Test_0008_Line_0000__Fran_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0v
goal=user:drinker(fran).
time=0.0010161399841308594.
failure=failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0009_Line_0000__Fran_in_user: user:drinker(fran)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(fran))),nop(ftrace(user:drinker(fran)))))\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\n". failure = [].
failed
Stderr
name=Test_0009_Line_0000__Fran_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0v
goal=user:drinker(fran).
time=0.0016069412231445312.
failure=failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.2 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0010_Line_0000__Fran_in_user: user:(isa(fran,Col_Drinker_Fran),Col_Drinker_Fran==drinker)
Outcome:Failed
Duration:0.1 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\n". failure = [].
failed
Stderr
name=Test_0010_Line_0000__Fran_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.example
goal=user:(isa(fran,_130562),_130562==drinker).
time=0.06962108612060547.
failure=failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0011_Line_0000__Fred_in_user: user:poss(drinker(fred))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0011_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.example
goal=user:poss(drinker(fred)).
time=0.0008649826049804688.
passed=passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0012_Line_0000__Coffee_in_user: user:beverage_class(coffee)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))\nno_proof_for(\\+beverage_class(coffee)).\n\nno_proof_for(\\+beverage_class(coffee)).\n\nno_proof_for(\\+beverage_class(coffee)).\n\n". failure = [].
failed
Stderr
name=Test_0012_Line_0000__Coffee_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0009_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0009_Line_0000_Fran_in_user-junit.xml
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:92
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0010_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0010_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:96
%~ ?-mpred_test("Test_0011_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0011_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0011_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0012_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverag
goal=user:beverage_class(coffee).
time=0.0009121894836425781.
failure=failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0013_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0013_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0009_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0009_Line_0000_Fran_in_user-junit.xml
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:92
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0010_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0010_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:96
%~ ?-mpred_test("Test_0011_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0011_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0011_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0012_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverag
goal=user:drinker(sue).
time=0.0006756782531738281.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0014_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0014_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0009_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0009_Line_0000_Fran_in_user-junit.xml
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:92
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0010_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0010_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:96
%~ ?-mpred_test("Test_0011_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0011_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0011_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0012_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverag
goal=user:drinker(sue).
time=0.00136566162109375.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0015_Line_0000__naf_Ralf_in_user: user:(\\+drinker(ralf))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0015_Line_0000__naf_Ralf_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0009_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0009_Line_0000_Fran_in_user-junit.xml
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:92
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0010_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0010_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:96
%~ ?-mpred_test("Test_0011_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0011_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0011_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0012_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverag
goal=user:(\+drinker(ralf)).
time=0.0007724761962890625.
passed=passed=info(why_was_true(user:(\+drinker(ralf))))
no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_01

Test case:logicmoo.base.examples.fol.MAKE_WFF_01@Test_0016_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0016_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


% =================================================================================
% Load the system
% =================================================================================

% :- make.

% :- set_prolog_flag(gc,false).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/

% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1  Possible Fact
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(\+ is_user_fact(isa(fred,human))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__naf_Fred_in_user",user:(\+is_user_fact(human(fred)))).
failure=info((why_was_true(user:is_user_fact(human(fred))),nop(ftrace(user:(\+is_user_fact(human(fred)))))))
no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

no_proof_for(is_user_fact(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0002_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0002_Line_0000_naf_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(fred,human)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fred_in_user",user:human(fred)).
failure=info((why_was_true(user:(\+human(fred))),nop(ftrace(user:human(fred)))))
no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

no_proof_for(\+human(fred)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0003_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0003_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(poss(isa(green_house,dwelling))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Green_house_in_user",user:poss(dwelling(green_house))).
passed=info(why_was_true(user:poss(dwelling(green_house))))
no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

no_proof_for(poss(dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0004_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0004_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(naf(~isa(green_house,dwelling))).

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Green_house_in_user",user:naf(~dwelling(green_house))).
passed=info(why_was_true(user:naf(~dwelling(green_house))))
no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

no_proof_for(naf(~dwelling(green_house))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0006_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0006_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2  Absolute Facts
% =================================================================================

:- mpred_trace_exec.

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).

/*~
~*/

:- mpred_test(dwelling(green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


:- mpred_test(drinker(fran)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:88
%~ ?-mpred_test("Test_0008_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0008_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0008_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0009_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0009_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0009_Line_0000_Fran_in_user-junit.xml
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:92
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_470),_470==drinker))),nop(ftrace(user:(isa(fran,_470),_470==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0010_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0010_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:96
%~ ?-mpred_test("Test_0011_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0011_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0011_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0012_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0012_Line_0000__Coffee_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0012_Line_0000_Coffee_in_user-junit.xml
~*/

% =================================================================================
% Test 3
% =================================================================================

==> livesAt(sue,green_house).
% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
/*~
~*/

% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
:- mpred_test(isa(sue,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_01.pfc.pl:106
%~ ?-mpred_test("Test_0013_Line_0000__Sue_in_user",user:drinker(sue)).
failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0013_Line_0000__Sue_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0013_Line_0000_Sue_in_user-junit.xml
~*/

:- mpred_why(isa(sue,drinker)).

% =================================================================================
% Test 4
% =================================================================================

/*~
%~ ?-mpred_test("Test_0014_Line_0000__Sue_in_user",user:drinker(sue)).
failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0014_Line_0000__Sue_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_01_Test_0014_Line_0000_Sue_in_user-junit.xml
~*/

% =================================================================================
% Test 4
% =================================================================================

==> livesAt(sue,red_house).

/*~
~*/

==> livesAt(ralf,red_house).

/*~
~*/

:- mpred_test(\+ isa(ralf,drinker)).

/*~
%~ ?-mpred_test("Test_0015_Line_0000__naf_Ralf_in_user",user:(\+drinker(ralf))).
passed=info(why_was_true(user:(\+drinker(ralf))))
no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

name='logicmoo.base.examples.fol.MAKE_WFF_01-Test_0015_Line_0000__naf_Ralf_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-log
goal=user:drinker(sue).
time=0.0008897781372070312.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0001_Line_0000__Fred_in_user: user:poss(human(fred))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
goal=user:poss(human(fred)).
time=0.001470327377319336.
passed=passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0002_Line_0000__Green_house_in_user: user:dwelling(green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\nno_proof_for(\\+dwelling(green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_b
goal=user:dwelling(green_house).
time=0.0006580352783203125.
failure=failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0003_Line_0000__Fran_in_user: user:drinker(fran)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(fran))),nop(ftrace(user:drinker(fran)))))\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\nno_proof_for(\\+drinker(fran)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__Fran_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_b
goal=user:drinker(fran).
time=0.0006649494171142578.
failure=failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0004_Line_0000__Fran_in_user: user:(isa(fran,Col_Drinker_Fran),Col_Drinker_Fran==drinker)
Outcome:Failed
Duration:0.1 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\nno_proof_for(\\+ (isa(fran,X),X==drinker)).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__Fran_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_
goal=user:(isa(fran,_85318),_85318==drinker).
time=0.05706906318664551.
failure=failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0005_Line_0000__Fred_in_user: user:poss(drinker(fred))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0005_Line_0000__Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_
goal=user:poss(drinker(fred)).
time=0.0007436275482177734.
passed=passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0006_Line_0000__Coffee_in_user: user:beverage_class(coffee)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))\nno_proof_for(\\+beverage_class(coffee)).\n\nno_proof_for(\\+beverage_class(coffee)).\n\nno_proof_for(\\+beverage_class(coffee)).\n\n". failure = [].
failed
Stderr
name=Test_0006_Line_0000__Coffee_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_
goal=user:beverage_class(coffee).
time=0.0006961822509765625.
failure=failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0007_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0007_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_
goal=user:drinker(sue).
time=0.0006885528564453125.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0008_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0008_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0004_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0004_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0005_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0005_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0006_Line_0000__Coffee_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0006_Line_0000_Coffee_in_user-junit.xml
~*/

% =================================================================================
% Test 3
% =================================================================================

==> livesAt(sue,green_house).
% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
/*~
~*/

% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
:- mpred_test(isa(sue,drinker)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Sue_in_user",user:drinker(sue)).
failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0007_Line_0000__Sue_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0007_Line_0000_Sue_in_user-junit.xml
~*/

:- mpred_why(isa(sue,drinker)).

% =================================================================================
%
goal=user:drinker(sue).
time=0.0007805824279785156.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0009_Line_0000__naf_Ralf_in_user: user:(\\+drinker(ralf))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0009_Line_0000__naf_Ralf_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0004_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0004_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0005_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0005_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0006_Line_0000__Coffee_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0006_Line_0000_Coffee_in_user-junit.xml
~*/

% =================================================================================
% Test 3
% =================================================================================

==> livesAt(sue,green_house).
% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
/*~
~*/

% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
:- mpred_test(isa(sue,drinker)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Sue_in_user",user:drinker(sue)).
failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0007_Line_0000__Sue_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0007_Line_0000_Sue_in_user-junit.xml
~*/

:- mpred_why(isa(sue,drinker)).

% =================================================================================
%
goal=user:(\+drinker(ralf)).
time=0.0007665157318115234.
passed=passed=info(why_was_true(user:(\+drinker(ralf))))
no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

no_proof_for(\+drinker(ralf)).

result=passed.

Test Suite: logicmoo.base.examples.fol.MAKE_WFF_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.MAKE_WFF_02

Test case:logicmoo.base.examples.fol.MAKE_WFF_02@Test_0010_Line_0000__Sue_in_user: user:drinker(sue)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinker(sue))),nop(ftrace(user:drinker(sue)))))\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\nno_proof_for(\\+drinker(sue)).\n\n". failure = [].
failed
Stderr
name=Test_0010_Line_0000__Sue_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['make_wff_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).

% =================================================================================
% Define a couple predicates
% =================================================================================
/*~
~*/


% =================================================================================
% Define a couple predicates
% =================================================================================
:- set_prolog_flag(access_level,system).
/*~
~*/

:- redefine_system_predicate(arity(_,_)).
/*~
~*/

:- unlock_predicate(arity(_,_)).
/*~
~*/

:- multifile arity/2.

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
~*/

% maximum cardinality of livesAt/2 is 1
%==> isa(livesAt,'FunctionalBinaryPredicate').
==> singleValuedInArg(livesAt,2).
% thus implies
/*~
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

==> argIsa(drinks,1,drinker).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% Test 1
% =================================================================================

/*~
~*/

% =================================================================================
% Test 1
% =================================================================================

==> poss(livesAt(fred,green_house)).

/*~
~*/

:- mpred_test(poss(isa(fred,human))).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Fred_in_user",user:poss(human(fred))).
passed=info(why_was_true(user:poss(human(fred))))
no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

no_proof_for(poss(human(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0001_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0001_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(green_house,dwelling)).

% =================================================================================
% Test 2
% =================================================================================

/*~
%~ ?-mpred_test("Test_0002_Line_0000__Green_house_in_user",user:dwelling(green_house)).
failure=info((why_was_true(user:(\+dwelling(green_house))),nop(ftrace(user:dwelling(green_house)))))
no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

no_proof_for(\+dwelling(green_house)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0002_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0002_Line_0000_Green_house_in_user-junit.xml
~*/

% =================================================================================
% Test 2
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

prove_holds_t(F,A,B)==>t(F,A,B).

/*~
~*/

prove_not_holds_t(F,A,B)==> ~t(F,A,B).

/*~
~*/


==> livesAt(fran,green_house).
/*~
~*/

==> livesAt(sue,green_house).


/*~
~*/



proven(G) :- call_u(G).

/*~
~*/

==> all(X, if(livesAt(X, green_house),drinks(X, coffee))).

/*~
~*/

==> all(X, if(livesAt(X, green_house),human(X))).

/*~
~*/

:- kif_add(isa(joe,drinker)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/make_wff_02.pfc.pl:74
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))
%~ debugm(user,show_success(user,user:ain(clif(drinker(joe))))).



=======================================================
drinker(joe)
============================================

?- kif_to_boxlog( drinker(joe) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=drinker(joe).
%~ kifm=nesc(drinker(joe)).
%~ kif_to_boxlog_attvars2 = necessary(drinker(joe))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(drinker(joe)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa drinker
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinker(joe)).
.

============================================
~*/

:- mpred_test(isa(fran,drinker)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__Fran_in_user",user:drinker(fran)).
failure=info((why_was_true(user:(\+drinker(fran))),nop(ftrace(user:drinker(fran)))))
no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

no_proof_for(\+drinker(fran)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0003_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0003_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test((isa(fran,X),X==drinker)).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__Fran_in_user",user:(isa(fran,X),X==drinker)).
failure=info((why_was_true(user:(\+ (isa(fran,_129646),_129646==drinker))),nop(ftrace(user:(isa(fran,_129646),_129646==drinker)))))
no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

no_proof_for(\+ (isa(fran,X),X==drinker)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0004_Line_0000__Fran_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0004_Line_0000_Fran_in_user-junit.xml
~*/

:- mpred_test(poss(isa(fred,drinker))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Fred_in_user",user:poss(drinker(fred))).
passed=info(why_was_true(user:poss(drinker(fred))))
no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

no_proof_for(poss(drinker(fred))).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0005_Line_0000__Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0005_Line_0000_Fred_in_user-junit.xml
~*/

:- mpred_test(isa(coffee,beverage_class)).

% =================================================================================
% Test 3
% =================================================================================

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Coffee_in_user",user:beverage_class(coffee)).
failure=info((why_was_true(user:(\+beverage_class(coffee))),nop(ftrace(user:beverage_class(coffee)))))
no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

no_proof_for(\+beverage_class(coffee)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0006_Line_0000__Coffee_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0006_Line_0000_Coffee_in_user-junit.xml
~*/

% =================================================================================
% Test 3
% =================================================================================

==> livesAt(sue,green_house).
% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
/*~
~*/

% :- repropagate(all(X, if(livesAt(X, green_house),drinks(X, coffee)))).
:- mpred_test(isa(sue,drinker)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Sue_in_user",user:drinker(sue)).
failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

name='logicmoo.base.examples.fol.MAKE_WFF_02-Test_0007_Line_0000__Sue_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.MAKE_WFF_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'make_wff_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_MAKE_WFF_02_Test_0007_Line_0000_Sue_in_user-junit.xml
~*/

:- mpred_why(isa(sue,drinker)).

% =================================================================================
%
goal=user:drinker(sue).
time=0.0013036727905273438.
failure=failure=info((why_was_true(user:(\+drinker(sue))),nop(ftrace(user:drinker(sue)))))
no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

no_proof_for(\+drinker(sue)).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_01

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_01@Test_0001_Line_0000__naf_Fred_in_user: user:(\\+drinks(fred,coffee))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__naf_Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_01.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
%
% =================================================================================

:- show_kif_to_boxlog(all(X, livesAt(X, green_house) & drinks(X, coffee))).

% this should have meant:

/*~
%~ test_boxlog(all(_10826,livesAt(_10826,green_house)&drinks(_10826,coffee))).
~*/

% this should have meant:

:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_01.pfc.pl:49
%~ test_boxlog( all( X,
%~                ( poss(livesAt(X,green_house)&drinks(X,coffee)) =>
%~                  livesAt(X,green_house)&drinks(X,coffee)))).
~*/

:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(
goal=user:(\+drinks(fred,coffee)).
time=0.0007464885711669922.
passed=passed=info(why_was_true(user:(\+drinks(fred,coffee))))
no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0001_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drink
goal=user:poss(a(b)).
time=0.0007619857788085938.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0002_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drink
goal=user:poss(a(b)).
time=0.0008513927459716797.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0003_Line_0000__naf_B_in_user: user:(\\+poss(a(b)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\\+poss(a(b)))))))\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__naf_B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drink
goal=user:(\+poss(a(b))).
time=0.0007631778717041016.
failure=failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0004_Line_0000__B_in_user: user: ~poss(a(b))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserv
goal=user: ~poss(a(b)).
time=0.0007464885711669922.
failure=failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0005_Line_0000__Green_house_in_user: user:poss(livesAt(bob,green_house))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0005_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserv
goal=user:poss(livesAt(bob,green_house)).
time=0.0007627010345458984.
passed=passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0006_Line_0000__Bob_in_user: user:poss(drinks(bob,coffee))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0006_Line_0000__Bob_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserv
goal=user:poss(drinks(bob,coffee)).
time=0.0007565021514892578.
passed=passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0007_Line_0000__Green_house_in_user: user:livesAt(bob,green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))\nno_proof_for(\\+livesAt(bob,green_house)).\n\nno_proof_for(\\+livesAt(bob,green_house)).\n\nno_proof_for(\\+livesAt(bob,green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0007_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true
goal=user:livesAt(bob,green_house).
time=0.0006766319274902344.
failure=failure=info((why_was_true(user:(\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0008_Line_0000__naf_Bob_in_user: user:(\\+poss(drinks(bob,coffee)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\\+poss(drinks(bob,coffee)))))))\nno_proof_for(poss(drinks(bob,coffee))).\n\nno_proof_for(poss(drinks(bob,coffee))).\n\nno_proof_for(poss(drinks(bob,coffee))).\n\n". failure = [].
failed
Stderr
name=Test_0008_Line_0000__naf_Bob_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true
goal=user:(\+poss(drinks(bob,coffee))).
time=0.0007212162017822266.
failure=failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\+poss(drinks(bob,coffee)))))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0009_Line_0000__naf_Green_house_in_user: user:(\\+livesAt(bob,green_house))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0009_Line_0000__naf_Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true
goal=user:(\+livesAt(bob,green_house)).
time=0.0006856918334960938.
passed=passed=info(why_was_true(user:(\+livesAt(bob,green_house))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0010_Line_0000__Bob_in_user: user: ~poss(drinks(bob,coffee))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))\nno_proof_for(\\+ ~poss(drinks(bob,coffee))).\n\nno_proof_for(\\+ ~poss(drinks(bob,coffee))).\n\nno_proof_for(\\+ ~poss(drinks(bob,coffee))).\n\n". failure = [].
failed
Stderr
name=Test_0010_Line_0000__Bob_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true
goal=user: ~poss(drinks(bob,coffee)).
time=0.0007472038269042969.
failure=failure=info((why_was_true(user:(\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))
no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0011_Line_0000__naf_Fred_in_user: user:(\\+drinks(fred,coffee))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0011_Line_0000__naf_Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true(user:(\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_trace_exec.

/*~
~*/

~poss(drinks(bob,coffee)).

/*~
~*/

:- mpred_test(\+ poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0008_Line_0000__naf_Bob_in_user",user:(\+poss(drinks(bob,coffee)))).
failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\+poss(drinks(bob,coffee)))))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0008_Line_0000__naf_Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0008_Line_0000_naf_Bob_in_user-junit.xml
~*/

:- mpred_test(\+ livesAt(bob,green_house)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:98
%~ ?-mpred_test("Test_0009_Line_0000__naf_Green_house_in_user",user:(\+livesAt(bob,green_house))).
passed=info(why_was_true(user:(\+livesAt(bob,green_house))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0009_Line_0000__naf_Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0009_Line_0000_naf_Green_house_in_user-junit.xml
~*/


:- mpred_test(~poss(drinks(bob,coffee))).

% =================================================================================
% Fred Test ~poss
% =================================================================================

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Bob_in_user",user: ~poss(drinks(bob,coffee))).
failure=info((why_was_true(user:(\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))
no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0010_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenki
goal=user:(\+drinks(fred,coffee)).
time=0.0006983280181884766.
passed=passed=info(why_was_true(user:(\+drinks(fred,coffee))))
no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0012_Line_0000__Joe_in_user: user:drinks(joe,coffee)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+drinks(joe,coffee))),nop(ftrace(user:drinks(joe,coffee)))))\nno_proof_for(\\+drinks(joe,coffee)).\n\nno_proof_for(\\+drinks(joe,coffee)).\n\nno_proof_for(\\+drinks(joe,coffee)).\n\n". failure = [].
failed
Stderr
name=Test_0012_Line_0000__Joe_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true(user:(\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_trace_exec.

/*~
~*/

~poss(drinks(bob,coffee)).

/*~
~*/

:- mpred_test(\+ poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0008_Line_0000__naf_Bob_in_user",user:(\+poss(drinks(bob,coffee)))).
failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\+poss(drinks(bob,coffee)))))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0008_Line_0000__naf_Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0008_Line_0000_naf_Bob_in_user-junit.xml
~*/

:- mpred_test(\+ livesAt(bob,green_house)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:98
%~ ?-mpred_test("Test_0009_Line_0000__naf_Green_house_in_user",user:(\+livesAt(bob,green_house))).
passed=info(why_was_true(user:(\+livesAt(bob,green_house))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0009_Line_0000__naf_Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0009_Line_0000_naf_Green_house_in_user-junit.xml
~*/


:- mpred_test(~poss(drinks(bob,coffee))).

% =================================================================================
% Fred Test ~poss
% =================================================================================

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Bob_in_user",user: ~poss(drinks(bob,coffee))).
failure=info((why_was_true(user:(\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))
no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0010_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenki
goal=user:drinks(joe,coffee).
time=0.0006747245788574219.
failure=failure=info((why_was_true(user:(\+drinks(joe,coffee))),nop(ftrace(user:drinks(joe,coffee)))))
no_proof_for(\+drinks(joe,coffee)).

no_proof_for(\+drinks(joe,coffee)).

no_proof_for(\+drinks(joe,coffee)).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0013_Line_0000__naf_Green_house_in_user: user:(\\+livesAt(Human_Green_house,green_house))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0013_Line_0000__naf_Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true(user:(\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_trace_exec.

/*~
~*/

~poss(drinks(bob,coffee)).

/*~
~*/

:- mpred_test(\+ poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0008_Line_0000__naf_Bob_in_user",user:(\+poss(drinks(bob,coffee)))).
failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\+poss(drinks(bob,coffee)))))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0008_Line_0000__naf_Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0008_Line_0000_naf_Bob_in_user-junit.xml
~*/

:- mpred_test(\+ livesAt(bob,green_house)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:98
%~ ?-mpred_test("Test_0009_Line_0000__naf_Green_house_in_user",user:(\+livesAt(bob,green_house))).
passed=info(why_was_true(user:(\+livesAt(bob,green_house))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0009_Line_0000__naf_Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0009_Line_0000_naf_Green_house_in_user-junit.xml
~*/


:- mpred_test(~poss(drinks(bob,coffee))).

% =================================================================================
% Fred Test ~poss
% =================================================================================

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Bob_in_user",user: ~poss(drinks(bob,coffee))).
failure=info((why_was_true(user:(\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))
no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0010_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenki
goal=user:(\+livesAt(_252874,green_house)).
time=0.0006816387176513672.
passed=passed=info(why_was_true(user:(\+livesAt(_220104,green_house))))
no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

result=passed.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02@Test_0014_Line_0000__Green_house_in_user: user: ~poss(livesAt(Human_Green_house,green_house))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(livesAt(_177616,green_house)))),nop(ftrace(user: ~poss(livesAt(_177616,green_house))))))\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\n". failure = [].
failed
Stderr
name=Test_0014_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/

:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

:-kb_shared(livesAt/2).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
==> isa(livesAt,'FunctionalBinaryPredicate').
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:29
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
~*/

==> argIsa(livesAt,1,human).
/*~
~*/

==> argIsa(livesAt,2,dwelling).

/*~
~*/

singleValuedInArg(livesAt,2).

% define drinks/2
/*~
~*/

% define drinks/2
:-kb_shared(drinks/2).
/*~
~*/

==> argIsa(drinks,1,human).
/*~
~*/

==> argIsa(drinks,2,beverage_class).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

all(X, livesAt(X, green_house) & drinks(X, coffee)).

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_464,livesAt(_464,green_house)&drinks(_464,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:51
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>nesc(livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(X,coffee))==>poss(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>nesc(drinks(X,coffee)).
.

~*/

% this should have meant:

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house) & drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

%:- show_kif_to_boxlog(all(X, (poss(livesAt(X, green_house)) & poss(drinks(X, coffee))) => livesAt(X, green_house) & drinks(X, coffee))).

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:69
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/

:- mpred_test(\+ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_in_user",user:(\+poss(a(b)))).
failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0003_Line_0000__naf_B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0003_Line_0000_naf_B_in_user-junit.xml
~*/

:- mpred_test(~ poss(a(b))).

/*~
%~ ?-mpred_test("Test_0004_Line_0000__B_in_user",user: ~poss(a(b))).
failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0004_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0004_Line_0000_B_in_user-junit.xml
~*/

:- listing(poss).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:77
%~ skipped(listing(poss)).
~*/

:- break.

% =================================================================================
% Bob Test ~poss
% =================================================================================

/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Bob Test ~poss
% =================================================================================

:- mpred_test(poss(livesAt(bob,green_house))).

/*~
%~ ?-mpred_test("Test_0005_Line_0000__Green_house_in_user",user:poss(livesAt(bob,green_house))).
passed=info(why_was_true(user:poss(livesAt(bob,green_house))))
no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

no_proof_for(poss(livesAt(bob,green_house))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0005_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0005_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_test(poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0006_Line_0000__Bob_in_user",user:poss(drinks(bob,coffee))).
passed=info(why_was_true(user:poss(drinks(bob,coffee))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0006_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0006_Line_0000_Bob_in_user-junit.xml
~*/

:- mpred_test(livesAt(bob,green_house)).

/*~
%~ ?-mpred_test("Test_0007_Line_0000__Green_house_in_user",user:livesAt(bob,green_house)).
failure=info((why_was_true(user:(\+livesAt(bob,green_house))),nop(ftrace(user:livesAt(bob,green_house)))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0007_Line_0000__Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0007_Line_0000_Green_house_in_user-junit.xml
~*/

:- mpred_trace_exec.

/*~
~*/

~poss(drinks(bob,coffee)).

/*~
~*/

:- mpred_test(\+ poss(drinks(bob,coffee))).

/*~
%~ ?-mpred_test("Test_0008_Line_0000__naf_Bob_in_user",user:(\+poss(drinks(bob,coffee)))).
failure=info((why_was_true(user:poss(drinks(bob,coffee))),nop(ftrace(user:(\+poss(drinks(bob,coffee)))))))
no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

no_proof_for(poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0008_Line_0000__naf_Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0008_Line_0000_naf_Bob_in_user-junit.xml
~*/

:- mpred_test(\+ livesAt(bob,green_house)).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:98
%~ ?-mpred_test("Test_0009_Line_0000__naf_Green_house_in_user",user:(\+livesAt(bob,green_house))).
passed=info(why_was_true(user:(\+livesAt(bob,green_house))))
no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

no_proof_for(\+livesAt(bob,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0009_Line_0000__naf_Green_house_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0009_Line_0000_naf_Green_house_in_user-junit.xml
~*/


:- mpred_test(~poss(drinks(bob,coffee))).

% =================================================================================
% Fred Test ~poss
% =================================================================================

/*~
%~ ?-mpred_test("Test_0010_Line_0000__Bob_in_user",user: ~poss(drinks(bob,coffee))).
failure=info((why_was_true(user:(\+ ~poss(drinks(bob,coffee)))),nop(ftrace(user: ~poss(drinks(bob,coffee))))))
no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

no_proof_for(\+ ~poss(drinks(bob,coffee))).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0010_Line_0000__Bob_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0010_Line_0000_Bob_in_user-junit.xml
~*/


% =================================================================================
% Fred Test ~poss
% =================================================================================

~poss(livesAt(fred,green_house)).

% Does fred drink coffee? (should be unknown)
/*~
~*/

% Does fred drink coffee? (should be unknown)
:- mpred_test(\+ drinks(fred,coffee)).

% =================================================================================
% Joe Test ~poss
% =================================================================================

/*~
%~ ?-mpred_test("Test_0011_Line_0000__naf_Fred_in_user",user:(\+drinks(fred,coffee))).
passed=info(why_was_true(user:(\+drinks(fred,coffee))))
no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0011_Line_0000__naf_Fred_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0011_Line_0000_naf_Fred_in_user-junit.xml
~*/


% =================================================================================
% Joe Test ~poss
% =================================================================================

poss(livesAt(joe,green_house)).

/*~
~*/

:- mpred_test(drinks(joe,coffee)).

% =================================================================================
%  Joe Test - Some changing facts about the world
% =================================================================================
/*~
%~ ?-mpred_test("Test_0012_Line_0000__Joe_in_user",user:drinks(joe,coffee)).
failure=info((why_was_true(user:(\+drinks(joe,coffee))),nop(ftrace(user:drinks(joe,coffee)))))
no_proof_for(\+drinks(joe,coffee)).

no_proof_for(\+drinks(joe,coffee)).

no_proof_for(\+drinks(joe,coffee)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0012_Line_0000__Joe_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_POSS_FORALL_EXISTS_02_Test_0012_Line_0000_Joe_in_user-junit.xml
~*/


% =================================================================================
%  Joe Test - Some changing facts about the world
% =================================================================================
:- mpred_trace_exec.

/*~
~*/

livesAt(joe,red_house).


% Does anyone live at the green house? (Should be none?)
/*~
~*/



% Does anyone live at the green house? (Should be none?)
:- mpred_test(\+ livesAt(_X,green_house)).

% Can anyone live at the green house? (Should be every cant?)
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_02.pfc.pl:133
%~ ?-mpred_test("Test_0013_Line_0000__naf_Green_house_in_user",user:(\+livesAt(_X,green_house))).
passed=info(why_was_true(user:(\+livesAt(_220104,green_house))))
no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

name='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_02-Test_0013_Line_00
goal=user: ~poss(livesAt(_213112,green_house)).
time=0.0007641315460205078.
failure=failure=info((why_was_true(user:(\+ ~poss(livesAt(_177616,green_house)))),nop(ftrace(user: ~poss(livesAt(_177616,green_house))))))
no_proof_for(\+ ~poss(livesAt(_X,green_house))).

no_proof_for(\+ ~poss(livesAt(_X,green_house))).

no_proof_for(\+ ~poss(livesAt(_X,green_house))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03@Test_0001_Line_0000__Green_house_in_user: user:livesAt(Human_Green_house,green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+livesAt(_40568,green_house))),nop(ftrace(user:livesAt(_40568,green_house)))))\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/


:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
instance(livesAt,'FunctionalBinaryPredicate').
% thus implies
/*~
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:29
%~ kifi=instance(livesAt,rtFunctionalBinaryPredicate).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))
%~ debugm(user,show_success(user,user:ain(clif(instance(livesAt,rtFunctionalBinaryPredicate))))).



=======================================================
instance(livesAt,rtFunctionalBinaryPredicate)
============================================

?- kif_to_boxlog( instance(livesAt,rtFunctionalBinaryPredicate) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt instance rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=rtFunctionalBinaryPredicate(livesAt).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(rtFunctionalBinaryPredicate(livesAt)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt isa rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(rtFunctionalBinaryPredicate(livesAt)).
.

============================================
~*/

% thus implies
arity(livesAt,2).
/*~
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))
%~ debugm(user,show_success(user,user:ain(clif(arity(livesAt,2))))).



=======================================================
arity(livesAt,2)
============================================

?- kif_to_boxlog( arity(livesAt,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(livesAt,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(livesAt,2)).
.

============================================
~*/

domain(livesAt,1,human).
/*~
%~ kifi=domain(livesAt,1,human).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:32
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,1,human))))).



=======================================================
domain(livesAt,1,human)
============================================

?- kif_to_boxlog( domain(livesAt,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,1,human)).
.

============================================
~*/

domain(livesAt,2,dwelling).

% define drinks/2
/*~
%~ kifi=domain(livesAt,2,dwelling).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:33
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,2,dwelling))))).



=======================================================
domain(livesAt,2,dwelling)
============================================

?- kif_to_boxlog( domain(livesAt,2,dwelling) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,2,dwelling)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,2,dwelling)).
.

============================================
~*/

% define drinks/2
arity(drinks,2).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:36
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))
%~ debugm(user,show_success(user,user:ain(clif(arity(drinks,2))))).



=======================================================
arity(drinks,2)
============================================

?- kif_to_boxlog( arity(drinks,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(drinks,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(drinks,2)).
.

============================================
~*/

domain(drinks,1,human).
/*~
%~ kifi=domain(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:37
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,1,human))))).



=======================================================
domain(drinks,1,human)
============================================

?- kif_to_boxlog( domain(drinks,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,1,human)).
.

============================================
~*/

domain(drinks,2,beverage_class).

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ kifi=domain(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,2,beverage_class))))).



=======================================================
domain(drinks,2,beverage_class)
============================================

?- kif_to_boxlog( domain(drinks,2,beverage_class) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:38
%~ kifi=argIsa(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,2,beverage_class)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,2,beverage_class)).
.

============================================
~*/


% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
all(X, if(drinks(X, coffee),possible(drinks(X, coffee)))).

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ kifi = all( Human_If_Coffee4,
%~          if(drinks(Human_If_Coffee4,coffee),possible(drinks(Human_If_Coffee4,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kifm = all(Human_Coffee5,(drinks(Human_Coffee5,coffee)=>poss(drinks(Human_Coffee5,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_Coffee5'),=>(drinks('$VAR'('Human_Coffee5'),coffee),possible(drinks('$VAR'('Human_Coffee5'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_480,if(drinks(_480,coffee),possible(drinks(_480,coffee)))))))).



=======================================================
all('$VAR'('Human_If_Coffee'),if(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))
============================================

?- kif_to_boxlog( all(Human_If_Coffee,if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Human_If_Coffee
%~    " ?Human_If_Coffee drinks coffee if ?Human_If_Coffee drinks coffee isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( Human_If_Coffee,
%~          if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_If_Coffee'),=>(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).
.

============================================
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:46
%~ kifi = all(X,if(drinks(X,coffee),possible(drinks(X,coffee)))).
%~ kifm = all(X,(drinks(X,coffee)=>poss(drinks(X,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(drinks('$VAR'('X'),coffee),possible(drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>nesc(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),possible(livesAt(X, green_house)))).

% =================================================================================
% Some facts about the world
% =================================================================================

/*~
%~ kifi = all( If_Green_house3,
%~          if(livesAt(If_Green_house3,green_house),possible(livesAt(If_Green_house3,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kifm = all( Human_Green_house4,
%~          livesAt(Human_Green_house4,green_house)=>poss(livesAt(Human_Green_house4,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_Green_house4'),=>(livesAt('$VAR'('Human_Green_house4'),green_house),possible(livesAt('$VAR'('Human_Green_house4'),green_house))))
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    " ?If_Green_house livesAt green_house if ?If_Green_house livesAt green_house isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:49
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

% =================================================================================
% Some facts about the world
% =================================================================================

livesAt(joe,red_house).

/*~
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:55
%~ debugm(user,show_success(user,user:ain(clif(livesAt(joe,red_house))))).



=======================================================
livesAt(joe,red_house)
============================================

?- kif_to_boxlog( livesAt(joe,red_house) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(livesAt(joe,red_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(joe,red_house)).
.

============================================
~*/

~possible(drinks(bob,coffee)).

/*~
~*/

~possible(livesAt(fred,green_house)).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
exists(X, livesAt(X, green_house) & drinks(X, coffee)).

% Does anyone live at the green house? (Should be one right?)
/*~
%~ kifi = exists( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = exists( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ make_dynamic_here(baseKB,'$existential'(_6774,1,(nesc(livesAt(_6774,green_house)),nesc(drinks(_6774,coffee))))).
%~ debugm(user,show_success(user,user:ain(clif(exists(_472,livesAt(_472,green_house)&drinks(_472,coffee)))))).



=======================================================
exists('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( exists(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  There exists ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = exists( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(drinks(Coffee_Green_house,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~drinks(Coffee_Green_house,coffee))).
.

============================================
%~ kifi = exists(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = exists(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~drinks(X,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(X,coffee)) &
    '$existential'(X,1
goal=user:livesAt(_20656,green_house).
time=0.0007460117340087891.
failure=failure=info((why_was_true(user:(\+livesAt(_40568,green_house))),nop(ftrace(user:livesAt(_40568,green_house)))))
no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03@Test_0002_Line_0000__Green_house_in_user: user: ~possible(livesAt(Human_Green_house,green_house))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~possible(livesAt(_331358,green_house)))),nop(ftrace(user: ~possible(livesAt(_331358,green_house))))))\nno_proof_for(\\+ ~possible(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~possible(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~possible(livesAt(_X,green_house))).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

/*~
~*/


:- nop(module( baseKB)).
/*~
~*/

:- nop('$set_source_module'( baseKB)).


% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
/*~
~*/



% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
instance(livesAt,'FunctionalBinaryPredicate').
% thus implies
/*~
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:29
%~ kifi=instance(livesAt,rtFunctionalBinaryPredicate).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))
%~ debugm(user,show_success(user,user:ain(clif(instance(livesAt,rtFunctionalBinaryPredicate))))).



=======================================================
instance(livesAt,rtFunctionalBinaryPredicate)
============================================

?- kif_to_boxlog( instance(livesAt,rtFunctionalBinaryPredicate) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt instance rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=rtFunctionalBinaryPredicate(livesAt).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(rtFunctionalBinaryPredicate(livesAt)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt isa rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(rtFunctionalBinaryPredicate(livesAt)).
.

============================================
~*/

% thus implies
arity(livesAt,2).
/*~
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))
%~ debugm(user,show_success(user,user:ain(clif(arity(livesAt,2))))).



=======================================================
arity(livesAt,2)
============================================

?- kif_to_boxlog( arity(livesAt,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(livesAt,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(livesAt,2)).
.

============================================
~*/

domain(livesAt,1,human).
/*~
%~ kifi=domain(livesAt,1,human).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:32
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,1,human))))).



=======================================================
domain(livesAt,1,human)
============================================

?- kif_to_boxlog( domain(livesAt,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,1,human)).
.

============================================
~*/

domain(livesAt,2,dwelling).

% define drinks/2
/*~
%~ kifi=domain(livesAt,2,dwelling).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:33
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,2,dwelling))))).



=======================================================
domain(livesAt,2,dwelling)
============================================

?- kif_to_boxlog( domain(livesAt,2,dwelling) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,2,dwelling)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,2,dwelling)).
.

============================================
~*/

% define drinks/2
arity(drinks,2).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:36
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))
%~ debugm(user,show_success(user,user:ain(clif(arity(drinks,2))))).



=======================================================
arity(drinks,2)
============================================

?- kif_to_boxlog( arity(drinks,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(drinks,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(drinks,2)).
.

============================================
~*/

domain(drinks,1,human).
/*~
%~ kifi=domain(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:37
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,1,human))))).



=======================================================
domain(drinks,1,human)
============================================

?- kif_to_boxlog( domain(drinks,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,1,human)).
.

============================================
~*/

domain(drinks,2,beverage_class).

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ kifi=domain(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,2,beverage_class))))).



=======================================================
domain(drinks,2,beverage_class)
============================================

?- kif_to_boxlog( domain(drinks,2,beverage_class) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:38
%~ kifi=argIsa(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,2,beverage_class)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,2,beverage_class)).
.

============================================
~*/


% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
all(X, if(drinks(X, coffee),possible(drinks(X, coffee)))).

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ kifi = all( Human_If_Coffee4,
%~          if(drinks(Human_If_Coffee4,coffee),possible(drinks(Human_If_Coffee4,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kifm = all(Human_Coffee5,(drinks(Human_Coffee5,coffee)=>poss(drinks(Human_Coffee5,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_Coffee5'),=>(drinks('$VAR'('Human_Coffee5'),coffee),possible(drinks('$VAR'('Human_Coffee5'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_480,if(drinks(_480,coffee),possible(drinks(_480,coffee)))))))).



=======================================================
all('$VAR'('Human_If_Coffee'),if(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))
============================================

?- kif_to_boxlog( all(Human_If_Coffee,if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Human_If_Coffee
%~    " ?Human_If_Coffee drinks coffee if ?Human_If_Coffee drinks coffee isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( Human_If_Coffee,
%~          if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_If_Coffee'),=>(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).
.

============================================
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:46
%~ kifi = all(X,if(drinks(X,coffee),possible(drinks(X,coffee)))).
%~ kifm = all(X,(drinks(X,coffee)=>poss(drinks(X,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(drinks('$VAR'('X'),coffee),possible(drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>nesc(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),possible(livesAt(X, green_house)))).

% =================================================================================
% Some facts about the world
% =================================================================================

/*~
%~ kifi = all( If_Green_house3,
%~          if(livesAt(If_Green_house3,green_house),possible(livesAt(If_Green_house3,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kifm = all( Human_Green_house4,
%~          livesAt(Human_Green_house4,green_house)=>poss(livesAt(Human_Green_house4,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_Green_house4'),=>(livesAt('$VAR'('Human_Green_house4'),green_house),possible(livesAt('$VAR'('Human_Green_house4'),green_house))))
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    " ?If_Green_house livesAt green_house if ?If_Green_house livesAt green_house isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:49
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

% =================================================================================
% Some facts about the world
% =================================================================================

livesAt(joe,red_house).

/*~
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_03.pfc.pl:55
%~ debugm(user,show_success(user,user:ain(clif(livesAt(joe,red_house))))).



=======================================================
livesAt(joe,red_house)
============================================

?- kif_to_boxlog( livesAt(joe,red_house) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(livesAt(joe,red_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(joe,red_house)).
.

============================================
~*/

~possible(drinks(bob,coffee)).

/*~
~*/

~possible(livesAt(fred,green_house)).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
exists(X, livesAt(X, green_house) & drinks(X, coffee)).

% Does anyone live at the green house? (Should be one right?)
/*~
%~ kifi = exists( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = exists( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ make_dynamic_here(baseKB,'$existential'(_6774,1,(nesc(livesAt(_6774,green_house)),nesc(drinks(_6774,coffee))))).
%~ debugm(user,show_success(user,user:ain(clif(exists(_472,livesAt(_472,green_house)&drinks(_472,coffee)))))).



=======================================================
exists('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( exists(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  There exists ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = exists( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(drinks(Coffee_Green_house,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~drinks(Coffee_Green_house,coffee))).
.

============================================
%~ kifi = exists(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = exists(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~drinks(X,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(X,coffee)) &
    '$existential'(X,1
goal=user: ~possible(livesAt(_368766,green_house)).
time=0.0008397102355957031.
failure=failure=info((why_was_true(user:(\+ ~possible(livesAt(_331358,green_house)))),nop(ftrace(user: ~possible(livesAt(_331358,green_house))))))
no_proof_for(\+ ~possible(livesAt(_X,green_house))).

no_proof_for(\+ ~possible(livesAt(_X,green_house))).

no_proof_for(\+ ~possible(livesAt(_X,green_house))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04@Test_0001_Line_0000__Green_house_in_user: user:livesAt(Human_Green_house,green_house)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+livesAt(_21582668,green_house))),nop(ftrace(user:livesAt(_21582668,green_house)))))\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\nno_proof_for(\\+livesAt(_X,green_house)).\n\n". failure = [].
failed
Stderr
name=Test_0001_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_04.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_04.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



% =================================================================================
% Load the system
% =================================================================================

:- expects_dialect(clif).

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).

/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions

/*~
~*/
 % mention it when we remove previous assertions

:- set_prolog_flag_until_eof(do_renames,mpred_expansion).

% :- kif_compile.

% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/

% :- kif_compile.

% =================================================================================
% Define a couple predicates
% =================================================================================

:- set_prolog_flag(gc,false).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
:- mpred_trace_all.
/*~
~*/

:- mpred_trace_exec.
/*~
~*/

instance(livesAt,'FunctionalBinaryPredicate').

% thus implies
/*~
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
%~ debugm(user,show_success(user,user:ain(clif(instance(livesAt,rtFunctionalBinaryPredicate))))).



=======================================================
instance(livesAt,rtFunctionalBinaryPredicate)
============================================

?- kif_to_boxlog( instance(livesAt,rtFunctionalBinaryPredicate) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt instance rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=rtFunctionalBinaryPredicate(livesAt).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(rtFunctionalBinaryPredicate(livesAt)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt isa rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(rtFunctionalBinaryPredicate(livesAt)).
.

============================================
~*/

% thus implies
arity(livesAt,2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:38
%~ debugm(user,show_success(user,user:ain(clif(arity(livesAt,2))))).



=======================================================
arity(livesAt,2)
============================================

?- kif_to_boxlog( arity(livesAt,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(livesAt,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(livesAt,2)).
.

============================================
~*/

domain(livesAt,1,human).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:40
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,1,human))))).



=======================================================
domain(livesAt,1,human)
============================================

?- kif_to_boxlog( domain(livesAt,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,1,human)).
.

============================================
~*/

domain(livesAt,2,dwelling).

% define drinks/2
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:41
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,2,dwelling))))).



=======================================================
domain(livesAt,2,dwelling)
============================================

?- kif_to_boxlog( domain(livesAt,2,dwelling) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,2,dwelling)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,2,dwelling)).
.

============================================
~*/

% define drinks/2
arity(drinks,2).
/*~
%~ debugm(user,show_success(user,user:ain(clif(arity(drinks,2))))).



=======================================================
arity(drinks,2)
============================================

?- kif_to_boxlog( arity(drinks,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(drinks,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(drinks,2)).
.

============================================
~*/

domain(drinks,1,human).
/*~
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,1,human))))).



=======================================================
domain(drinks,1,human)
============================================

?- kif_to_boxlog( domain(drinks,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,1,human)).
.

============================================
~*/

domain(drinks,2,beverage_class).

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,2,beverage_class))))).



=======================================================
domain(drinks,2,beverage_class)
============================================

?- kif_to_boxlog( domain(drinks,2,beverage_class) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,2,beverage_class).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:46
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,2,beverage_class)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,2,beverage_class)).
.

============================================
~*/

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
all(X, if(drinks(X, coffee),poss(drinks(X, coffee)))).

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ debugm( user,
%~   show_success(user,user:ain(clif(all(X,if(drinks(X,coffee),poss(drinks(X,coffee)))))))).



=======================================================
all('$VAR'('If_Coffee'),if(drinks('$VAR'('If_Coffee'),coffee),poss(drinks('$VAR'('If_Coffee'),coffee))))
============================================

?- kif_to_boxlog( all(If_Coffee,if(drinks(If_Coffee,coffee),poss(drinks(If_Coffee,coffee)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Coffee
%~    ?If_Coffee drinks coffee if " ?If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:53
%~ kifi = all(If_Coffee,if(drinks(If_Coffee,coffee),poss(drinks(If_Coffee,coffee)))).
%~ kifm = all(If_Coffee,(drinks(If_Coffee,coffee)=>poss(drinks(If_Coffee,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Coffee'),=>(drinks('$VAR'('If_Coffee'),coffee),possible(drinks('$VAR'('If_Coffee'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(If_Coffee,coffee))==>nesc(~drinks(If_Coffee,coffee)).
nesc(drinks(If_Coffee,coffee))==>poss(drinks(If_Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?If_Coffee drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(If_Coffee,coffee))==>nesc(~drinks(If_Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(If_Coffee,coffee))==>poss(drinks(If_Coffee,coffee)).
.

============================================
%~ kifi = all(X,if(drinks(X,coffee),poss(drinks(X,coffee)))).
%~ kifm = all(X,(drinks(X,coffee)=>poss(drinks(X,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(drinks('$VAR'('X'),coffee),possible(drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>nesc(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),poss(livesAt(X, green_house)))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:56
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),poss(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    ?If_Green_house livesAt green_house if " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))).
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

all(X, if(livesAt(X, Y),poss(livesAt(X, Y)))).

/*~
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,Y),poss(livesAt(X,Y)))))))).



=======================================================
all('$VAR'('If_LivesAt'),if(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')),poss(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')))))
============================================

?- kif_to_boxlog( all(If_LivesAt,if(livesAt(If_LivesAt,LivesAt4),poss(livesAt(If_LivesAt,LivesAt4)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_LivesAt
%~    ?If_LivesAt livesAt ?LivesAt4 if " ?If_LivesAt livesAt ?LivesAt4 " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_LivesAt,
%~          if(livesAt(If_LivesAt,LivesAt4),poss(livesAt(If_LivesAt,LivesAt4)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:58
%~ kifm = all( If_LivesAt,
%~          livesAt(If_LivesAt,LivesAt4)=>poss(livesAt(If_LivesAt,LivesAt4))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_LivesAt'),=>(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')),possible(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_LivesAt,LivesAt4))==>nesc(~livesAt(If_LivesAt,LivesAt4)).
nesc(livesAt(If_LivesAt,LivesAt4))==>poss(livesAt(If_LivesAt,LivesAt4)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily false
%~  It's Proof that:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(~livesAt(If_LivesAt,LivesAt4)) ==>
  nesc(~livesAt(If_LivesAt,LivesAt4))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily true
%~  It's Proof that:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_LivesAt,LivesAt4))==>poss(livesAt(If_LivesAt,LivesAt4)).
.

============================================
%~ kifi = all(X,if(livesAt(X,Y),poss(livesAt(X,Y)))).
%~ kifm = all(X,(livesAt(X,Y)=>poss(livesAt(X,Y)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),'$VAR'('Y')),possible(livesAt('$VAR'('X'),'$VAR'('Y')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt ?Y " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,Y))==>nesc(~livesAt(X,Y)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt ?Y " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,Y))==>poss(livesAt(X,Y)).
.

~*/

all(X, all(Y, all(Z, if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))).
% =================================================================================
% Some facts about the world
% =================================================================================

/*~
%~ debugm( user,
%~   show_success( user,
%~     user : ain( clif( all( X,
%~                         all( Y,
%~                           all( Z,
%~                             if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))))))).



=======================================================
all('$VAR'('All_LivesAt'),all('$VAR'('LivesAt_All_Equals'),all('$VAR'('Equals_LivesAt_If'),if(','(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_If'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_If'))))))
============================================

?- kif_to_boxlog( all(All_LivesAt,all(LivesAt_All_Equals,all(Equals_LivesAt_If,if((livesAt(All_LivesAt,LivesAt_All_Equals),livesAt(All_LivesAt,Equals_LivesAt_If)),equals(LivesAt_All_Equals,Equals_LivesAt_If))))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?All_LivesAt
%~    (
%~  For all ?LivesAt_All_Equals
%~    (
%~  For all ?Equals_LivesAt_If
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals ',' ?All_LivesAt livesAt ?Equals_LivesAt_If if ?LivesAt_All_Equals equals ?Equals_LivesAt_If " ))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              if( ( livesAt(All_LivesAt,LivesAt_All_Equals) ,
%~                    livesAt(All_LivesAt,Equals_LivesAt_If)),
%~                equals(LivesAt_All_Equals,Equals_LivesAt_If))))).
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_If)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_If)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('All_LivesAt'),forall('$VAR'('LivesAt_All_Equals'),forall('$VAR'('Equals_LivesAt_If'),necessary(=>(and(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_If'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_If')))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 3 entailment(s):
nesc(livesAt(All_LivesAt,Equals_LivesAt_If))&poss(different(LivesAt_All_Equals,Equals_LivesAt_If))==>poss(~livesAt(All_LivesAt,LivesAt_All_Equals)).
nesc(livesAt(All_LivesAt,LivesAt_All_Equals))&nesc(livesAt(All_LivesAt,Equals_LivesAt_If))==>nesc(equals(LivesAt_All_Equals,Equals_LivesAt_If)).
nesc(livesAt(All_LivesAt,LivesAt_All_Equals))&poss(different(LivesAt_All_Equals,Equals_LivesAt_If))==>poss(~livesAt(All_LivesAt,Equals_LivesAt_If)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is necessarily true  and
%~    " ?LivesAt_All_Equals different ?Equals_LivesAt_If " is possible
%~  It's Proof that:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,Equals_LivesAt_If)) &
    poss(different(LivesAt_All_Equals,Equals_LivesAt_If))) ==>
  poss(~livesAt(All_LivesAt,LivesAt_All_Equals))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is necessarily true  and
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is necessarily true
%~  It's Proof that:
%~    " ?LivesAt_All_Equals equals ?Equals_LivesAt_If " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,LivesAt_All_Equals)) &
    nesc(livesAt(All_LivesAt,Equals_LivesAt_If))) ==>
  nesc(equals(LivesAt_All_Equals,Equals_LivesAt_If))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is necessarily true  and
%~    " ?LivesAt_All_Equals different ?Equals_LivesAt_If " is possible
%~  It's Proof that:
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,LivesAt_All_Equals)) &
    poss(different(LivesAt_All_Equals,Equals_LivesAt_If))) ==>
  poss(~livesAt(All_LivesAt,Equals_LivesAt_If))).
.

============================================
%~ kifi = all( X,
%~          all( Y,
%~            all( Z,
%~              if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:60
%~ kifm = all( X,
%~          all( Y,
%~            all( Z,
%~              nesc((livesAt(X,Y)&livesAt(X,Z)=>equals(Y,Z)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),forall('$VAR'('Y'),forall('$VAR'('Z'),necessary(=>(and(livesAt('$VAR'('X'),'$VAR'('Y')),livesAt('$VAR'('X'),'$VAR'('Z'))),equals('$VAR'('Y'),'$VAR'('Z')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true  and
%~    " ?X livesAt ?Z " is necessarily true
%~  It's Proof that:
%~    " ?Y equals ?Z " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Y))&nesc(livesAt(X,Z)) ==>
  nesc(equals(Y,Z))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Z " is necessarily true  and
%~    " ?Y different ?Z " is possible
%~  It's Proof that:
%~    " ?X livesAt ?Y " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Z))&poss(different(Y,Z)) ==>
  poss(~livesAt(X,Y))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true  and
%~    " ?Y different ?Z " is possible
%~  It's Proof that:
%~    " ?X livesAt ?Z " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Y))&poss(different(Y,Z)) ==>
  poss(~livesAt(X,Z))).
.

~*/

% =================================================================================
% Some facts about the world
% =================================================================================

livesAt(joe,red_house).

/*~
%~ debugm(user,show_success(user,user:ain(clif(livesAt(joe,red_house))))).



=======================================================
livesAt(joe,red_house)
============================================

?- kif_to_boxlog( livesAt(joe,red_house) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(livesAt(joe,red_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(joe,red_house)).
.

============================================
~*/

:- listing([clif,modal_clif]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:67
%~ skipped(listing([clif,modal_clif])).
~*/

:- kif_compile.

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:69
%~ kifi=instance(livesAt,rtFunctionalBinaryPredicate).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kifi=domain(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kifi=domain(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kifi=domain(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kifi=domain(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kifi = all(If_Coffee2,if(drinks(If_Coffee2,coffee),poss(drinks(If_Coffee2,coffee)))).
%~ kifm = all(If_Coffee,(drinks(If_Coffee,coffee)=>poss(drinks(If_Coffee,coffee)))).
%~ kifi = all( If_Green_house2,
%~          if(livesAt(If_Green_house2,green_house),poss(livesAt(If_Green_house2,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kifi = all( If_LivesAt3,
%~          if(livesAt(If_LivesAt3,LivesAt5),poss(livesAt(If_LivesAt3,LivesAt5)))).
%~ kifm = all( If_LivesAt,
%~          livesAt(If_LivesAt,LivesAt2)=>poss(livesAt(If_LivesAt,LivesAt2))).
%~ kifi = all( All_LivesAt8,
%~          all( LivesAt_All_Equals9,
%~            all( Equals_LivesAt_If10,
%~              if( ( livesAt(All_LivesAt8,LivesAt_All_Equals9) ,
%~                    livesAt(All_LivesAt8,Equals_LivesAt_If10)),
%~                equals(LivesAt_All_Equals9,Equals_LivesAt_If10))))).
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_If)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_If)))))).
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))
%~ kifm = all(Coffee,(drinks(Coffee,coffee)=>poss(drinks(Coffee,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee'),=>(drinks('$VAR'('Coffee'),coffee),possible(drinks('$VAR'('Coffee'),coffee))))
%~ kifm = all( Green_house,
%~          livesAt(Green_house,green_house)=>poss(livesAt(Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Green_house'),=>(livesAt('$VAR'('Green_house'),green_house),possible(livesAt('$VAR'('Green_house'),green_house))))
%~ kifm = all( LivesAt,
%~          livesAt(LivesAt,LivesAt1)=>poss(livesAt(LivesAt,LivesAt1))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('LivesAt'),=>(livesAt('$VAR'('LivesAt'),'$VAR'('LivesAt1')),possible(livesAt('$VAR'('LivesAt'),'$VAR'('LivesAt1')))))
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_Nesc,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_Nesc)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_Nesc)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('All_LivesAt'),forall('$VAR'('LivesAt_All_Equals'),forall('$VAR'('Equals_LivesAt_Nesc'),necessary(=>(and(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_Nesc'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_Nesc')))))))
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))
~*/

:- printAll(mpred_why(~poss(livesAt(joe,green_house)),_Why)).

%:- break.

%:- must(~poss(livesAt(joe,green_house))).

/*~

 /* found 0 for user:mpred_why(~poss(livesAt(joe,green_house)),_14448702).
 */
~*/

%:- break.

%:- must(~poss(livesAt(joe,green_house))).

~poss(drinks(bob,coffee)).

/*~
~*/

~poss(livesAt(fred,green_house)).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
exists(X, livesAt(X, green_house) & drinks(X, coffee)).

/*~
%~ kifi = exists( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = exists( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ make_dynamic_here( baseKB,
%~   '$existential'( Coffee_Green_house11,
%~     1,
%~     nesc(livesAt(Coffee_Green_house11,green_house)),nesc(drinks(Coffee_Green_house11,coffee)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:89
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(exists(X,livesAt(X,green_house)&drinks(X,coffee)))))).



=======================================================
exists('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( exists(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  There exists ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = exists( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(drinks(Coffee_Green_house,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~drinks(Coffee_Green_house,coffee))).
.

============================================
%~ kifi = exists(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = exists(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~drinks(X,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(X,coffee)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  nesc(livesAt(X,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(X,coffee)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~livesAt(X,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  nesc(drinks(X,coffee))).
.

~*/

:- break.

% Does anyone live at the green house? (Should be one right?)
/*~
%~ skipped(blocks_on_input,break).
~*/

% Does anyone live at the green house? (Should be one right?)
:- mpred_test(livesAt(_X,green_house)).

% Can anyone live at the green house? (Should be everyone but the one listed above?)
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Green_house_in_user",user:livesAt(_X,green_house)).
failure=info((why_was_true(user:(\+livesAt(_21582668,green_h
goal=user:livesAt(_21625480,green_house).
time=0.0007355213165283203.
failure=failure=info((why_was_true(user:(\+livesAt(_21582668,green_house))),nop(ftrace(user:livesAt(_21582668,green_house)))))
no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

no_proof_for(\+livesAt(_X,green_house)).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04@Test_0002_Line_0000__Green_house_in_user: user: ~poss(livesAt(Human_Green_house,green_house))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(livesAt(_22217190,green_house)))),nop(ftrace(user: ~poss(livesAt(_22217190,green_house))))))\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\nno_proof_for(\\+ ~poss(livesAt(_X,green_house))).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__Green_house_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_04'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_04.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_04.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).



% =================================================================================
% Load the system
% =================================================================================

:- expects_dialect(clif).

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% =================================================================================
% Set our engine up
% =================================================================================

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).

/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions

/*~
~*/
 % mention it when we remove previous assertions

:- set_prolog_flag_until_eof(do_renames,mpred_expansion).

% :- kif_compile.

% =================================================================================
% Define a couple predicates
% =================================================================================

/*~
~*/

% :- kif_compile.

% =================================================================================
% Define a couple predicates
% =================================================================================

:- set_prolog_flag(gc,false).
% maximum cardinality of livesAt/2 is 1
/*~
~*/

% maximum cardinality of livesAt/2 is 1
:- mpred_trace_all.
/*~
~*/

:- mpred_trace_exec.
/*~
~*/

instance(livesAt,'FunctionalBinaryPredicate').

% thus implies
/*~
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
%~ debugm(user,show_success(user,user:ain(clif(instance(livesAt,rtFunctionalBinaryPredicate))))).



=======================================================
instance(livesAt,rtFunctionalBinaryPredicate)
============================================

?- kif_to_boxlog( instance(livesAt,rtFunctionalBinaryPredicate) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt instance rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=rtFunctionalBinaryPredicate(livesAt).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(rtFunctionalBinaryPredicate(livesAt)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt isa rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(rtFunctionalBinaryPredicate(livesAt)).
.

============================================
~*/

% thus implies
arity(livesAt,2).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:38
%~ debugm(user,show_success(user,user:ain(clif(arity(livesAt,2))))).



=======================================================
arity(livesAt,2)
============================================

?- kif_to_boxlog( arity(livesAt,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(livesAt,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(livesAt,2)).
.

============================================
~*/

domain(livesAt,1,human).
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:40
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,1,human))))).



=======================================================
domain(livesAt,1,human)
============================================

?- kif_to_boxlog( domain(livesAt,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,1,human)).
.

============================================
~*/

domain(livesAt,2,dwelling).

% define drinks/2
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:41
%~ debugm(user,show_success(user,user:ain(clif(domain(livesAt,2,dwelling))))).



=======================================================
domain(livesAt,2,dwelling)
============================================

?- kif_to_boxlog( domain(livesAt,2,dwelling) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(livesAt,2,dwelling)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(livesAt,2,dwelling)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(livesAt,2,dwelling)).
.

============================================
~*/

% define drinks/2
arity(drinks,2).
/*~
%~ debugm(user,show_success(user,user:ain(clif(arity(drinks,2))))).



=======================================================
arity(drinks,2)
============================================

?- kif_to_boxlog( arity(drinks,2) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(arity(drinks,2)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that drinks arity 2
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(arity(drinks,2)).
.

============================================
~*/

domain(drinks,1,human).
/*~
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,1,human))))).



=======================================================
domain(drinks,1,human)
============================================

?- kif_to_boxlog( domain(drinks,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,1,human)).
.

============================================
~*/

domain(drinks,2,beverage_class).

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,2,beverage_class))))).



=======================================================
domain(drinks,2,beverage_class)
============================================

?- kif_to_boxlog( domain(drinks,2,beverage_class) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,2,beverage_class).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:46
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,2,beverage_class)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,2,beverage_class)).
.

============================================
~*/

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
all(X, if(drinks(X, coffee),poss(drinks(X, coffee)))).

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ debugm( user,
%~   show_success(user,user:ain(clif(all(X,if(drinks(X,coffee),poss(drinks(X,coffee)))))))).



=======================================================
all('$VAR'('If_Coffee'),if(drinks('$VAR'('If_Coffee'),coffee),poss(drinks('$VAR'('If_Coffee'),coffee))))
============================================

?- kif_to_boxlog( all(If_Coffee,if(drinks(If_Coffee,coffee),poss(drinks(If_Coffee,coffee)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Coffee
%~    ?If_Coffee drinks coffee if " ?If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:53
%~ kifi = all(If_Coffee,if(drinks(If_Coffee,coffee),poss(drinks(If_Coffee,coffee)))).
%~ kifm = all(If_Coffee,(drinks(If_Coffee,coffee)=>poss(drinks(If_Coffee,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Coffee'),=>(drinks('$VAR'('If_Coffee'),coffee),possible(drinks('$VAR'('If_Coffee'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(If_Coffee,coffee))==>nesc(~drinks(If_Coffee,coffee)).
nesc(drinks(If_Coffee,coffee))==>poss(drinks(If_Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?If_Coffee drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(If_Coffee,coffee))==>nesc(~drinks(If_Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(If_Coffee,coffee))==>poss(drinks(If_Coffee,coffee)).
.

============================================
%~ kifi = all(X,if(drinks(X,coffee),poss(drinks(X,coffee)))).
%~ kifm = all(X,(drinks(X,coffee)=>poss(drinks(X,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(drinks('$VAR'('X'),coffee),possible(drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>nesc(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),poss(livesAt(X, green_house)))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:56
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),poss(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    ?If_Green_house livesAt green_house if " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))).
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

all(X, if(livesAt(X, Y),poss(livesAt(X, Y)))).

/*~
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,Y),poss(livesAt(X,Y)))))))).



=======================================================
all('$VAR'('If_LivesAt'),if(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')),poss(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')))))
============================================

?- kif_to_boxlog( all(If_LivesAt,if(livesAt(If_LivesAt,LivesAt4),poss(livesAt(If_LivesAt,LivesAt4)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_LivesAt
%~    ?If_LivesAt livesAt ?LivesAt4 if " ?If_LivesAt livesAt ?LivesAt4 " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_LivesAt,
%~          if(livesAt(If_LivesAt,LivesAt4),poss(livesAt(If_LivesAt,LivesAt4)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:58
%~ kifm = all( If_LivesAt,
%~          livesAt(If_LivesAt,LivesAt4)=>poss(livesAt(If_LivesAt,LivesAt4))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_LivesAt'),=>(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')),possible(livesAt('$VAR'('If_LivesAt'),'$VAR'('LivesAt4')))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_LivesAt,LivesAt4))==>nesc(~livesAt(If_LivesAt,LivesAt4)).
nesc(livesAt(If_LivesAt,LivesAt4))==>poss(livesAt(If_LivesAt,LivesAt4)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily false
%~  It's Proof that:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(~livesAt(If_LivesAt,LivesAt4)) ==>
  nesc(~livesAt(If_LivesAt,LivesAt4))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is necessarily true
%~  It's Proof that:
%~    " ?If_LivesAt livesAt ?LivesAt4 " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_LivesAt,LivesAt4))==>poss(livesAt(If_LivesAt,LivesAt4)).
.

============================================
%~ kifi = all(X,if(livesAt(X,Y),poss(livesAt(X,Y)))).
%~ kifm = all(X,(livesAt(X,Y)=>poss(livesAt(X,Y)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),'$VAR'('Y')),possible(livesAt('$VAR'('X'),'$VAR'('Y')))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt ?Y " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,Y))==>nesc(~livesAt(X,Y)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt ?Y " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,Y))==>poss(livesAt(X,Y)).
.

~*/

all(X, all(Y, all(Z, if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))).
% =================================================================================
% Some facts about the world
% =================================================================================

/*~
%~ debugm( user,
%~   show_success( user,
%~     user : ain( clif( all( X,
%~                         all( Y,
%~                           all( Z,
%~                             if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))))))).



=======================================================
all('$VAR'('All_LivesAt'),all('$VAR'('LivesAt_All_Equals'),all('$VAR'('Equals_LivesAt_If'),if(','(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_If'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_If'))))))
============================================

?- kif_to_boxlog( all(All_LivesAt,all(LivesAt_All_Equals,all(Equals_LivesAt_If,if((livesAt(All_LivesAt,LivesAt_All_Equals),livesAt(All_LivesAt,Equals_LivesAt_If)),equals(LivesAt_All_Equals,Equals_LivesAt_If))))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?All_LivesAt
%~    (
%~  For all ?LivesAt_All_Equals
%~    (
%~  For all ?Equals_LivesAt_If
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals ',' ?All_LivesAt livesAt ?Equals_LivesAt_If if ?LivesAt_All_Equals equals ?Equals_LivesAt_If " ))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              if( ( livesAt(All_LivesAt,LivesAt_All_Equals) ,
%~                    livesAt(All_LivesAt,Equals_LivesAt_If)),
%~                equals(LivesAt_All_Equals,Equals_LivesAt_If))))).
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_If)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_If)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('All_LivesAt'),forall('$VAR'('LivesAt_All_Equals'),forall('$VAR'('Equals_LivesAt_If'),necessary(=>(and(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_If'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_If')))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 3 entailment(s):
nesc(livesAt(All_LivesAt,Equals_LivesAt_If))&poss(different(LivesAt_All_Equals,Equals_LivesAt_If))==>poss(~livesAt(All_LivesAt,LivesAt_All_Equals)).
nesc(livesAt(All_LivesAt,LivesAt_All_Equals))&nesc(livesAt(All_LivesAt,Equals_LivesAt_If))==>nesc(equals(LivesAt_All_Equals,Equals_LivesAt_If)).
nesc(livesAt(All_LivesAt,LivesAt_All_Equals))&poss(different(LivesAt_All_Equals,Equals_LivesAt_If))==>poss(~livesAt(All_LivesAt,Equals_LivesAt_If)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is necessarily true  and
%~    " ?LivesAt_All_Equals different ?Equals_LivesAt_If " is possible
%~  It's Proof that:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,Equals_LivesAt_If)) &
    poss(different(LivesAt_All_Equals,Equals_LivesAt_If))) ==>
  poss(~livesAt(All_LivesAt,LivesAt_All_Equals))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is necessarily true  and
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is necessarily true
%~  It's Proof that:
%~    " ?LivesAt_All_Equals equals ?Equals_LivesAt_If " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,LivesAt_All_Equals)) &
    nesc(livesAt(All_LivesAt,Equals_LivesAt_If))) ==>
  nesc(equals(LivesAt_All_Equals,Equals_LivesAt_If))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?All_LivesAt livesAt ?LivesAt_All_Equals " is necessarily true  and
%~    " ?LivesAt_All_Equals different ?Equals_LivesAt_If " is possible
%~  It's Proof that:
%~    " ?All_LivesAt livesAt ?Equals_LivesAt_If " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(All_LivesAt,LivesAt_All_Equals)) &
    poss(different(LivesAt_All_Equals,Equals_LivesAt_If))) ==>
  poss(~livesAt(All_LivesAt,Equals_LivesAt_If))).
.

============================================
%~ kifi = all( X,
%~          all( Y,
%~            all( Z,
%~              if((livesAt(X,Y),livesAt(X,Z)),equals(Y,Z))))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:60
%~ kifm = all( X,
%~          all( Y,
%~            all( Z,
%~              nesc((livesAt(X,Y)&livesAt(X,Z)=>equals(Y,Z)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),forall('$VAR'('Y'),forall('$VAR'('Z'),necessary(=>(and(livesAt('$VAR'('X'),'$VAR'('Y')),livesAt('$VAR'('X'),'$VAR'('Z'))),equals('$VAR'('Y'),'$VAR'('Z')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true  and
%~    " ?X livesAt ?Z " is necessarily true
%~  It's Proof that:
%~    " ?Y equals ?Z " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Y))&nesc(livesAt(X,Z)) ==>
  nesc(equals(Y,Z))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Z " is necessarily true  and
%~    " ?Y different ?Z " is possible
%~  It's Proof that:
%~    " ?X livesAt ?Y " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Z))&poss(different(Y,Z)) ==>
  poss(~livesAt(X,Y))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt ?Y " is necessarily true  and
%~    " ?Y different ?Z " is possible
%~  It's Proof that:
%~    " ?X livesAt ?Z " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(livesAt(X,Y))&poss(different(Y,Z)) ==>
  poss(~livesAt(X,Z))).
.

~*/

% =================================================================================
% Some facts about the world
% =================================================================================

livesAt(joe,red_house).

/*~
%~ debugm(user,show_success(user,user:ain(clif(livesAt(joe,red_house))))).



=======================================================
livesAt(joe,red_house)
============================================

?- kif_to_boxlog( livesAt(joe,red_house) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(livesAt(joe,red_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe livesAt red_house
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(joe,red_house)).
.

============================================
~*/

:- listing([clif,modal_clif]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:67
%~ skipped(listing([clif,modal_clif])).
~*/

:- kif_compile.

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:69
%~ kifi=instance(livesAt,rtFunctionalBinaryPredicate).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kifi=arity(livesAt,2).
%~ kifm=nesc(arity(livesAt,2)).
%~ kifi=domain(livesAt,1,human).
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kifi=domain(livesAt,2,dwelling).
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kifi=arity(drinks,2).
%~ kifm=nesc(arity(drinks,2)).
%~ kifi=domain(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kifi=domain(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kifi = all(If_Coffee2,if(drinks(If_Coffee2,coffee),poss(drinks(If_Coffee2,coffee)))).
%~ kifm = all(If_Coffee,(drinks(If_Coffee,coffee)=>poss(drinks(If_Coffee,coffee)))).
%~ kifi = all( If_Green_house2,
%~          if(livesAt(If_Green_house2,green_house),poss(livesAt(If_Green_house2,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kifi = all( If_LivesAt3,
%~          if(livesAt(If_LivesAt3,LivesAt5),poss(livesAt(If_LivesAt3,LivesAt5)))).
%~ kifm = all( If_LivesAt,
%~          livesAt(If_LivesAt,LivesAt2)=>poss(livesAt(If_LivesAt,LivesAt2))).
%~ kifi = all( All_LivesAt8,
%~          all( LivesAt_All_Equals9,
%~            all( Equals_LivesAt_If10,
%~              if( ( livesAt(All_LivesAt8,LivesAt_All_Equals9) ,
%~                    livesAt(All_LivesAt8,Equals_LivesAt_If10)),
%~                equals(LivesAt_All_Equals9,Equals_LivesAt_If10))))).
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_If,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_If)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_If)))))).
%~ kifi=livesAt(joe,red_house).
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))
%~ kifm=nesc(arity(livesAt,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(livesAt,2))
%~ kifm=nesc(argIsa(livesAt,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,1,human))
%~ kifm=nesc(argIsa(livesAt,2,dwelling)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(livesAt,2,dwelling))
%~ kifm=nesc(arity(drinks,2)).
%~ kif_to_boxlog_attvars2 = necessary(arity(drinks,2))
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))
%~ kifm = all(Coffee,(drinks(Coffee,coffee)=>poss(drinks(Coffee,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee'),=>(drinks('$VAR'('Coffee'),coffee),possible(drinks('$VAR'('Coffee'),coffee))))
%~ kifm = all( Green_house,
%~          livesAt(Green_house,green_house)=>poss(livesAt(Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Green_house'),=>(livesAt('$VAR'('Green_house'),green_house),possible(livesAt('$VAR'('Green_house'),green_house))))
%~ kifm = all( LivesAt,
%~          livesAt(LivesAt,LivesAt1)=>poss(livesAt(LivesAt,LivesAt1))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('LivesAt'),=>(livesAt('$VAR'('LivesAt'),'$VAR'('LivesAt1')),possible(livesAt('$VAR'('LivesAt'),'$VAR'('LivesAt1')))))
%~ kifm = all( All_LivesAt,
%~          all( LivesAt_All_Equals,
%~            all( Equals_LivesAt_Nesc,
%~              nesc( ( ( livesAt(All_LivesAt,LivesAt_All_Equals) &
%~                        livesAt(All_LivesAt,Equals_LivesAt_Nesc)) =>
%~                      equals(LivesAt_All_Equals,Equals_LivesAt_Nesc)))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('All_LivesAt'),forall('$VAR'('LivesAt_All_Equals'),forall('$VAR'('Equals_LivesAt_Nesc'),necessary(=>(and(livesAt('$VAR'('All_LivesAt'),'$VAR'('LivesAt_All_Equals')),livesAt('$VAR'('All_LivesAt'),'$VAR'('Equals_LivesAt_Nesc'))),equals('$VAR'('LivesAt_All_Equals'),'$VAR'('Equals_LivesAt_Nesc')))))))
%~ kifm=nesc(livesAt(joe,red_house)).
%~ kif_to_boxlog_attvars2 = necessary(livesAt(joe,red_house))
~*/

:- printAll(mpred_why(~poss(livesAt(joe,green_house)),_Why)).

%:- break.

%:- must(~poss(livesAt(joe,green_house))).

/*~

 /* found 0 for user:mpred_why(~poss(livesAt(joe,green_house)),_14448702).
 */
~*/

%:- break.

%:- must(~poss(livesAt(joe,green_house))).

~poss(drinks(bob,coffee)).

/*~
~*/

~poss(livesAt(fred,green_house)).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
/*~
~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
% 
%   Only currently individuals whom are not living in the red house live in the green_house?
%
% =================================================================================
exists(X, livesAt(X, green_house) & drinks(X, coffee)).

/*~
%~ kifi = exists( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = exists( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ make_dynamic_here( baseKB,
%~   '$existential'( Coffee_Green_house11,
%~     1,
%~     nesc(livesAt(Coffee_Green_house11,green_house)),nesc(drinks(Coffee_Green_house11,coffee)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_04.pfc.pl:89
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(exists(X,livesAt(X,green_house)&drinks(X,coffee)))))).



=======================================================
exists('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( exists(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  There exists ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = exists( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = exists( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))&'$existential'(Coffee_Green_house,1,nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  nesc(drinks(Coffee_Green_house,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(Coffee_Green_house,coffee)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~livesAt(Coffee_Green_house,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false  and
%~     by default ?Coffee_Green_house nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee))
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(Coffee_Green_house,green_house)) &
    '$existential'( Coffee_Green_house,
      1,
      nesc(livesAt(Coffee_Green_house,green_house))&nesc(drinks(Coffee_Green_house,coffee)))) ==>
  poss(~drinks(Coffee_Green_house,coffee))).
.

============================================
%~ kifi = exists(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = exists(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~drinks(X,coffee))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(drinks(X,coffee)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  nesc(livesAt(X,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is possibly false  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~drinks(X,coffee)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  poss(~livesAt(X,green_house))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true  and
%~     by default ?X nesc(livesAt(X,green_house))&nesc(drinks(X,coffee))
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(livesAt(X,green_house)) &
    '$existential'(X,1,nesc(livesAt(X,green_house))&nesc(drinks(X,coffee)))) ==>
  nesc(drinks(X,coffee))).
.

~*/

:- break.

% Does anyone live at the green house? (Should be one right?)
/*~
%~ skipped(blocks_on_input,break).
~*/

% Does anyone live at the green house? (Should be one right?)
:- mpred_test(livesAt(_X,green_house)).

% Can anyone live at the green house? (Should be everyone but the one listed above?)
/*~
%~ ?-mpred_test("Test_0001_Line_0000__Green_house_in_user",user:livesAt(_X,green_house)).
failure=info((why_was_true(user:(\+livesAt(_21582668,green_h
goal=user: ~poss(livesAt(_22260638,green_house)).
time=0.0007724761962890625.
failure=failure=info((why_was_true(user:(\+ ~poss(livesAt(_22217190,green_house)))),nop(ftrace(user: ~poss(livesAt(_22217190,green_house))))))
no_proof_for(\+ ~poss(livesAt(_X,green_house))).

no_proof_for(\+ ~poss(livesAt(_X,green_house))).

no_proof_for(\+ ~poss(livesAt(_X,green_house))).

result=failure.

Test Suite: logicmoo.base.examples.fol.POSS_FORALL_EXISTS_05

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.POSS_FORALL_EXISTS_05

Test case:logicmoo.base.examples.fol.POSS_FORALL_EXISTS_05@Test_0001_Line_0000__naf_Fred_in_user: user:(\\+drinks(fred,coffee))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__naf_Fred_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.POSS_FORALL_EXISTS_05'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'poss_forall_exists_05.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['poss_forall_exists_05.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% temp test
% =================================================================================

/*~
~*/

% =================================================================================
% temp test
% =================================================================================

ff1:- show_kif_to_boxlog(if(nesc(livesAt(X, green_house)),nesc(drinks(X, coffee)))).
/*~
~*/

ff2:- show_kif_to_boxlog(if((livesAt(X, green_house)),(drinks(X, coffee)))).

/*~
~*/

ff3:- show_kif_to_boxlog(nesc(drinks(_X, coffee))).
/*~
~*/

ff4:- show_kif_to_boxlog(~nesc(drinks(_X, coffee))).
/*~
~*/

ff5:- show_kif_to_boxlog(~poss(drinks(_X, coffee))).
/*~
~*/

ff6:- show_kif_to_boxlog(poss(drinks(_X, coffee))).

/*~
~*/


:- show_kif_to_boxlog(all(X, if(nesc(livesAt(X, green_house)),poss(livesAt(X, green_house))))).

/*~
%~ test_boxlog(all(_22934,if(nesc(livesAt(_22934,green_house)),poss(livesAt(_22934,green_house))))).
~*/

:- show_kif_to_boxlog(all(X, if(poss(livesAt(X, green_house)),nesc(livesAt(X, green_house))))).

/*~
%~ test_boxlog(all(_39810,if(poss(livesAt(_39810,green_house)),nesc(livesAt(_39810,green_house))))).
~*/

:- break.

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% (they are here to serve as a reminder)
% =================================================================================

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ skipped(blocks_on_input,break).
~*/

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% (they are here to serve as a reminder)
% =================================================================================

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),poss(livesAt(X, green_house)))).

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:43
%~ kifi = all( If_Green_house3,
%~          if(livesAt(If_Green_house3,green_house),poss(livesAt(If_Green_house3,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kifm = all( Green_house4,
%~          livesAt(Green_house4,green_house)=>poss(livesAt(Green_house4,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Green_house4'),=>(livesAt('$VAR'('Green_house4'),green_house),possible(livesAt('$VAR'('Green_house4'),green_house))))
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),poss(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    ?If_Green_house livesAt green_house if " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),poss(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),poss(livesAt(X,green_house)))).
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

% all objects in the universe that do drink coffee, may drink coffee
if(nesc(drinks(X, coffee)),poss(drinks(X, coffee))).

% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:46
%~ kifi = if(nesc(drinks(Coffee2,coffee)),poss(drinks(Coffee2,coffee))).
%~ kifm=(nesc(drinks(Coffee,coffee))=>poss(drinks(Coffee,coffee))).
%~ kifm=(nesc(drinks(Coffee3,coffee))=>poss(drinks(Coffee3,coffee))).
%~ kif_to_boxlog_attvars2 = =>(necessary(drinks('$VAR'('Coffee3'),coffee)),possible(drinks('$VAR'('Coffee3'),coffee)))
%~ debugm(user,show_success(user,user:ain(clif(if(nesc(drinks(_476,coffee)),poss(drinks(_476,coffee))))))).



=======================================================
if(nesc(drinks('$VAR'('Coffee'),coffee)),poss(drinks('$VAR'('Coffee'),coffee)))
============================================

?- kif_to_boxlog( if(nesc(drinks(Coffee,coffee)),poss(drinks(Coffee,coffee))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  " ?Coffee drinks coffee " is necessarily true if " ?Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = if(nesc(drinks(Coffee,coffee)),poss(drinks(Coffee,coffee))).
%~ kifm=(nesc(drinks(Coffee,coffee))=>poss(drinks(Coffee,coffee))).
%~ kif_to_boxlog_attvars2 = =>(necessary(drinks('$VAR'('Coffee'),coffee)),possible(drinks('$VAR'('Coffee'),coffee)))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(Coffee,coffee))==>poss(~drinks(Coffee,coffee)).
nesc(drinks(Coffee,coffee))==>poss(drinks(Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?Coffee drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(Coffee,coffee))==>poss(~drinks(Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee,coffee))==>poss(drinks(Coffee,coffee)).
.

============================================
%~ kifi = if(nesc(drinks(X,coffee)),poss(drinks(X,coffee))).
%~ kifm=(nesc(drinks(X,coffee))=>poss(drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = =>(necessary(drinks('$VAR'('X'),coffee)),possible(drinks('$VAR'('X'),coffee)))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/


% =================================================================================
% Define a couple predicates
% =================================================================================

% maximum cardinality of livesAt/2 is 1
instance(livesAt,'FunctionalBinaryPredicate').
% thus implies
/*~
%~ azzert_rename('FunctionalBinaryPredicate',rtFunctionalBinaryPredicate).
%~ kifi=instance(livesAt,rtFunctionalBinaryPredicate).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:54
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))
%~ debugm(user,show_success(user,user:ain(clif(instance(livesAt,rtFunctionalBinaryPredicate))))).



=======================================================
instance(livesAt,rtFunctionalBinaryPredicate)
============================================

?- kif_to_boxlog( instance(livesAt,rtFunctionalBinaryPredicate) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  livesAt instance rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=rtFunctionalBinaryPredicate(livesAt).
%~ kifm=nesc(rtFunctionalBinaryPredicate(livesAt)).
%~ kif_to_boxlog_attvars2 = necessary(rtFunctionalBinaryPredicate(livesAt))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(rtFunctionalBinaryPredicate(livesAt)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that livesAt isa rtFunctionalBinaryPredicate
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(rtFunctionalBinaryPredicate(livesAt)).
.

============================================
~*/

% thus implies
==> arity(livesAt,2).
/*~
~*/

==> domain(livesAt,1,human).
/*~
~*/

==> domain(livesAt,2,dwelling).

% define drinks/2
/*~
~*/

% define drinks/2
==> arity(drinks,2).
/*~
~*/

domain(drinks,1,human).
/*~
%~ kifi=domain(drinks,1,human).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:62
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,1,human))))).



=======================================================
domain(drinks,1,human)
============================================

?- kif_to_boxlog( domain(drinks,1,human) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,1,human).
%~ kifm=nesc(argIsa(drinks,1,human)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,1,human))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,1,human)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,1,human)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,1,human)).
.

============================================
~*/

domain(drinks,2,beverage_class).

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% (they are here to serve as a reminder)
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
/*~
%~ kifi=domain(drinks,2,beverage_class).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))
%~ debugm(user,show_success(user,user:ain(clif(domain(drinks,2,beverage_class))))).



=======================================================
domain(drinks,2,beverage_class)
============================================

?- kif_to_boxlog( domain(drinks,2,beverage_class) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  domain(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi=argIsa(drinks,2,beverage_class).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:63
%~ kifm=nesc(argIsa(drinks,2,beverage_class)).
%~ kif_to_boxlog_attvars2 = necessary(argIsa(drinks,2,beverage_class))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(argIsa(drinks,2,beverage_class)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that argIsa(drinks,2,beverage_class)
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(argIsa(drinks,2,beverage_class)).
.

============================================
~*/

% =================================================================================
% Note these two assertions are implicit to the system and have no side effect
% (they are here to serve as a reminder)
% =================================================================================

% all objects in the universe that do drink coffee, may drink coffee
all(X, if(drinks(X, coffee),possible(drinks(X, coffee)))).

% for any objects in the universe that live in the green house must obvously have that as a possibility
/*~
%~ kifi = all( Human_If_Coffee4,
%~          if(drinks(Human_If_Coffee4,coffee),possible(drinks(Human_If_Coffee4,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kifm = all(Human_Coffee5,(drinks(Human_Coffee5,coffee)=>poss(drinks(Human_Coffee5,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_Coffee5'),=>(drinks('$VAR'('Human_Coffee5'),coffee),possible(drinks('$VAR'('Human_Coffee5'),coffee))))
%~ debugm(user,show_success(user,user:ain(clif(all(_480,if(drinks(_480,coffee),possible(drinks(_480,coffee)))))))).



=======================================================
all('$VAR'('Human_If_Coffee'),if(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))
============================================

?- kif_to_boxlog( all(Human_If_Coffee,if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Human_If_Coffee
%~    " ?Human_If_Coffee drinks coffee if ?Human_If_Coffee drinks coffee isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( Human_If_Coffee,
%~          if(drinks(Human_If_Coffee,coffee),possible(drinks(Human_If_Coffee,coffee)))).
%~ kifm = all( Human_If_Coffee,
%~          drinks(Human_If_Coffee,coffee)=>poss(drinks(Human_If_Coffee,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human_If_Coffee'),=>(drinks('$VAR'('Human_If_Coffee'),coffee),possible(drinks('$VAR'('Human_If_Coffee'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(Human_If_Coffee,coffee))==>nesc(~drinks(Human_If_Coffee,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human_If_Coffee drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Human_If_Coffee drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Human_If_Coffee,coffee))==>poss(drinks(Human_If_Coffee,coffee)).
.

============================================
%~ kifi = all(X,if(drinks(X,coffee),possible(drinks(X,coffee)))).
%~ kifm = all(X,(drinks(X,coffee)=>poss(drinks(X,coffee)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(drinks('$VAR'('X'),coffee),possible(drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily false
%~  It's Proof that:
%~    " ?X drinks coffee " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~drinks(X,coffee))==>nesc(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?X drinks coffee " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(X,coffee))==>poss(drinks(X,coffee)).
.

~*/

% for any objects in the universe that live in the green house must obvously have that as a possibility
all(X, if(livesAt(X, green_house),possible(livesAt(X, green_house)))).

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
%
% =================================================================================
/*~
%~ kifi = all( If_Green_house3,
%~          if(livesAt(If_Green_house3,green_house),possible(livesAt(If_Green_house3,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ debugm( user,
%~   show_success( user,
%~     user : ain(clif(all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))))))).



=======================================================
all('$VAR'('If_Green_house'),if(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))
============================================

?- kif_to_boxlog( all(If_Green_house,if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?If_Green_house
%~    " ?If_Green_house livesAt green_house if ?If_Green_house livesAt green_house isa possible "
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( If_Green_house,
%~          if(livesAt(If_Green_house,green_house),possible(livesAt(If_Green_house,green_house)))).
%~ kifm = all( If_Green_house,
%~          livesAt(If_Green_house,green_house)=>poss(livesAt(If_Green_house,green_house))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('If_Green_house'),=>(livesAt('$VAR'('If_Green_house'),green_house),possible(livesAt('$VAR'('If_Green_house'),green_house))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 2 entailment(s):
nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(If_Green_house,green_house))==>nesc(~livesAt(If_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?If_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?If_Green_house livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(If_Green_house,green_house))==>poss(livesAt(If_Green_house,green_house)).
.

============================================
%~ kifi = all(X,if(livesAt(X,green_house),possible(livesAt(X,green_house)))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:74
%~ kifm = all(X,(livesAt(X,green_house)=>poss(livesAt(X,green_house)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),=>(livesAt('$VAR'('X'),green_house),possible(livesAt('$VAR'('X'),green_house))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily false
%~  It's Proof that:
%~    " ?X livesAt green_house " is necessarily false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(~livesAt(X,green_house))==>nesc(~livesAt(X,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?X livesAt green_house " is possible
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(X,green_house))==>poss(livesAt(X,green_house)).
.

~*/

% =================================================================================
% But given the above:
%
%   Only things that possibly can drink coffee live in the green house?
%
% =================================================================================
all(X, livesAt(X, green_house) & drinks(X, coffee)).

/*~
%~ kifi = all( Coffee_Green_house3,
%~          livesAt(Coffee_Green_house3,green_house)&drinks(Coffee_Green_house3,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kifm = all( Coffee_Green_house4,
%~          nesc(livesAt(Coffee_Green_house4,green_house)&drinks(Coffee_Green_house4,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house4'),necessary(and(livesAt('$VAR'('Coffee_Green_house4'),green_house),drinks('$VAR'('Coffee_Green_house4'),coffee))))
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/poss_forall_exists_05.pfc.pl:82
%~ debugm(user,show_success(user,user:ain(clif(all(_472,livesAt(_472,green_house)&drinks(_472,coffee)))))).



=======================================================
all('$VAR'('Coffee_Green_house'),&(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee)))
============================================

?- kif_to_boxlog( all(Coffee_Green_house,livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~
%~  For all ?Coffee_Green_house
%~    (" ?Coffee_Green_house livesAt green_house "  and
%~    " ?Coffee_Green_house drinks coffee " )
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = all( Coffee_Green_house,
%~          livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee)).
%~ kifm = all( Coffee_Green_house,
%~          nesc(livesAt(Coffee_Green_house,green_house)&drinks(Coffee_Green_house,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Coffee_Green_house'),necessary(and(livesAt('$VAR'('Coffee_Green_house'),green_house),drinks('$VAR'('Coffee_Green_house'),coffee))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 4 entailment(s):
nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(drinks(Coffee_Green_house,coffee))==>nesc(livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is necessarily true
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(livesAt(Coffee_Green_house,green_house))==>nesc(drinks(Coffee_Green_house,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~drinks(Coffee_Green_house,coffee))==>poss(~livesAt(Coffee_Green_house,green_house)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Coffee_Green_house livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?Coffee_Green_house drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(Coffee_Green_house,green_house))==>poss(~drinks(Coffee_Green_house,coffee)).
.

============================================
%~ kifi = all(X,livesAt(X,green_house)&drinks(X,coffee)).
%~ kifm = all(X,nesc(livesAt(X,green_house)&drinks(X,coffee))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('X'),necessary(and(livesAt('$VAR'('X'),green_house),drinks('$VAR'('X'),coffee))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X livesAt green_house " is possibly false
%~  It's Proof that:
%~    " ?X drinks coffee " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poss(~livesAt(X,green_house))==>poss(~drinks(X,coffee)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?X drinks coffee " is necessarily true
%~  It's Proof that:
%~
goal=user:(\+drinks(fred,coffee)).
time=0.001355886459350586.
passed=passed=info(why_was_true(user:(\+drinks(fred,coffee))))
no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

no_proof_for(\+drinks(fred,coffee)).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_ATLEAST_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_ATLEAST_01

Test case:logicmoo.base.examples.fol.SANITY_ATLEAST_01@Test_0001_Line_0000__naf_tHeart_1_in_t123: t123:(\\+tHeart(Heart))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__naf_tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_ATLEAST_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_atleast_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_atleast_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:31 2021
% 1.995 seconds cpu time for 2,749,616 inferences
% 1,426,009 atoms, 34,351 functors, 32,934 predicates, 775 modules, 26,454,369 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 843,624 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,671 atoms in 0.089 seconds.
% 8 clause garbage collections gained 1,759 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:19
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).


/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/



:- add_test(t121, (all([[Human,tAnimal]],atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))))).
/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:26
%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t121a, (atleast(1,[[Heart,tHeart]],all([[Human,tAnimal]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121a).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:27
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                                    isa(Heart,tHeart))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart))&isa(Heart,tHeart))
%~
%~ kifi = atleast( 1,
%~          [[Heart,tHeart]],
%~          all([[Human,tAnimal]],hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc( ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                  isa(Heart,tHeart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(and(forall('$VAR'('Human'),=>(isa('$VAR'('Human'),tAnimal),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))),isa('$VAR'('Heart'),tHeart))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    (" ?Heart isa tHeart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    nesc(isa(Heart,tHeart)) &
    nesc(isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is possibly false )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(poss(~hasOrgan(Human,Heart))&poss(~isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possibly false
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(~isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  nesc(isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(nesc(hasOrgan(Human,Heart))&nesc(isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possible
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(isa(Human,tAnimal))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possible  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~isa(Human,tAnimal))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122, 
  (all(Human, 
    isa(Human,tAnimal)
      => atleast(1,Heart,(isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:32
%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122a,
 (atleast(1,Heart,
  (all(Human,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart))))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:38
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  all( Human,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          all( Human,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = exists( Heart,
%~          all( Human,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t123,
 (all(Human,
   atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:45
%~ test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  exists( Heart,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = all( Human,
%~          atleast( 1,
%~            Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123a,
  atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ correct_special_quantifiers:-exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart'))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124,
  (all(Human,
    isa(Human,tAnimal) =>
      atleast(1, Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:56
%~ completed_test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124a,
  (atleast(1, Heart,
     all(Human,
       isa(Human,tAnimal) =>
        (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:63
%~ test_boxlog(t124a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ message_hook(
%~    error( syntax_error(operator_clash),
%~      string( "wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . ",
%~        63)),
%~    error,
%~    [ 'Syntax error: ', 'Operator priority clash',nl,
%~      '~w'-["wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)="], nl,'** here **',nl,
%~      '~w'-[">isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . "]]).
Syntax error: Operator priority clash
wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
** here **
>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
ERROR: Syntax error: Operator priority clash
ERROR: wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
ERROR: ** here **
ERROR: >isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : add_test( t124a,
%~               atleast( 1,
%~                 Heart,
%~                 all( Human,
%~                   isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : add_test( t124a,
%~                                          atleast( 1,
%~                                            Heart,
%~                                            all( Human,
%~                                              isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))]]).
Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
Warning: Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
~*/


:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:70
%~ running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa
goal=t123:(\+tHeart(_24656)).
time=0.0018584728240966797.
passed=passed=info(why_was_true(t123:(\+tHeart(_726))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_ATLEAST_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_ATLEAST_01

Test case:logicmoo.base.examples.fol.SANITY_ATLEAST_01@Test_0002_Line_0000__tHeart_1_in_t123: t123:tHeart(Heart)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(t123:(\\+tHeart(_405574))),nop(ftrace(t123:tHeart(_405574)))))\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_ATLEAST_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_atleast_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_atleast_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:31 2021
% 1.995 seconds cpu time for 2,749,616 inferences
% 1,426,009 atoms, 34,351 functors, 32,934 predicates, 775 modules, 26,454,369 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 843,624 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,671 atoms in 0.089 seconds.
% 8 clause garbage collections gained 1,759 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:19
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).


/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/



:- add_test(t121, (all([[Human,tAnimal]],atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))))).
/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:26
%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t121a, (atleast(1,[[Heart,tHeart]],all([[Human,tAnimal]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121a).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:27
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                                    isa(Heart,tHeart))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart))&isa(Heart,tHeart))
%~
%~ kifi = atleast( 1,
%~          [[Heart,tHeart]],
%~          all([[Human,tAnimal]],hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc( ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                  isa(Heart,tHeart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(and(forall('$VAR'('Human'),=>(isa('$VAR'('Human'),tAnimal),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))),isa('$VAR'('Heart'),tHeart))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    (" ?Heart isa tHeart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    nesc(isa(Heart,tHeart)) &
    nesc(isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is possibly false )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(poss(~hasOrgan(Human,Heart))&poss(~isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possibly false
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(~isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  nesc(isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(nesc(hasOrgan(Human,Heart))&nesc(isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possible
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(isa(Human,tAnimal))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possible  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~isa(Human,tAnimal))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122, 
  (all(Human, 
    isa(Human,tAnimal)
      => atleast(1,Heart,(isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:32
%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122a,
 (atleast(1,Heart,
  (all(Human,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart))))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:38
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  all( Human,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          all( Human,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = exists( Heart,
%~          all( Human,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t123,
 (all(Human,
   atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:45
%~ test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  exists( Heart,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = all( Human,
%~          atleast( 1,
%~            Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123a,
  atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ correct_special_quantifiers:-exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart'))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124,
  (all(Human,
    isa(Human,tAnimal) =>
      atleast(1, Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:56
%~ completed_test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124a,
  (atleast(1, Heart,
     all(Human,
       isa(Human,tAnimal) =>
        (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:63
%~ test_boxlog(t124a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ message_hook(
%~    error( syntax_error(operator_clash),
%~      string( "wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . ",
%~        63)),
%~    error,
%~    [ 'Syntax error: ', 'Operator priority clash',nl,
%~      '~w'-["wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)="], nl,'** here **',nl,
%~      '~w'-[">isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . "]]).
Syntax error: Operator priority clash
wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
** here **
>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
ERROR: Syntax error: Operator priority clash
ERROR: wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
ERROR: ** here **
ERROR: >isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : add_test( t124a,
%~               atleast( 1,
%~                 Heart,
%~                 all( Human,
%~                   isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : add_test( t124a,
%~                                          atleast( 1,
%~                                            Heart,
%~                                            all( Human,
%~                                              isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))]]).
Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
Warning: Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
~*/


:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:70
%~ running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa
goal=t123:tHeart(_465204).
time=0.0001220703125.
failure=failure=info((why_was_true(t123:(\+tHeart(_405574))),nop(ftrace(t123:tHeart(_405574)))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_ATLEAST_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_ATLEAST_01

Test case:logicmoo.base.examples.fol.SANITY_ATLEAST_01@Test_0003_Line_0000__IBob_in_t123: t123:hasOrgan(iBob,HasOrgan_Bob)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(t123:(\\+hasOrgan(iBob,_360564))),nop(ftrace(t123:hasOrgan(iBob,_360564)))))\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__IBob_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_ATLEAST_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_atleast_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_atleast_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:31 2021
% 1.995 seconds cpu time for 2,749,616 inferences
% 1,426,009 atoms, 34,351 functors, 32,934 predicates, 775 modules, 26,454,369 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 843,624 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,671 atoms in 0.089 seconds.
% 8 clause garbage collections gained 1,759 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:19
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).


/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/



:- add_test(t121, (all([[Human,tAnimal]],atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))))).
/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          atleast(1,[[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:26
%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t121a, (atleast(1,[[Heart,tHeart]],all([[Human,tAnimal]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121a).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:27
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                                    isa(Heart,tHeart))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart))&isa(Heart,tHeart))
%~
%~ kifi = atleast( 1,
%~          [[Heart,tHeart]],
%~          all([[Human,tAnimal]],hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc( ( all(Human,isa(Human,tAnimal)=>hasOrgan(Human,Heart)) &
%~                  isa(Heart,tHeart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(and(forall('$VAR'('Human'),=>(isa('$VAR'('Human'),tAnimal),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))),isa('$VAR'('Heart'),tHeart))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    (" ?Heart isa tHeart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    nesc(isa(Heart,tHeart)) &
    nesc(isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is possibly false )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(poss(~hasOrgan(Human,Heart))&poss(~isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possibly false
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(~isa(Human,tAnimal))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  nesc(isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ((" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true )is possible ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(nesc(hasOrgan(Human,Heart))&nesc(isa(Human,tAnimal))) &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false ) and
%~    " ?Human isa tAnimal " is possible
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart))))  &
    poss(~isa(Heart,tHeart)) &
    poss(isa(Human,tAnimal))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possible  and
%~    ( by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart)))&nesc(isa(Heart,tHeart))  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(hasOrgan(Human,Heart))  &
    '$existential'( Heart,
      1,
      ( all(Human,nesc(isa(Human,tAnimal))=>nesc(hasOrgan(Human,Heart))) &
        nesc(isa(Heart,tHeart)))) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~isa(Human,tAnimal))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122, 
  (all(Human, 
    isa(Human,tAnimal)
      => atleast(1,Heart,(isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:32
%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122a,
 (atleast(1,Heart,
  (all(Human,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart))))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:38
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  all( Human,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-exists(Heart,all(Human,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          all( Human,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = exists( Heart,
%~          all( Human,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart all(Human,nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      all( Human,
        ( nesc(isa(Human,tAnimal)) =>
          nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t123,
 (all(Human,
   atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:45
%~ test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  exists( Heart,
%~                                    isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))
%~
%~ kifi = all( Human,
%~          atleast( 1,
%~            Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123a,
  atleast(1,Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- exists( Heart,
%~                                  isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ correct_special_quantifiers:-exists(Heart,isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = atleast( 1,
%~          Heart,
%~          isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))).
%~ kifm = exists( Heart,
%~          nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart'))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124,
  (all(Human,
    isa(Human,tAnimal) =>
      atleast(1, Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:56
%~ completed_test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/


:- add_test(t124a,
  (atleast(1, Heart,
     all(Human,
       isa(Human,tAnimal) =>
        (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:63
%~ test_boxlog(t124a).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ message_hook(
%~    error( syntax_error(operator_clash),
%~      string( "wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . ",
%~        63)),
%~    error,
%~    [ 'Syntax error: ', 'Operator priority clash',nl,
%~      '~w'-["wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)="], nl,'** here **',nl,
%~      '~w'-[">isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) . "]]).
Syntax error: Operator priority clash
wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
** here **
>isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
ERROR: Syntax error: Operator priority clash
ERROR: wid(rule11:0,rule,atleast(1,Heart,all(Human,isa(Human,tAnimal)=
ERROR: ** here **
ERROR: >isa(Heart,tHeart)=>hasOrgan(Human,Heart)))) .
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : add_test( t124a,
%~               atleast( 1,
%~                 Heart,
%~                 all( Human,
%~                   isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : add_test( t124a,
%~                                          atleast( 1,
%~                                            Heart,
%~                                            all( Human,
%~                                              isa(Human,tAnimal)=>isa(Heart,tHeart)=>hasOrgan(Human,Heart))))]]).
Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
Warning: Goal (directive) failed: t123:add_test(t124a,atleast(1,_532,all(_534,isa(_534,tAnimal)=>isa(_532,tHeart)=>hasOrgan(_534,_532))))
~*/


:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:70
%~ running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))
%~
%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            atleast(1,Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- mpred_test(\+ tHeart(_)).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__naf_tHeart_1_in_t123",t123:(\+tHeart(Heart))).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_atleast_01.pfc.pl:72
%~ make_dynamic_here(t123,tHeart(_726)).
passed=info(why_was_true(t123:(\+tHeart(_726))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

name='logicmoo.base.examples.fol.SANITY_ATLEAST_01-Test_0001_Line_0000__naf_tHeart_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_ATLEAST_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_atleast_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_ATLEAST_01_Test_0001_Line_0000_naf_tHeart_1_in_t123-junit.xml
~*/

:- ain(tAnimal(iBob)).

/*~
~*/

:- mpred_test(tHeart(_)).
% :- mpred_why(tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob))).
% '' :-
%       \+ tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob)).
% '' :-
%       tAnimal(iBob).
% '' :-
%       tAnimal(_32725602), (\+tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602));\+hasOrgan(_32725602, skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602))), {_32725654=skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602)}, {is_unit(_32725654)}==>tHeart(_32725654).
% '' :-
%       mfl(t123,
%           '/home/prologmud_server/lib/swipl/pack/logicmoo_base/t/examples/fol/sanity_exists_01.pl',
%           40).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__tHeart_1_in_t123",t123:tHeart(Heart)).
failure=info((why_was_true(t123:(\+tHeart(_405574))),nop(ftrace(t123:tHeart(_405574)))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

name='logicmoo.base.examples.fol.SANITY_ATLEAST_01-Test_0002_Line_0000__tHeart_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_ATLEAST_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_atleast_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_ATLEAST_01_Test_0002_Line_0000_tHeart_1_in_t123-junit.xml
~*/

% :- mpred_why(tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob))).
% '' :-
%       \+
goal=t123:hasOrgan(iBob,_435390).
time=0.002270221710205078.
failure=failure=info((why_was_true(t123:(\+hasOrgan(iBob,_360564))),nop(ftrace(t123:hasOrgan(iBob,_360564)))))
no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_EXISTS_01

Test case:logicmoo.base.examples.fol.SANITY_EXISTS_01@Test_0001_Line_0000__naf_tHeart_1_in_t123: t123:(\\+tHeart(Heart))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__naf_tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:11 2021
% 2.123 seconds cpu time for 2,749,664 inferences
% 1,426,014 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,378 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,616 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,670 atoms in 0.108 seconds.
% 8 clause garbage collections gained 1,763 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:19
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:22
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/


:- add_test(t121, (all([[Human,tAnimal]],exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:25
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122,
 (all(Human,
   exists(Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:31
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123,
  (all(Human,isa(Human,tAnimal) => exists(Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:34
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ running_test(t122).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:40
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessari
goal=t123:(\+tHeart(_15202)).
time=0.0028972625732421875.
passed=passed=info(why_was_true(t123:(\+tHeart(_19770))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_EXISTS_01

Test case:logicmoo.base.examples.fol.SANITY_EXISTS_01@Test_0002_Line_0000__tHeart_1_in_t123: t123:tHeart(Heart)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(t123:(\\+tHeart(_163196))),nop(ftrace(t123:tHeart(_163196)))))\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:11 2021
% 2.123 seconds cpu time for 2,749,664 inferences
% 1,426,014 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,378 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,616 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,670 atoms in 0.108 seconds.
% 8 clause garbage collections gained 1,763 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:19
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:22
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/


:- add_test(t121, (all([[Human,tAnimal]],exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:25
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122,
 (all(Human,
   exists(Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:31
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123,
  (all(Human,isa(Human,tAnimal) => exists(Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:34
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ running_test(t122).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:40
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- mpred_test(\+ tHeart(_)).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__naf_tHeart_1_in_t123",t123:(\+tHeart(Heart))).
%~ make_dynamic_here(t123,tHeart(_19770)).
passed=info(why_was_true(t123:(\+tHeart(_19770))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

name='logicmoo.base.examples.fol.SANITY_EXISTS_01-Test_0001_Line_0000__naf_tHeart_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_EXISTS_01_Test_0001_Line_0000_naf_tHeart_1_in_t123-junit.xml
~*/

:- ain(tAnimal(iBob)).

/*~
~*/

:- mpred_test(tHeart(_)).
% :- mpred_why(tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob))).
% '' :-
%       \+ tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob)).
% '' :-
%       tAnimal(iBob).
% '' :-
%       tAnimal(_32725602), (\+tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602));\+hasOrgan(_32725602, skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602))), {_32725654=skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602)}, {is_unit(_32725654)}==>tHeart(_32725654).
% '' :-
%       mfl(t123,
%           '/home/prologmud_server/lib/swipl/pack/logicmoo_base/t/examples/fol/sanity_exists_01.pl',
%           40).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity
goal=t123:tHeart(_212928).
time=0.0001266002655029297.
failure=failure=info((why_was_true(t123:(\+tHeart(_163196))),nop(ftrace(t123:tHeart(_163196)))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_EXISTS_01

Test case:logicmoo.base.examples.fol.SANITY_EXISTS_01@Test_0003_Line_0000__IBob_in_t123: t123:hasOrgan(iBob,HasOrgan_Bob)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(t123:(\\+hasOrgan(iBob,_220058))),nop(ftrace(t123:hasOrgan(iBob,_220058)))))\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\nno_proof_for(\\+hasOrgan(iBob,HasOrgan_Bob)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__IBob_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).  
/*~
~*/
  
:- '$set_source_module'(t123).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.


/*~
% Started at Sat Dec 18 12:47:11 2021
% 2.123 seconds cpu time for 2,749,664 inferences
% 1,426,014 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,378 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   16,960  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,616 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,670 atoms in 0.108 seconds.
% 8 clause garbage collections gained 1,763 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/



subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:16
%~ make_dynamic_here(t123,argIsa('Heart',1,_29720)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:19
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:22
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/


:- add_test(t121, (all([[Human,tAnimal]],exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:25
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122,
 (all(Human,
   exists(Heart,
    isa(Human,tAnimal)
      => (isa(Heart,tHeart) & hasOrgan(Human,Heart)))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:31
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123,
  (all(Human,isa(Human,tAnimal) => exists(Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:34
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- cls.

/*~
%~ skipped(messy_on_output,cls).
~*/

:- expects_dialect(pfc).

/*~
~*/

:- t122.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ running_test(t122).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_01.pfc.pl:40
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_running_test(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- mpred_test(\+ tHeart(_)).
/*~
%~ ?-mpred_test("Test_0001_Line_0000__naf_tHeart_1_in_t123",t123:(\+tHeart(Heart))).
%~ make_dynamic_here(t123,tHeart(_19770)).
passed=info(why_was_true(t123:(\+tHeart(_19770))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

name='logicmoo.base.examples.fol.SANITY_EXISTS_01-Test_0001_Line_0000__naf_tHeart_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_EXISTS_01_Test_0001_Line_0000_naf_tHeart_1_in_t123-junit.xml
~*/

:- ain(tAnimal(iBob)).

/*~
~*/

:- mpred_test(tHeart(_)).
% :- mpred_why(tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob))).
% '' :-
%       \+ tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(iBob)).
% '' :-
%       tAnimal(iBob).
% '' :-
%       tAnimal(_32725602), (\+tHeart(skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602));\+hasOrgan(_32725602, skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602))), {_32725654=skIsAnimalInHeartArg2ofHasorgan_1FnSk(_32725602)}, {is_unit(_32725654)}==>tHeart(_32725654).
% '' :-
%       mfl(t123,
%           '/home/prologmud_server/lib/swipl/pack/logicmoo_base/t/examples/fol/sanity_exists_01.pl',
%           40).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity
goal=t123:hasOrgan(iBob,_282512).
time=0.002279520034790039.
failure=failure=info((why_was_true(t123:(\+hasOrgan(iBob,_220058))),nop(ftrace(t123:hasOrgan(iBob,_220058)))))
no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

no_proof_for(\+hasOrgan(iBob,HasOrgan_Bob)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_EXISTS_02

Test case:logicmoo.base.examples.fol.SANITY_EXISTS_02@Test_0001_Line_0000__naf_tHeart_1_in_t123: t123:(\\+tHeart(Heart))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__naf_tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).

/*~
~*/

:- dynamic(t123:ttExpressionType/1).

% :- process_this_script.

/*~
~*/


% :- process_this_script.

:- statistics.

/*~
% Started at Sat Dec 18 12:47:05 2021
% 2.170 seconds cpu time for 2,749,498 inferences
% 1,426,009 atoms, 34,351 functors, 32,934 predicates, 775 modules, 26,454,385 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   17,392  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 839,768 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,677 atoms in 0.098 seconds.
% 8 clause garbage collections gained 1,757 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/


subtest_assert(I):-kif_assert(I).

/*~
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:19
%~ make_dynamic_here(t123,argIsa('Heart',1,_35544)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:25
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/

add_test(Name,Assert):-
   test_boxlog(Assert),
   assert(( Name:- cls,test_assert(Assert))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:29
%~ message_hook(
%~    error(
%~       permission_error(modify,static_procedure,common_logic_sanity:add_test/2),
%~       context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       common_logic_sanity : add_test/2],
%~      nl,
%~      '~w at ~w:~d' - [ 'Defined',
%~                         '/var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl', 271]]).
assertz/1: No permission to modify static procedure `common_logic_sanity:(add_test/2)'
Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:271
ERROR: assertz/1: No permission to modify static procedure `common_logic_sanity:(add_test/2)'
ERROR: Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:271
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : add_test(Name,Assert) :-
%~               test_boxlog(Assert) ,
%~               assert((Name:-cls,test_assert(Assert)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : add_test(Name,Assert) :-
%~                                          test_boxlog(Assert) ,
%~                                          assert((Name:-cls,test_assert(Assert)))]]).
Goal (directive) failed: t123:must_kif_process((add_test(_518,_522):-test_boxlog(_522),assert((_518:-cls,test_assert(_522)))))
Warning: Goal (directive) failed: t123:must_kif_process((add_test(_518,_522):-test_boxlog(_522),assert((_518:-cls,test_assert(_522)))))
~*/

test_assert(A):-
  kif_assert(A),
  nop(forall(subtest(T),do_subtest(T))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:33
%~ message_hook(
%~    error(
%~       permission_error(modify,static_procedure,common_logic_sanity:test_assert/1),
%~       context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       common_logic_sanity : test_assert/1],
%~      nl,
%~      '~w at ~w:~d' - [ 'Defined',
%~                         '/var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl', 263]]).
assertz/1: No permission to modify static procedure `common_logic_sanity:(test_assert/1)'
Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:263
ERROR: assertz/1: No permission to modify static procedure `common_logic_sanity:(test_assert/1)'
ERROR: Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:263
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : test_assert(A) :-
%~               kif_assert(A) ,
%~               nop(forall(subtest(T),do_subtest(T)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : test_assert(A) :-
%~                                          kif_assert(A) ,
%~                                          nop(forall(subtest(T),do_subtest(T)))]]).
Goal (directive) failed: t123:must_kif_process((test_assert(_10318):-kif_assert(_10318),nop(forall(subtest(_10340),do_subtest(_10340)))))
Warning: Goal (directive) failed: t123:must_kif_process((test_assert(_10318):-kif_assert(_10318),nop(forall(subtest(_10340),do_subtest(_10340)))))
~*/


do_subtest(List):- must_maplist(call,List).

/*~
~*/


:- add_test(t121, (all([[Human,tAnimal]],exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:39
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122,
 (isa(Human,tAnimal)=>all(Human,exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- ( isa(Human,tAnimal) =>
%~                                  all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-isa(Human,tAnimal)=>all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = ( isa(Human,tAnimal) =>
%~          all( Human,
%~            exists([[Heart,tHeart]],hasOrgan(Human,Heart)))).
%~ kifm = nesc( ( isa(Human,tAnimal) =>
%~                all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = necessary(=>(isa('$VAR'('Human'),tAnimal),forall('$VAR'('Human'),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123,
 (isa(Human,tAnimal)=>all(Human,(isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:45
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = ( isa(Human,tAnimal) =>
%~          all( Human,
%~            isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart)))).
%~ kifm = nesc( ( isa(Human,tAnimal) =>
%~                all( Human,
%~                  isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = necessary(=>(isa('$VAR'('Human'),tAnimal),forall('$VAR'('Human'),=>(isa('$VAR'('Heart'),tHeart),exists('$VAR'('Heart'),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'(Heart,1,nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t124,
 (all(Human,exists(Heart,isa(Human,tAnimal)
     => (isa(Heart,tHeart)
      & hasOrgan(Human,Heart)))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:50
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t125,
  (all(Human,isa(Human,tAnimal) => exists(Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t125).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t125).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- expects_dialect(pfc).

/*~
~*/

:- t121.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ running_test(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:57
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
goal=t123:(\+tHeart(_62248)).
time=0.002704143524169922.
passed=passed=info(why_was_true(t123:(\+tHeart(_726))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_EXISTS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_EXISTS_02

Test case:logicmoo.base.examples.fol.SANITY_EXISTS_02@Test_0002_Line_0000__tHeart_1_in_t123: t123:tHeart(Heart)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(t123:(\\+tHeart(_439316))),nop(ftrace(t123:tHeart(_439316)))))\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\nno_proof_for(\\+tHeart(Heart)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__tHeart_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_EXISTS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_exists_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_exists_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).

/*~
~*/

:- dynamic(t123:ttExpressionType/1).

% :- process_this_script.

/*~
~*/


% :- process_this_script.

:- statistics.

/*~
% Started at Sat Dec 18 12:47:05 2021
% 2.170 seconds cpu time for 2,749,498 inferences
% 1,426,009 atoms, 34,351 functors, 32,934 predicates, 775 modules, 26,454,385 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   17,392  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 839,768 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,677 atoms in 0.098 seconds.
% 8 clause garbage collections gained 1,757 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/


subtest_assert(I):-kif_assert(I).

/*~
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(isa(_,tHeart))]).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:19
%~ make_dynamic_here(t123,argIsa('Heart',1,_35544)).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart5))])), Clif,Nt)).
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(tHeart('$VAR'('Heart4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert ?Heart4 isa tHeart isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(tHeart(Heart4))])).
.

============================================
~*/

subtest([subtest_assert(tAnimal(joe)),
        mpred_test(hasOrgan(joe,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain(clif(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]))))).



=======================================================
subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ kifi = subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))]).
%~ kifm = nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tAnimal(joe)),'[|]'(mpred_test(hasOrgan(joe,'$VAR'('HasOrgan_Joe4'))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that joe isa tAnimal isa subtest_assert joe hasOrgan ?HasOrgan_Joe4 isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(subtest([subtest_assert(tAnimal(joe)),mpred_test(hasOrgan(joe,HasOrgan_Joe4))])).
.

============================================
~*/

subtest([subtest_assert(tHeart(_)),
        mpred_test(~hasOrgan(jack,_))]).

/*~
%~ debugm( t123,
%~   show_success( t123,
%~     t123 : ain( clif( subtest( [ subtest_assert(tHeart(Heart7)),
%~                                  mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]))))).



=======================================================
subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(~(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[])))
============================================

?- kif_to_boxlog( subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]) ).


% In English:
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:25
%~ kifi = subtest( [ subtest_assert(tHeart(Heart7)),
%~                   mpred_test(~hasOrgan(jack,HasOrgan_Jack5))]).
%~ kifm = nesc( subtest( [ subtest_assert(tHeart(Heart7)),
%~                         mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
%~ kif_to_boxlog_attvars2 = necessary(subtest('[|]'(subtest_assert(tHeart('$VAR'('Heart7'))),'[|]'(mpred_test(not(hasOrgan(jack,'$VAR'('HasOrgan_Jack5')))),[]))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Results in the following 1 entailment(s):
nesc(subtest([subtest_assert(tHeart(Heart7)),mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  it is necessarily true that ?Heart7 isa tHeart isa subtest_assert jack hasOrgan ?HasOrgan_Jack5 isa ~ isa mpred_test isa subtest
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc( subtest( [ subtest_assert(tHeart(Heart7)),
                 mpred_test(~hasOrgan(jack,HasOrgan_Jack5))])).
.

============================================
~*/

add_test(Name,Assert):-
   test_boxlog(Assert),
   assert(( Name:- cls,test_assert(Assert))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:29
%~ message_hook(
%~    error(
%~       permission_error(modify,static_procedure,common_logic_sanity:add_test/2),
%~       context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       common_logic_sanity : add_test/2],
%~      nl,
%~      '~w at ~w:~d' - [ 'Defined',
%~                         '/var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl', 271]]).
assertz/1: No permission to modify static procedure `common_logic_sanity:(add_test/2)'
Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:271
ERROR: assertz/1: No permission to modify static procedure `common_logic_sanity:(add_test/2)'
ERROR: Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:271
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : add_test(Name,Assert) :-
%~               test_boxlog(Assert) ,
%~               assert((Name:-cls,test_assert(Assert)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : add_test(Name,Assert) :-
%~                                          test_boxlog(Assert) ,
%~                                          assert((Name:-cls,test_assert(Assert)))]]).
Goal (directive) failed: t123:must_kif_process((add_test(_518,_522):-test_boxlog(_522),assert((_518:-cls,test_assert(_522)))))
Warning: Goal (directive) failed: t123:must_kif_process((add_test(_518,_522):-test_boxlog(_522),assert((_518:-cls,test_assert(_522)))))
~*/

test_assert(A):-
  kif_assert(A),
  nop(forall(subtest(T),do_subtest(T))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:33
%~ message_hook(
%~    error(
%~       permission_error(modify,static_procedure,common_logic_sanity:test_assert/1),
%~       context(system:assertz/1,Context_Kw)),
%~    error,
%~    [ '~q/~w: '-[assertz,1],
%~      'No permission to ~w static procedure `~p\'' - [ modify,
%~                                                       common_logic_sanity : test_assert/1],
%~      nl,
%~      '~w at ~w:~d' - [ 'Defined',
%~                         '/var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl', 263]]).
assertz/1: No permission to modify static procedure `common_logic_sanity:(test_assert/1)'
Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:263
ERROR: assertz/1: No permission to modify static procedure `common_logic_sanity:(test_assert/1)'
ERROR: Defined at /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_base/prolog/logicmoo/common_logic/common_logic_sanity.pl:263
%~ message_hook(
%~    goal_failed( directive,
%~      t123 : test_assert(A) :-
%~               kif_assert(A) ,
%~               nop(forall(subtest(T),do_subtest(T)))),
%~    warning,
%~    [ 'Goal (~w) failed: ~p' - [ directive,
%~                                 t123 : test_assert(A) :-
%~                                          kif_assert(A) ,
%~                                          nop(forall(subtest(T),do_subtest(T)))]]).
Goal (directive) failed: t123:must_kif_process((test_assert(_10318):-kif_assert(_10318),nop(forall(subtest(_10340),do_subtest(_10340)))))
Warning: Goal (directive) failed: t123:must_kif_process((test_assert(_10318):-kif_assert(_10318),nop(forall(subtest(_10340),do_subtest(_10340)))))
~*/


do_subtest(List):- must_maplist(call,List).

/*~
~*/


:- add_test(t121, (all([[Human,tAnimal]],exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:39
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t122,
 (isa(Human,tAnimal)=>all(Human,exists([[Heart,tHeart]],hasOrgan(Human,Heart))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- ( isa(Human,tAnimal) =>
%~                                  all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-isa(Human,tAnimal)=>all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ kifi = ( isa(Human,tAnimal) =>
%~          all( Human,
%~            exists([[Heart,tHeart]],hasOrgan(Human,Heart)))).
%~ kifm = nesc( ( isa(Human,tAnimal) =>
%~                all(Human,exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = necessary(=>(isa('$VAR'('Human'),tAnimal),forall('$VAR'('Human'),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  nesc(isa(Heart,tHeart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t122).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t123,
 (isa(Human,tAnimal)=>all(Human,(isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t123).

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:45
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = ( isa(Human,tAnimal) =>
%~          all( Human,
%~            isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart)))).
%~ kifm = nesc( ( isa(Human,tAnimal) =>
%~                all( Human,
%~                  isa(Heart,tHeart)=>exists(Heart,hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = necessary(=>(isa('$VAR'('Human'),tAnimal),forall('$VAR'('Human'),=>(isa('$VAR'('Heart'),tHeart),exists('$VAR'('Heart'),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'(Heart,1,nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t123).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t124,
 (all(Human,exists(Heart,isa(Human,tAnimal)
     => (isa(Heart,tHeart)
      & hasOrgan(Human,Heart)))))).

/*~

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:50
%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          exists( Heart,
%~            isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          exists( Heart,
%~            nesc(isa(Human,tAnimal)=>(isa(Heart,tHeart)&hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),exists('$VAR'('Heart'),necessary(=>(isa('$VAR'('Human'),tAnimal),and(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  nesc(isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Human,tAnimal))=>(nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart)))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'( Heart,
      1,
      ( nesc(isa(Human,tAnimal)) =>
        nesc(isa(Heart,tHeart))&nesc(hasOrgan(Human,Heart))))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t124).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- add_test(t125,
  (all(Human,isa(Human,tAnimal) => exists(Heart, (isa(Heart,tHeart)  =>  hasOrgan(Human,Heart)))))).

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ test_boxlog(t125).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ kifi = all( Human,
%~          ( isa(Human,tAnimal) =>
%~            exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart)))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,isa(Heart,tHeart)=>hasOrgan(Human,Heart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),=>(isa('$VAR'('Heart'),tHeart),hasOrgan('$VAR'('Human'),'$VAR'('Heart')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(isa(Heart,tHeart))=>nesc(hasOrgan(Human,Heart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.


%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ completed_test_boxlog(t125).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

~*/

:- expects_dialect(pfc).

/*~
~*/

:- t121.

/*~

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ running_test(t121).

%~ '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'.

%~ correct_special_quantifiers :- all( Human,
%~                                  ( isa(Human,tAnimal) =>
%~                                    exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))).
%~ correct_special_quantifiers:-all(Human,isa(Human,tAnimal)=>exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart)))
%~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_exists_02.pfc.pl:57
%~ kifi = all( [[Human,tAnimal]],
%~          exists([[Heart,tHeart]],hasOrgan(Human,Heart))).
%~ kifm = all( Human,
%~          nesc( ( isa(Human,tAnimal) =>
%~                  exists(Heart,hasOrgan(Human,Heart)&isa(Heart,tHeart))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('Human'),necessary(=>(isa('$VAR'('Human'),tAnimal),exists('$VAR'('Heart'),and(hasOrgan('$VAR'('Human'),'$VAR'('Heart')),isa('$VAR'('Heart'),tHeart))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Heart isa tHeart " is necessarily true
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( poss(~hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is possibly false  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( poss(~hasOrgan(Human,Heart))  &
    nesc(isa(Human,tAnimal)) &
    '$existential'( Heart,
      1,
      nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))) ==>
  poss(~isa(Heart,tHeart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is necessarily true )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    nesc(isa(Heart,tHeart))) ==>
  nesc(hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false
%~  It's Proof that:
%~    " ?Human isa tAnimal " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(hasOrgan(Human,Heart))&poss(~isa(Heart,tHeart)) ==>
  poss(~isa(Human,tAnimal))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))  and
%~    (" ?Human isa tAnimal " is necessarily true  and
%~    " ?Heart isa tHeart " is possibly false )
%~  It's Proof that:
%~    " ?Human hasOrgan ?Heart " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( '$existential'(Heart,1,nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart)))  &
    nesc(isa(Human,tAnimal)) &
    poss(~isa(Heart,tHeart))) ==>
  poss(~hasOrgan(Human,Heart))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?Human hasOrgan ?Heart " is necessarily true  and
%~    " ?Human isa tAnimal " is necessarily true ) and
%~     by default ?Heart nesc(hasOrgan(Human,Heart))&nesc(isa(Heart,tHeart))
%~  It's Proof that:
%~    " ?Heart isa tHeart " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
goal=t123:tHeart(_492798).
time=0.0001697540283203125.
failure=failure=info((why_was_true(t123:(\+tHeart(_439316))),nop(ftrace(t123:tHeart(_439316)))))
no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

no_proof_for(\+tHeart(Heart)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_01

Test case:logicmoo.base.examples.fol.SANITY_POSS_01@Test_0001_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_01.pfc.pl']")

```
goal=user:poss(a(b)).
time=0.0007297992706298828.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_01

Test case:logicmoo.base.examples.fol.SANITY_POSS_01@Test_0002_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_01.pfc.pl']")

```
goal=user:poss(a(b)).
time=0.0007672309875488281.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_01

Test case:logicmoo.base.examples.fol.SANITY_POSS_01@Test_0003_Line_0000__naf_B_in_user: user:(\\+poss(a(b)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\\+poss(a(b)))))))\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__naf_B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/


:- mpred_test(\+ poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl:35
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_
goal=user:(\+poss(a(b))).
time=0.0007300376892089844.
failure=failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_01

Test case:logicmoo.base.examples.fol.SANITY_POSS_01@Test_0004_Line_0000__B_in_user: user: ~poss(a(b))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/


:- mpred_test(\+ poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl:35
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_
goal=user: ~poss(a(b)).
time=0.0006992816925048828.
failure=failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_01

Test case:logicmoo.base.examples.fol.SANITY_POSS_01@Test_0005_Line_0000__B_in_user: user: ~a(b)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~a(b))),nop(ftrace(user: ~a(b)))))\nno_proof_for(\\+ ~a(b)).\n\nno_proof_for(\\+ ~a(b)).\n\nno_proof_for(\\+ ~a(b)).\n\n". failure = [].
failed
Stderr
name=Test_0005_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_01-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_01_Test_0002_Line_0000_B_in_user-junit.xml
~*/

~poss(a(b)).

/*~
~*/


:- mpred_test(\+ poss(a(b))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_01.pfc.pl:35
%~ ?-mpred_test("Test_0003_Line_0000__naf_B_
goal=user: ~a(b).
time=0.0006921291351318359.
failure=failure=info((why_was_true(user:(\+ ~a(b))),nop(ftrace(user: ~a(b)))))
no_proof_for(\+ ~a(b)).

no_proof_for(\+ ~a(b)).

no_proof_for(\+ ~a(b)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_02

Test case:logicmoo.base.examples.fol.SANITY_POSS_02@Test_0001_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_02.pfc.pl']")

```
goal=user:poss(a(b)).
time=0.0007853507995605469.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_02

Test case:logicmoo.base.examples.fol.SANITY_POSS_02@Test_0002_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_02.pfc.pl']")

```
goal=user:poss(a(b)).
time=0.0008349418640136719.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_02

Test case:logicmoo.base.examples.fol.SANITY_POSS_02@Test_0003_Line_0000__naf_B_in_user: user:(\\+poss(a(b)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\\+poss(a(b)))))))\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__naf_B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/


% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
~a(b).

/*~
~*/

:- listing(poss).

/*~
%~ skipped(listing(poss)).
~*/

:- mpred_test(\+ p
goal=user:(\+poss(a(b))).
time=0.0007004737854003906.
failure=failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_02

Test case:logicmoo.base.examples.fol.SANITY_POSS_02@Test_0004_Line_0000__B_in_user: user: ~poss(a(b))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\nno_proof_for(\\+ ~poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0004_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/


% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
~a(b).

/*~
~*/

:- listing(poss).

/*~
%~ skipped(listing(poss)).
~*/

:- mpred_test(\+ p
goal=user: ~poss(a(b)).
time=0.0008590221405029297.
failure=failure=info((why_was_true(user:(\+ ~poss(a(b)))),nop(ftrace(user: ~poss(a(b))))))
no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

no_proof_for(\+ ~poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_02

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_02

Test case:logicmoo.base.examples.fol.SANITY_POSS_02@Test_0005_Line_0000__B_in_user: user: ~a(b)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~a(b))),nop(ftrace(user: ~a(b)))))\nno_proof_for(\\+ ~a(b)).\n\nno_proof_for(\\+ ~a(b)).\n\nno_proof_for(\\+ ~a(b)).\n\n". failure = [].
failed
Stderr
name=Test_0005_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_02.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_02.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/


% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- mpred_test(poss(a(b))).

/*~
%~ ?-mpred_test("Test_0001_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0001_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0001_Line_0000_B_in_user-junit.xml
~*/

poss(a(b)).

/*~
~*/

:- mpred_test(poss(a(b))).

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
/*~
%~ ?-mpred_test("Test_0002_Line_0000__B_in_user",user:poss(a(b))).
passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

name='logicmoo.base.examples.fol.SANITY_POSS_02-Test_0002_Line_0000__B_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_02'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_02.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_02_Test_0002_Line_0000_B_in_user-junit.xml
~*/

% TODO Why would this make it fail? when ~poss(a(b)). doesn't?
~a(b).

/*~
~*/

:- listing(poss).

/*~
%~ skipped(listing(poss)).
~*/

:- mpred_test(\+ p
goal=user: ~a(b).
time=0.0007021427154541016.
failure=failure=info((why_was_true(user:(\+ ~a(b))),nop(ftrace(user: ~a(b)))))
no_proof_for(\+ ~a(b)).

no_proof_for(\+ ~a(b)).

no_proof_for(\+ ~a(b)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_03

Test case:logicmoo.base.examples.fol.SANITY_POSS_03@Test_0001_Line_0000__a_1_in_user: user:poss(a(A))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__a_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_03.pfc.pl']")

```
goal=user:poss(a(_55932)).
time=0.0013689994812011719.
passed=passed=info(why_was_true(user:poss(a(_12736))))
no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_03

Test case:logicmoo.base.examples.fol.SANITY_POSS_03@Test_0002_Line_0000__a_1_in_user: user: ~poss(a(A))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(a(_30360)))),nop(ftrace(user: ~poss(a(_30360))))))\nno_proof_for(\\+ ~poss(a(A))).\n\nno_proof_for(\\+ ~poss(a(A))).\n\nno_proof_for(\\+ ~poss(a(A))).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__a_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_03.pfc.pl']")

```
goal=user: ~poss(a(_13532)).
time=0.0007069110870361328.
failure=failure=info((why_was_true(user:(\+ ~poss(a(_30360)))),nop(ftrace(user: ~poss(a(_30360))))))
no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_03

Test case:logicmoo.base.examples.fol.SANITY_POSS_03@Test_0003_Line_0000__naf_B_in_user: user:(\\+poss(a(b)))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\\+poss(a(b)))))))\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\nno_proof_for(poss(a(b))).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__naf_B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- wdmsg("BEGIN TESTS").

/*~
%~ BEGIN TESTS
~*/

:- mpred_test(poss(a(_))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl:28
%~ ?-mpred_test("Test_0001_Line_0000__a_1_in_user",user:poss(a(A))).
passed=info(why_was_true(user:poss(a(_12736))))
no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0001_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_03_Test_0001_Line_0000_a_1_in_user-junit.xml
~*/

~a(_).

/*~
~*/

:- mpred_test(~poss(a(_))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__a_1_in_user",user: ~poss(a(A))).
failure=info((why_was_true(user:(\+ ~poss(a(_30360)))),nop(ftrace(user: ~poss(a(_30360))))))
no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0002_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-
goal=user:(\+poss(a(b))).
time=0.0006573200225830078.
failure=failure=info((why_was_true(user:poss(a(b))),nop(ftrace(user:(\+poss(a(b)))))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_POSS_03

Test case:logicmoo.base.examples.fol.SANITY_POSS_03@Test_0004_Line_0000__B_in_user: user:poss(a(b))
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0004_Line_0000__B_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- wdmsg("BEGIN TESTS").

/*~
%~ BEGIN TESTS
~*/

:- mpred_test(poss(a(_))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl:28
%~ ?-mpred_test("Test_0001_Line_0000__a_1_in_user",user:poss(a(A))).
passed=info(why_was_true(user:poss(a(_12736))))
no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0001_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_03_Test_0001_Line_0000_a_1_in_user-junit.xml
~*/

~a(_).

/*~
~*/

:- mpred_test(~poss(a(_))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__a_1_in_user",user: ~poss(a(A))).
failure=info((why_was_true(user:(\+ ~poss(a(_30360)))),nop(ftrace(user: ~poss(a(_30360))))))
no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0002_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-
goal=user:poss(a(b)).
time=0.0006878376007080078.
passed=passed=info(why_was_true(user:poss(a(b))))
no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

no_proof_for(poss(a(b))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_POSS_03

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_POSS_03

Test case:logicmoo.base.examples.fol.SANITY_POSS_03@Test_0005_Line_0000__a_1_in_user: user: ~poss(a(A))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~poss(a(_74304)))),nop(ftrace(user: ~poss(a(_74304))))))\nno_proof_for(\\+ ~poss(a(A))).\n\nno_proof_for(\\+ ~poss(a(A))).\n\nno_proof_for(\\+ ~poss(a(A))).\n\n". failure = [].
failed
Stderr
name=Test_0005_Line_0000__a_1_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_poss_03.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

% =================================================================================
% Set our engine up
% =================================================================================

:- expects_dialect(clif).
% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
/*~
~*/

% deduce instances from usages in args having the effect of deducing human,dwelling,beverage_class are classes
==> feature_setting(make_wff,true).
/*~
~*/

==> feature_setting(add_admitted_arguments,true).
% set truth maintainance system to remove previous assertions that new assertions disagree with
/*~
~*/

% set truth maintainance system to remove previous assertions that new assertions disagree with
==> feature_setting(tms_mode,remove_conflicting).
/*~
~*/

:- set_prolog_flag(runtime_debug,3). % mention it when we remove previous assertions
/*~
~*/
 % mention it when we remove previous assertions
:- set_prolog_flag_until_eof(do_renames,mpred_expansion).
%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
/*~
~*/

%:- set_prolog_flag_until_eof(runtime_speed,0). % but dont gripe about speed
:- kif_compile.

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

/*~
~*/

% =================================================================================
% poss / ~poss sanity tests
% =================================================================================

:- mpred_trace_exec.

/*~
~*/

:- dynamic(a/1).

/*~
~*/

:- wdmsg("BEGIN TESTS").

/*~
%~ BEGIN TESTS
~*/

:- mpred_test(poss(a(_))).

/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_poss_03.pfc.pl:28
%~ ?-mpred_test("Test_0001_Line_0000__a_1_in_user",user:poss(a(A))).
passed=info(why_was_true(user:poss(a(_12736))))
no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

no_proof_for(poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0001_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SANITY_POSS_03_Test_0001_Line_0000_a_1_in_user-junit.xml
~*/

~a(_).

/*~
~*/

:- mpred_test(~poss(a(_))).

/*~
%~ ?-mpred_test("Test_0002_Line_0000__a_1_in_user",user: ~poss(a(A))).
failure=info((why_was_true(user:(\+ ~poss(a(_30360)))),nop(ftrace(user: ~poss(a(_30360))))))
no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

name='logicmoo.base.examples.fol.SANITY_POSS_03-Test_0002_Line_0000__a_1_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_POSS_03'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_poss_03.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-
goal=user: ~poss(a(_122378)).
time=0.0007040500640869141.
failure=failure=info((why_was_true(user:(\+ ~poss(a(_74304)))),nop(ftrace(user: ~poss(a(_74304))))))
no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

no_proof_for(\+ ~poss(a(A))).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_SK_TWO_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SANITY_SK_TWO_01

Test case:logicmoo.base.examples.fol.SANITY_SK_TWO_01@Test_0001_Line_0000__grandparent_2_in_user: user:test_boxlog(forAll(ForAll_Grandparent,forAll(Grandparent_Exists,exists(Implies_Parent,implies(grandparent(ForAll_Grandparent,Grandparent_Exists),parent(ForAll_Grandparent,Implies_Parent)&parent(Implies_Parent,Grandparent_Exists))))))
Outcome:Passed
Duration:0.4 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__grandparent_2_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_SK_TWO_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_sk_two_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_sk_two_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).





:- debug_logicmoo(_).
/*~
~*/

:- nodebug_logicmoo(http(_)).
/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- dynamic(parent/2).

/*~
~*/

:- kif_compile.

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
/*~
~*/

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G)))))).

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

/*~
~*/

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

grandparent(douglas,trudy).

/*~
~*/


:- test_boxlog(forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G))))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__grandparent_2_in_user",
%~       user : test_boxlog( forAll( C,
%~                             forAll( G,
%~                               exists( P,
%~                                 implies(grandparent(C,G),parent(C,P)&parent(P,G)))))))).
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(C,P))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(C,P)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(P,G)))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl:54
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifi=all(C,all(G,exists(P,(grandparent(C,G)=>parent(C,P)&parent(P,G)))))
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ kifm=all(C,all(G,exists(P,nesc((grandparent(C,G)=>parent(C,P)&parent(P,G))))))
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc
goal=user:test_boxlog(forAll(_55016,forAll(_55022,exists(_55028,implies(grandparent(_55016,_55022),parent(_55016,_55028)&parent(_55028,_55022)))))).
time=0.41931772232055664.
passed=passed=info(why_was_true(user:test_boxlog(forAll(_546,forAll(_548,exists(_550,implies(grandparent(_546,_548),parent(_546,_550)&parent(_550,_548))))))))
no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SANITY_SK_TWO_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_SK_TWO_01

Test case:logicmoo.base.examples.fol.SANITY_SK_TWO_01@Test_0002_Line_0000__Douglas_in_user: user:parent(douglas,Parent_Douglas)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+parent(douglas,_241638))),nop(ftrace(user:parent(douglas,_241638)))))\nno_proof_for(\\+parent(douglas,_X)).\n\nno_proof_for(\\+parent(douglas,_X)).\n\nno_proof_for(\\+parent(douglas,_X)).\n\n". failure = [].
failed
Stderr
name=Test_0002_Line_0000__Douglas_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_SK_TWO_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_sk_two_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_sk_two_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).





:- debug_logicmoo(_).
/*~
~*/

:- nodebug_logicmoo(http(_)).
/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- dynamic(parent/2).

/*~
~*/

:- kif_compile.

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
/*~
~*/

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G)))))).

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

/*~
~*/

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

grandparent(douglas,trudy).

/*~
~*/


:- test_boxlog(forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G))))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__grandparent_2_in_user",
%~       user : test_boxlog( forAll( C,
%~                             forAll( G,
%~                               exists( P,
%~                                 implies(grandparent(C,G),parent(C,P)&parent(P,G)))))))).
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(C,P))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(C,P)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(P,G)))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl:54
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifi=all(C,all(G,exists(P,(grandparent(C,G)=>parent(C,P)&parent(P,G)))))
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ kifm=all(C,all(G,exists(P,nesc((grandparent(C,G)=>parent(C,P)&parent(P,G))))))
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(C,P))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(C,P)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(P,G)))))
passed=info(why_was_true(user:test_boxlog(forAll(_546,forAll(_548,exists(_550,implies(grandparent(_546,_548),parent(_546,_550)&parent(_550,_548))))))))
no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

name='logicmoo.base.examples.fol.SANITY_SK_TWO_01-Test_0001_Line_0000__grandparent_2_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_SK_TWO_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_wor
goal=user:parent(douglas,_14348).
time=0.0008111000061035156.
failure=failure=info((why_was_true(user:(\+parent(douglas,_241638))),nop(ftrace(user:parent(douglas,_241638)))))
no_proof_for(\+parent(douglas,_X)).

no_proof_for(\+parent(douglas,_X)).

no_proof_for(\+parent(douglas,_X)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SANITY_SK_TWO_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.SANITY_SK_TWO_01

Test case:logicmoo.base.examples.fol.SANITY_SK_TWO_01@Test_0003_Line_0000__Trudy_in_user: user:parent(Trudy,trudy)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+parent(_17564,trudy))),nop(ftrace(user:parent(_17564,trudy)))))\nno_proof_for(\\+parent(_X,trudy)).\n\nno_proof_for(\\+parent(_X,trudy)).\n\nno_proof_for(\\+parent(_X,trudy)).\n\n". failure = [].
failed
Stderr
name=Test_0003_Line_0000__Trudy_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_SK_TWO_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'sanity_sk_two_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['sanity_sk_two_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).





:- debug_logicmoo(_).
/*~
~*/

:- nodebug_logicmoo(http(_)).
/*~
~*/

:- expects_dialect(pfc).

/*~
~*/

:- dynamic(parent/2).

/*~
~*/

:- kif_compile.

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
/*~
~*/

% Basicly is this..  forAll(C, forAll(G, grandparent(C,G) => exists(P, (parent(P,G) & parent(C,P))))).
forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G)))))).

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

/*~
~*/

%             =boxlog=
% ~grandparent(_27066, _27068) :-
%       ~parent(_27066, _27078).
%             =pfclog=
% ~grandparent(_51432, _51434)<gt;- ~parent(_51432, _51450), {is_unit(_51432)}.
%             =boxlog=
% ~grandparent(_35634, _35636) :-
%       ~parent(_35644, _35636).
%             =pfclog=
% ~grandparent(_6060, _6062)<gt;- ~parent(_6076, _6062), {is_unit(_6062)}.
%             =boxlog=
% parent(_53446, skArg2ofGrandparent_1Fn(_53452, _53446)) :-
%       grandparent(_53446, _53452).
%             =pfclog=
% grandparent(_20680, _20682), {is_unit(_20680, _20682)}==>if_missing(parent(_20680, _20704), parent(_20680, skArg2ofGrandparent_1Fn(_20682, _20680))).
%             =boxlog=
% parent(skArg2ofGrandparent_1Fn(_29062, _29064), _29062) :-
%       grandparent(_29064, _29062).
%             =pfclog=
% grandparent(_5560, _5562), {is_unit(_5562, _5560)}==>if_missing(parent(_5582, _5562), parent(skArg2ofGrandparent_1Fn(_5562, _5560), _5562)).
%

grandparent(douglas,trudy).

/*~
~*/


:- test_boxlog(forAll(C,
 forAll(G,
   exists(P, 
    implies(grandparent(C,G),
        (parent(C,P) & parent(P,G))))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__grandparent_2_in_user",
%~       user : test_boxlog( forAll( C,
%~                             forAll( G,
%~                               exists( P,
%~                                 implies(grandparent(C,G),parent(C,P)&parent(P,G)))))))).
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(C,P))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(C,P)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(P,G)))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/sanity_sk_two_01.pfc.pl:54
%~ kifi = all( C,
%~          all( G,
%~            exists( P,
%~              grandparent(C,G)=>parent(C,P)&parent(P,G)))).
%~ kifi=all(C,all(G,exists(P,(grandparent(C,G)=>parent(C,P)&parent(P,G)))))
%~ kifm = all( C,
%~          all( G,
%~            exists( P,
%~              nesc((grandparent(C,G)=>parent(C,P)&parent(P,G)))))).
%~ kifm=all(C,all(G,exists(P,nesc((grandparent(C,G)=>parent(C,P)&parent(P,G))))))
%~ as_sigma :- forall( C,
%~               forall( G,
%~                 exists( P,
%~                   necessary( grandparent(C,G)=>and(parent(C,P),parent(P,G)))))).
%~ as_sigma:-forall(C,forall(G,exists(P,necessary((grandparent(C,G)=>and(parent(C,P),parent(P,G)))))))
%~ as_dlog :- ( ( ~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P)) ==>
%~                poss(~grandparent(C,G)))  &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(C,P)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(P,G)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(P,G))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(C,P))) &
%~              ( ~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G)) ==>
%~                poss(~grandparent(C,G))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(parent(P,G)) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(poss(~parent(C,P)))) &
%~              ( ( ~poss(~grandparent(C,G))  &
%~                  ~nesc(poss(~parent(C,P))) &
%~                  '$existential'( P,
%~                    1,
%~                    ( nesc(grandparent(C,G)) =>
%~                      nesc(parent(C,P))&nesc(parent(P,G))))) ==>
%~                nesc(parent(P,G)))).
%~ as_dlog:-(~nesc(poss(~parent(P,G)))& ~nesc(parent(C,P))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(C,P))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(P,G))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(P,G)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(C,P))))&((~nesc(poss(~parent(C,P)))& ~nesc(parent(P,G))==>poss(~grandparent(C,G)))&((~poss(~grandparent(C,G))& ~nesc(parent(P,G))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(poss(~parent(C,P))))&(~poss(~grandparent(C,G))& ~nesc(poss(~parent(C,P)))&'$existential'(P,1,(nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))))==>nesc(parent(P,G)))))
passed=info(why_was_true(user:test_boxlog(forAll(_546,forAll(_548,exists(_550,implies(grandparent(_546,_548),parent(_546,_550)&parent(_550,_548))))))))
no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

%~
%~ kif_to_boxlog_attvars2 = forall('$VAR'('C'),forall('$VAR'('G'),exists('$VAR'('P'),necessary(=>(grandparent('$VAR'('C'),'$VAR'('G')),and(parent('$VAR'('C'),'$VAR'('P')),parent('$VAR'('P'),'$VAR'('G'))))))))
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?P parent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(P,G))&poss(~parent(C,P)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(P,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?C parent ?P " is necessarily true  and
%~    " ?P parent ?G " is possibly false
%~  It's Proof that:
%~    " ?C grandparent ?G " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( nesc(parent(C,P))&poss(~parent(P,G)) ==>
  poss(~grandparent(C,G))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?P parent ?G " is possibly false ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?C parent ?P " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    poss(~parent(P,G)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  poss(~parent(C,P))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?C grandparent ?G " is necessarily true  and
%~    " ?C parent ?P " is necessarily true ) and
%~     by default ?P nesc(grandparent(C,G))=>nesc(parent(C,P))&nesc(parent(P,G))
%~  It's Proof that:
%~    " ?P parent ?G " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(grandparent(C,G))  &
    nesc(parent(C,P)) &
    '$existential'( P,
      1,
      ( nesc(grandparent(C,G)) =>
        nesc(parent(C,P))&nesc(parent(P,G))))) ==>
  nesc(parent(P,G))).
.

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

no_proof_for(test_boxlog(forAll(C,forAll(G,exists(P,implies(grandparent(C,G),parent(C,P)&parent(P,G))))))).

name='logicmoo.base.examples.fol.SANITY_SK_TWO_01-Test_0001_Line_0000__grandparent_2_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SANITY_SK_TWO_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_wor
goal=user:parent(_46442,trudy).
time=0.0007598400115966797.
failure=failure=info((why_was_true(user:(\+parent(_17564,trudy))),nop(ftrace(user:parent(_17564,trudy)))))
no_proof_for(\+parent(_X,trudy)).

no_proof_for(\+parent(_X,trudy)).

no_proof_for(\+parent(_X,trudy)).

result=failure.

Test Suite: logicmoo.base.examples.fol.SCOPE_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SCOPE_EXISTS_01

Test case:logicmoo.base.examples.fol.SCOPE_EXISTS_01@Test_0001_Line_0000__room_1_in_t123: t123:test_boxlog(all(Room_Exists_Has,exists(Has_Door_Implies,implies(room(Room_Exists_Has),and(door(Has_Door_Implies),has(Room_Exists_Has,Has_Door_Implies))))))
Outcome:Passed
Duration:0.4 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__room_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['scope_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).

/*~
~*/

:- dynamic(t123:ttExpressionType/1).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.

/*~
% Started at Sat Dec 18 12:46:07 2021
% 2.196 seconds cpu time for 2,749,600 inferences
% 1,426,103 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,423 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   17,392  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,024 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,583 atoms in 0.106 seconds.
% 8 clause garbage collections gained 1,758 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/

:- test_boxlog(all(R,exists(D,implies(room(R), and(door(D), has(R, D)))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( all(R,exists(D,implies(room(R),and(door(D),has(R,D)))))))).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      wid( rule1 : 0,
%~        rule,
%~        all( Room_Exists_Has,
%~          exists( Has_Door_Implies,
%~            implies( room(Room_Exists_Has),
%~              and(door(Has_Door_Implies),has(Room_Exists_Has,Has_Door_Implies)))))), Wid,Nt)).
%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifi=all(R,exists(D,room(R)=>and(door(D),has(R,D))))
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kifm=all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D)))))
passed=info(why_was_true(t123:test_boxlog(all(_516,exists(_518,implies(room(_516),and(door(_518),has(_516,_518))))))))
no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D)))))
goal=t123:test_boxlog(all(_43470,exists(_43476,implies(room(_43470),and(door(_43476),has(_43470,_43476)))))).
time=0.4305441379547119.
passed=passed=info(why_was_true(t123:test_boxlog(all(_516,exists(_518,implies(room(_516),and(door(_518),has(_516,_518))))))))
no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SCOPE_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.4 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SCOPE_EXISTS_01

Test case:logicmoo.base.examples.fol.SCOPE_EXISTS_01@Test_0002_Line_0000__room_1_in_t123: t123:test_boxlog(all(Room_Implies_Has,implies(room(Room_Implies_Has),exists(Has_Door_And,and(door(Has_Door_And),has(Room_Implies_Has,Has_Door_And))))))
Outcome:Passed
Duration:0.2 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__room_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['scope_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).

/*~
~*/

:- dynamic(t123:ttExpressionType/1).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.

/*~
% Started at Sat Dec 18 12:46:07 2021
% 2.196 seconds cpu time for 2,749,600 inferences
% 1,426,103 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,423 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   17,392  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,024 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,583 atoms in 0.106 seconds.
% 8 clause garbage collections gained 1,758 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/

:- test_boxlog(all(R,exists(D,implies(room(R), and(door(D), has(R, D)))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( all(R,exists(D,implies(room(R),and(door(D),has(R,D)))))))).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      wid( rule1 : 0,
%~        rule,
%~        all( Room_Exists_Has,
%~          exists( Has_Door_Implies,
%~            implies( room(Room_Exists_Has),
%~              and(door(Has_Door_Implies),has(Room_Exists_Has,Has_Door_Implies)))))), Wid,Nt)).
%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifi=all(R,exists(D,room(R)=>and(door(D),has(R,D))))
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kifm=all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D)))))
passed=info(why_was_true(t123:test_boxlog(all(_516,exists(_518,implies(room(_516),and(door(_518),has(_516,_518))))))))
no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ make_dynamic_here(t123,argIsa(all,1,_29732)).
name='logicmoo.base.examples.fol.SCOPE_EXISTS_01-Test_0001_Line_0000__room_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SCOPE_EXISTS_01_Test_0001_Line_0000_room_1_in_t123-junit.xml
~*/


:- test_boxlog(all(R,implies(room(R),exists(D,and(door(D), has(R, D)))))).

/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( all(R,implies(room(R),exists(D,and(door(D),has(R,D)))))))).
%~ kifi = all(R,room(R)=>exists(D,and(door(D),has(R,D)))).
%~ kifm = all(R,nesc(room(R)=>exists(D,door(D)&has(R,D)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),exists('$VAR'('D'),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(has(R,D))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl:17
%~ kifi = all(R,room(R)=>exists(D,and(door(D),has(R,D)))).
%~ kifi=all(R,room(R)=>exists(D,and(door(D),has(R,D))))
%~ kifm = all(R,nesc(room(R)=>exists(D,door(D)&has(R,D)))).
%~ kifm=all(R,nesc(room(R)=>exists(D,door(D)&has(R,D))))
passed=info(why_was_true(t123:test_boxlog(all(_522,implies(room(_522),exists(_524,and(door(_52
goal=t123:test_boxlog(all(_75366,implies(room(_75366),exists(_75382,and(door(_75382),has(_75366,_75382)))))).
time=0.21016502380371094.
passed=passed=info(why_was_true(t123:test_boxlog(all(_522,implies(room(_522),exists(_524,and(door(_524),has(_522,_524))))))))
no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),exists('$VAR'('D'),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

result=passed.

Test Suite: logicmoo.base.examples.fol.SCOPE_EXISTS_01

Package: logicmoo.base.examples.fol

Results

Duration0.4 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.SCOPE_EXISTS_01

Test case:logicmoo.base.examples.fol.SCOPE_EXISTS_01@Test_0003_Line_0000__room_1_in_t123: t123:test_boxlog(exists(HasShared_Door_All,all(Room_Implies_HasShared,implies(room(Room_Implies_HasShared),and(door(HasShared_Door_All),hasShared(Room_Implies_HasShared,HasShared_Door_All))))))
Outcome:Passed
Duration:0.2 sec
FailedNone
None
Stderr
name=Test_0003_Line_0000__room_1_in_t123
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['scope_exists_01.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl'),
%~ /var/lib/jenkins/.local/share/swi-prolog/pack/logicmoo_utils/prolog/logicmoo_test_header.pl:96
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).

:- module(t123).

/*~
~*/

:- dynamic(t123:ttExpressionType/1).

% :- process_this_script.

/*~
~*/

% :- process_this_script.

:- statistics.

/*~
% Started at Sat Dec 18 12:46:07 2021
% 2.196 seconds cpu time for 2,749,600 inferences
% 1,426,103 atoms, 34,351 functors, 32,936 predicates, 775 modules, 26,454,423 VM-codes
%
%                     Limit   Allocated      In use
% Local  stack:           -       52 Kb    3,920  b
% Global stack:           -      256 Kb   17,392  b
% Trail  stack:           -       66 Kb      488  b
%        Total:    1,024 Mb      374 Kb       21 Kb
%
% 5 garbage collections gained 838,024 bytes in 0.000 seconds.
% 4 atom garbage collections gained 2,583 atoms in 0.106 seconds.
% 8 clause garbage collections gained 1,758 clauses in 0.000 seconds.
% Stack shifts: 1 local, 2 global, 1 trail in 0.000 seconds
% 3 threads, 0 finished threads used 0.000 seconds
~*/

:- test_boxlog(all(R,exists(D,implies(room(R), and(door(D), has(R, D)))))).

/*~
%~ ?-( mpred_test( "Test_0001_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( all(R,exists(D,implies(room(R),and(door(D),has(R,D)))))))).
%~ make_dynamic_here( t123,
%~   '$nt'(
%~      wid( rule1 : 0,
%~        rule,
%~        all( Room_Exists_Has,
%~          exists( Has_Door_Implies,
%~            implies( room(Room_Exists_Has),
%~              and(door(Has_Door_Implies),has(Room_Exists_Has,Has_Door_Implies)))))), Wid,Nt)).
%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

%~ kifi = all(R,exists(D,room(R)=>and(door(D),has(R,D)))).
%~ kifi=all(R,exists(D,room(R)=>and(door(D),has(R,D))))
%~ kifm = all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D))))).
%~ kifm=all(R,exists(D,nesc(room(R)=>(door(D)&has(R,D)))))
passed=info(why_was_true(t123:test_boxlog(all(_516,exists(_518,implies(room(_516),and(door(_518),has(_516,_518))))))))
no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),exists('$VAR'('D'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(room(R))=>(nesc(door(D))&nesc(has(R,D)))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      nesc(room(R))=>(nesc(door(D))&nesc(has(R,D))))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

no_proof_for(test_boxlog(all(R,exists(D,implies(room(R),and(door(D),has(R,D))))))).

%~ make_dynamic_here(t123,argIsa(all,1,_29732)).
name='logicmoo.base.examples.fol.SCOPE_EXISTS_01-Test_0001_Line_0000__room_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SCOPE_EXISTS_01_Test_0001_Line_0000_room_1_in_t123-junit.xml
~*/


:- test_boxlog(all(R,implies(room(R),exists(D,and(door(D), has(R, D)))))).

/*~
%~ ?-( mpred_test( "Test_0002_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( all(R,implies(room(R),exists(D,and(door(D),has(R,D)))))))).
%~ kifi = all(R,room(R)=>exists(D,and(door(D),has(R,D)))).
%~ kifm = all(R,nesc(room(R)=>exists(D,door(D)&has(R,D)))).
%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),exists('$VAR'('D'),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(has(R,D))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl:17
%~ kifi = all(R,room(R)=>exists(D,and(door(D),has(R,D)))).
%~ kifi=all(R,room(R)=>exists(D,and(door(D),has(R,D))))
%~ kifm = all(R,nesc(room(R)=>exists(D,door(D)&has(R,D)))).
%~ kifm=all(R,nesc(room(R)=>exists(D,door(D)&has(R,D))))
passed=info(why_was_true(t123:test_boxlog(all(_522,implies(room(_522),exists(_524,and(door(_524),has(_522,_524))))))))
no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

%~ kif_to_boxlog_attvars2 = forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),exists('$VAR'('D'),and(door('$VAR'('D')),has('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R has ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(has(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~has(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R has ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~has(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R has ?D " is possibly false ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~has(R,D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D nesc(door(D))&nesc(has(R,D))
%~  It's Proof that:
%~    " ?R has ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'(D,1,nesc(door(D))&nesc(has(R,D)))) ==>
  nesc(has(R,D))).
.

no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

no_proof_for(test_boxlog(all(R,implies(room(R),exists(D,and(door(D),has(R,D))))))).

name='logicmoo.base.examples.fol.SCOPE_EXISTS_01-Test_0002_Line_0000__room_1_in_t123'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.SCOPE_EXISTS_01'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'scope_exists_01.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_SCOPE_EXISTS_01_Test_0002_Line_0000_room_1_in_t123-junit.xml
~*/


:- test_boxlog(exists(D, all(R, implies(room(R), and(door(D), hasShared(R, D)))))).


% EDIT: https://github.com/logicmoo/logicmoo_workspace/edit/master/packs_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl
% JENKINS: https://jenkins.logicmoo.org/job/logicmoo_workspace/lastBuild/testReport/logicmoo.base.examples.fol/SCOPE_EXISTS_01/
% ISSUE_SEARCH: https://github.com/logicmoo/logicmoo_workspace/issues?q=is%3Aissue+label%3ASCOPE_EXISTS_01

% ISSUE: https://github.com/logicmoo/logicmoo_workspace/issues/609
/*~
%~ ?-( mpred_test( "Test_0003_Line_0000__room_1_in_t123",
%~       t123 : test_boxlog( exists( D,
%~                             all(R,implies(room(R),and(door(D),hasShared(R,D)))))))).
%~ kifi = exists(D,all(R,room(R)=>and(door(D),hasShared(R,D)))).
%~ kifm = exists( D,
%~          all(R,nesc(room(R)=>(door(D)&hasShared(R,D))))).
%~ kif_to_boxlog_attvars2 = exists('$VAR'('D'),forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),hasShared('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R hasShared ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(hasShared(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?R hasShared ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  poss(~hasShared(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R hasShared ?D " is necessarily true ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(hasShared(R,D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R hasShared ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~hasShared(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R hasShared ?D " is possibly false ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~hasShared(R,D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?R hasShared ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  nesc(hasShared(R,D))).
.

%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/scope_exists_01.pfc.pl:20
%~ kifi = exists(D,all(R,room(R)=>and(door(D),hasShared(R,D)))).
%~ kifi=exists(D,all(R,room(R)=>and(door(D),hasShared(R,D))))
%~ kifm = exists( D,
%~          all(R,nesc(room(R)=>(door(D)&hasShared(R,D))))).
%~ kifm=exists(D,all(R,nesc(room(R)=>(door(D)&hasShared(R,D)))))
passed=info(why_was_true(t123:test_boxlog(exists(_522,all(_524,implies(room(_524),and(door(_522),hasShared(_524,_522))))))))
no_proof_for(test_boxlog(exists(D,all(R,implies(room(R),and(door(D),hasShared(R,D))))))).

%~ kif_to_boxlog_attvars2 = exists('$VAR'('D'),forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),hasShared('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R hasShared ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is
goal=t123:test_boxlog(exists(_101718,all(_101724,implies(room(_101724),and(door(_101718),hasShared(_101724,_101718)))))).
time=0.19863295555114746.
passed=passed=info(why_was_true(t123:test_boxlog(exists(_522,all(_524,implies(room(_524),and(door(_522),hasShared(_524,_522))))))))
no_proof_for(test_boxlog(exists(D,all(R,implies(room(R),and(door(D),hasShared(R,D))))))).

%~ kif_to_boxlog_attvars2 = exists('$VAR'('D'),forall('$VAR'('R'),necessary(=>(room('$VAR'('R')),and(door('$VAR'('D')),hasShared('$VAR'('R'),'$VAR'('D')))))))
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?R hasShared ?D " is necessarily true  and
%~    " ?D isa door " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(hasShared(R,D))&poss(~door(D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is possibly false ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?R hasShared ?D " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~door(D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  poss(~hasShared(R,D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R hasShared ?D " is necessarily true ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?D isa door " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(hasShared(R,D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  nesc(door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    " ?D isa door " is necessarily true  and
%~    " ?R hasShared ?D " is possibly false
%~  It's Proof that:
%~    " ?R isa room " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nesc(door(D))&poss(~hasShared(R,D))==>poss(~room(R)).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?R hasShared ?D " is possibly false ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?D isa door " is possibly false
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    poss(~hasShared(R,D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  poss(~door(D))).
.

%  AND
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~  Whenever:
%~    (" ?R isa room " is necessarily true  and
%~    " ?D isa door " is necessarily true ) and
%~     by default ?D all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D))))
%~  It's Proof that:
%~    " ?R hasShared ?D " is necessarily true
%~
%~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

( ( nesc(room(R))  &
    nesc(door(D)) &
    '$existential'( D,
      1,
      all(R,nesc(room(R))=>(nesc(door(D))&nesc(hasShared(R,D)))))) ==>
  nesc(hasShared(R,D))).
.

no_proof_for(test_boxlog(exists(D,all(R,implies(room(R),and(door(D),hasShared(R,D))))))).

no_proof_for(test_boxlog(exists(D,all(R,implies(room(R),and(door(D),hasShared(R,D))))))).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0001_Line_0000__IChilly_in_user: user:tBird(iChilly)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0001_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
goal=user:tBird(iChilly).
time=0.0010821819305419922.
passed=passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0002_Line_0000__ITweety_in_user: user:tBird(iTweety)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0002_Line_0000__ITweety_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
goal=user:tBird(iTweety).
time=0.0008792877197265625.
passed=passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.1 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0003_Line_0000__TFly_in_user: user:(isa(Chilly_Fly_Fly,tFly),Chilly_Fly_Fly=iChilly)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0003_Line_0000__TFly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
goal=user:(isa(_14786,tFly),_14786=iChilly).
time=0.0008976459503173828.
passed=passed=info(why_was_true(user:(isa(iChilly,tFly),iChilly=iChilly)))
no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0004_Line_0000__ITweety_in_user: user:tFly(iTweety)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0004_Line_0000__ITweety_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


/*
:- use_module(library(pce)).
:- use_module(library(gui_tracer)).
:- use_module(library(pce_debug)).
:- use_module(library(pce_emacs)).
:- use_module(library(trace/trace)).
:- use_module(library(emacs/window)).
:- use_module(library(emacs/emacs)).
:- use_module(library(swi_ide)).
:- emacs_toplevel.
% :- guitracer,leash(-all),visible(-all),trace,member(_,[_]),!,notrace,leash(+all),visible(+all).
*/

:- expects_dialect(pfc).

/*~
~*/

:- ensure_mpred_file_loaded('logicmoo/pfc/autoexec.pfc').
% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
/*~
~*/

% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
:- mpred_trace_exec.
% :- mpred_autoload(genls/2).

/*~
~*/

% :- mpred_autoload(genls/2).

tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).
/*~
~*/

tCol(tBird).

/*~
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).

% chilly is a penguin.
/*~
~*/


% chilly is a penguin.
tPenguin(iChilly).

/*~
~*/

:-mpred_test((tBird(iChilly))).

% tweety is a canary.
/*~
%~ ?-mpred_test("Test_0001_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0001_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0001_Line_0000_IChilly_in_user-junit.xml
~*/


% tweety is a canary.
tCanary(iTweety).

/*~
~*/

:-mpred_test((tBird(iTweety))).

% birds fly by default.
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl:42
%~ ?-mpred_test("Test_0002_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0002_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0002_Line_0000_ITweety_in_user-junit.xml
~*/


% birds fly by default.
(mdefault(( tBird(X) ==> tFly(X)))).

/*~
~*/

:-mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
passed=info(why_was_true(user:(isa(iChilly,tFly),iChilly=iChilly)))
no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0003_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/worksp
goal=user:tFly(iTweety).
time=0.0011873245239257812.
passed=passed=info(why_was_true(user:tFly(iTweety)))
no_proof_for(tFly(iTweety)).

no_proof_for(tFly(iTweety)).

no_proof_for(tFly(iTweety)).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures0

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0005_Line_0000__IChilly_in_user: user:tFly(iChilly)
Outcome:Passed
Duration:0.0 sec
FailedNone
None
Stderr
name=Test_0005_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


/*
:- use_module(library(pce)).
:- use_module(library(gui_tracer)).
:- use_module(library(pce_debug)).
:- use_module(library(pce_emacs)).
:- use_module(library(trace/trace)).
:- use_module(library(emacs/window)).
:- use_module(library(emacs/emacs)).
:- use_module(library(swi_ide)).
:- emacs_toplevel.
% :- guitracer,leash(-all),visible(-all),trace,member(_,[_]),!,notrace,leash(+all),visible(+all).
*/

:- expects_dialect(pfc).

/*~
~*/

:- ensure_mpred_file_loaded('logicmoo/pfc/autoexec.pfc').
% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
/*~
~*/

% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
:- mpred_trace_exec.
% :- mpred_autoload(genls/2).

/*~
~*/

% :- mpred_autoload(genls/2).

tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).
/*~
~*/

tCol(tBird).

/*~
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).

% chilly is a penguin.
/*~
~*/


% chilly is a penguin.
tPenguin(iChilly).

/*~
~*/

:-mpred_test((tBird(iChilly))).

% tweety is a canary.
/*~
%~ ?-mpred_test("Test_0001_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0001_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0001_Line_0000_IChilly_in_user-junit.xml
~*/


% tweety is a canary.
tCanary(iTweety).

/*~
~*/

:-mpred_test((tBird(iTweety))).

% birds fly by default.
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl:42
%~ ?-mpred_test("Test_0002_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0002_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0002_Line_0000_ITweety_in_user-junit.xml
~*/


% birds fly by default.
(mdefault(( tBird(X) ==> tFly(X)))).

/*~
~*/

:-mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
passed=info(why_was_true(user:(isa(iChilly,tFly),iChilly=iChilly)))
no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0003_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/worksp
goal=user:tFly(iChilly).
time=0.0008108615875244141.
passed=passed=info(why_was_true(user:tFly(iChilly)))
no_proof_for(tFly(iChilly)).

no_proof_for(tFly(iChilly)).

no_proof_for(tFly(iChilly)).

result=passed.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0006_Line_0000__naf_IChilly_in_user: user:(\\+tFly(iChilly))
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:tFly(iChilly)),nop(ftrace(user:(\\+tFly(iChilly))))))\nno_proof_for(tFly(iChilly)).\n\nno_proof_for(tFly(iChilly)).\n\nno_proof_for(tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0006_Line_0000__naf_IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


/*
:- use_module(library(pce)).
:- use_module(library(gui_tracer)).
:- use_module(library(pce_debug)).
:- use_module(library(pce_emacs)).
:- use_module(library(trace/trace)).
:- use_module(library(emacs/window)).
:- use_module(library(emacs/emacs)).
:- use_module(library(swi_ide)).
:- emacs_toplevel.
% :- guitracer,leash(-all),visible(-all),trace,member(_,[_]),!,notrace,leash(+all),visible(+all).
*/

:- expects_dialect(pfc).

/*~
~*/

:- ensure_mpred_file_loaded('logicmoo/pfc/autoexec.pfc').
% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
/*~
~*/

% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
:- mpred_trace_exec.
% :- mpred_autoload(genls/2).

/*~
~*/

% :- mpred_autoload(genls/2).

tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).
/*~
~*/

tCol(tBird).

/*~
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).

% chilly is a penguin.
/*~
~*/


% chilly is a penguin.
tPenguin(iChilly).

/*~
~*/

:-mpred_test((tBird(iChilly))).

% tweety is a canary.
/*~
%~ ?-mpred_test("Test_0001_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0001_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0001_Line_0000_IChilly_in_user-junit.xml
~*/


% tweety is a canary.
tCanary(iTweety).

/*~
~*/

:-mpred_test((tBird(iTweety))).

% birds fly by default.
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl:42
%~ ?-mpred_test("Test_0002_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0002_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0002_Line_0000_ITweety_in_user-junit.xml
~*/


% birds fly by default.
(mdefault(( tBird(X) ==> tFly(X)))).

/*~
~*/

:-mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
passed=info(why_was_true(user:(isa(iChilly,tFly),iChilly=iChilly)))
no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0003_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/worksp
goal=user:(\+tFly(iChilly)).
time=0.0008106231689453125.
failure=failure=info((why_was_true(user:tFly(iChilly)),nop(ftrace(user:(\+tFly(iChilly))))))
no_proof_for(tFly(iChilly)).

no_proof_for(tFly(iChilly)).

no_proof_for(tFly(iChilly)).

result=failure.

Test Suite: logicmoo.base.examples.fol.ZENLS_01Z

Package: logicmoo.base.examples.fol

Results

Duration0.0 sec
Tests1
Failures1

Tests

logicmoo.base.examples.fol.ZENLS_01Z

Test case:logicmoo.base.examples.fol.ZENLS_01Z@Test_0007_Line_0000__IChilly_in_user: user: ~tFly(iChilly)
Outcome:Failed
Duration:0.0 sec
Failedfailure = "failure=info((why_was_true(user:(\\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\nno_proof_for(\\+ ~tFly(iChilly)).\n\n". failure = [].
failed
Stderr
name=Test_0007_Line_0000__IChilly_in_user
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
 (cd /var/lib/jenkins/workspace/logicmoo_workspace@2/back_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 "['zenls_01z.pfc.pl']")

```
Warning: import/1: parser_lexical_plkb:(cyc_lex/1) is not exported (still imported into system)
%~ init_phase(after_load).
%~ init_phase(restore_state).
%
%~ init_why(after_boot,program).
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ READONLY PACKAGES
%~ after_boot.
%~ Dont forget to ?- logicmoo_i_cyc_xform.
%~ skipped(blocks_on_input,prolog).
running('/var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl'),
%~ this_test_might_need((:-use_module(library(logicmoo_plarkc)))).


/*
:- use_module(library(pce)).
:- use_module(library(gui_tracer)).
:- use_module(library(pce_debug)).
:- use_module(library(pce_emacs)).
:- use_module(library(trace/trace)).
:- use_module(library(emacs/window)).
:- use_module(library(emacs/emacs)).
:- use_module(library(swi_ide)).
:- emacs_toplevel.
% :- guitracer,leash(-all),visible(-all),trace,member(_,[_]),!,notrace,leash(+all),visible(+all).
*/

:- expects_dialect(pfc).

/*~
~*/

:- ensure_mpred_file_loaded('logicmoo/pfc/autoexec.pfc').
% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
/*~
~*/

% :- ensure_mpred_file_loaded('logicmoo/pfc/system_genls.pfc').
:- mpred_trace_exec.
% :- mpred_autoload(genls/2).

/*~
~*/

% :- mpred_autoload(genls/2).

tCol(tFly).
/*~
~*/

tCol(tCanary).
/*~
~*/

tCol(tPenguin).
/*~
~*/

tCol(tBird).

/*~
~*/

genls(tCanary,tBird).
/*~
~*/

genls(tPenguin,tBird).

% chilly is a penguin.
/*~
~*/


% chilly is a penguin.
tPenguin(iChilly).

/*~
~*/

:-mpred_test((tBird(iChilly))).

% tweety is a canary.
/*~
%~ ?-mpred_test("Test_0001_Line_0000__IChilly_in_user",user:tBird(iChilly)).
passed=info(why_was_true(user:tBird(iChilly)))
no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

no_proof_for(tBird(iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0001_Line_0000__IChilly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0001_Line_0000_IChilly_in_user-junit.xml
~*/


% tweety is a canary.
tCanary(iTweety).

/*~
~*/

:-mpred_test((tBird(iTweety))).

% birds fly by default.
/*~
%~ /var/lib/jenkins/workspace/logicmoo_workspace@2/back_sys/logicmoo_base/t/examples/fol/zenls_01z.pfc.pl:42
%~ ?-mpred_test("Test_0002_Line_0000__ITweety_in_user",user:tBird(iTweety)).
passed=info(why_was_true(user:tBird(iTweety)))
no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

no_proof_for(tBird(iTweety)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0002_Line_0000__ITweety_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/workspace/logicmoo_workspace/bin/lmoo-clif -t "[\'zenls_01z.pfc.pl\']"'.
% saving_junit: /var/lib/jenkins/workspace/logicmoo_workspace@2/test_results/jenkins/Report-logicmoo-base-examples-fol-vSTARv0vSTARvvDOTvvSTARv-2-1--grep-2-i-WARN-ERROR-_file-00-fail-pass--Units-Logicmoo_base_examples_fol_ZENLS_01Z_Test_0002_Line_0000_ITweety_in_user-junit.xml
~*/


% birds fly by default.
(mdefault(( tBird(X) ==> tFly(X)))).

/*~
~*/

:-mpred_test((isa(I,tFly),I=iChilly)).

/*~
%~ ?-mpred_test("Test_0003_Line_0000__TFly_in_user",user:(isa(I,tFly),I=iChilly)).
passed=info(why_was_true(user:(isa(iChilly,tFly),iChilly=iChilly)))
no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

no_proof_for((isa(iChilly,tFly),iChilly=iChilly)).

name='logicmoo.base.examples.fol.ZENLS_01Z-Test_0003_Line_0000__TFly_in_user'.
JUNIT_CLASSNAME='logicmoo.base.examples.fol.ZENLS_01Z'.
JUNIT_CMD='timeout --foreground --preserve-status -s SIGKILL -k 10s 10s swipl -x /var/lib/jenkins/worksp
goal=user: ~tFly(iChilly).
time=0.0009911060333251953.
failure=failure=info((why_was_true(user:(\+ ~tFly(iChilly))),nop(ftrace(user: ~tFly(iChilly)))))
no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

no_proof_for(\+ ~tFly(iChilly)).

result=failure.