Я пытаюсь динамически добавить правило в базу знаний с помощью пролога SWI, где тело правило заранее неизвестно.
Требуемое правило выглядит примерно так:
rule(a) :- fact(1), fact(2).
Обычно вы просто указываете
assert((rule(a):-fact(1),fact(2))).
, но проблема в том, что факты решаются во время выполнения (количество фактов также неизвестно до утверждения ).
Вот почему я хотел бы знать, есть ли возможность утверждать правило, в котором тело состоит из списка фактов, таких как [fact (1), fact (2)]