Когда я запускаю гринго в своей программе, это приводит к множеству обоснованных утверждений формы
:- foo(a,b).
Затем я также получаю много обоснованных ограничений, таких как:
:- bar(a,x,y), foo(a,b).
Учитывая знания выше, они совершенно бесполезны.
Обратите внимание, что это обе обоснованные версии правила в следующей форме:
:- foo(I, J), bar(I, X, B), quux(J, X, @f(B)).
Почему обоснованные правила вообще присутствуют в выводе? Почему гринго просто не исключит foo(a,b)
из набора заземленных атомов? Можно как-то отключить? Вывод гринго моей программы из-за этого раздувается и значительно замедляется.