axiom(equals(X, Y), [call(X = Y)]).
axiom(not(equals(X, Y)), [call(X \= Y)]).
%axiom((G ; _), [G]).
%axiom((_ ; G), [G]).
axiom(neighbor(1, 2), []).
axiom(neighbor(X, Y), [call(X>Y), neighbor(Y, X)]).
% axiom(neighbor(X, Y), [ neighbor(Y, X)]).
/*
Most animals can compare natural numbers. But counting is a "behavoviour script" that comes from playing a game with words.
That game requires using language.
Until such a game is played it is very unlikely to expect these numbers belong in a "numerical order".
Most animals (including bees) can see the numerical difference between the natural numbers
(though bees are born with language with syntax and smeantic rules).
*/
%"Language" is a system that allows thoughts to be turned into a low mental bandwith immediate thoughtform. Buffered in suchb a way that when echo'd a new unrelated thoughtform can take place
% From /opt/logicmoo_workspace/packs_sys/small_adventure_games/prolog/ec_planner/ectest/sanity_equals_01.e:34
%; Prolog code starts with ;:-
do_test(all):- maplist(call,
[
assert(( test_neighbor(X, Y) :- must(ec_prove(neighbor(X, Y))), must(ec_prove(neighbor(Y, X))) )),
assert(( test_not_neighbor(X, Y) :- must(ec_prove(not(neighbor(X, Y)))), must(ec_prove(not(neighbor(Y, X)))) )),
test_neighbor(1, 2),
test_neighbor(1, 3),
test_neighbor(1, 4),
test_neighbor(2, 3),
test_neighbor(2, 4),
test_neighbor(3, 4),
test_neighbor(4, 7),
test_not_neighbor(4, 8),
test_neighbor(5, 6),
test_neighbor(5, 7),
test_neighbor(5, 8),
test_neighbor(6, 7),
test_neighbor(6, 8),
test_neighbor(7, 8) ]).
:- listing([ec_current_domain_db, axiom]).