Hello,
Consider the following example of tabling.
:- table reasoner_1/1, reasoner_2/1.
reasoner_1(Goal):- reasoner_2(Goal).
reasoner_1(a).
reasoner_2(Goal):- \+reasoner_1(Goal).
reasoner_2(b).
Notice negation in the body of the second rule. Now I query:
?- reasoner_2(a).
true.
?- reasoner_1(a).
true.
How can reasoner_2(a) be true? Which rule fired?
Thanks in advance.