Утверждение динамического правила в SWI-прологе

Я пытаюсь динамически добавить правило в базу знаний с помощью пролога SWI, где тело правило заранее неизвестно.

Требуемое правило выглядит примерно так:

rule(a) :- fact(1), fact(2).

Обычно вы просто указываете

assert((rule(a):-fact(1),fact(2))).

, но проблема в том, что факты решаются во время выполнения (количество фактов также неизвестно до утверждения ).

Вот почему я хотел бы знать, есть ли возможность утверждать правило, в котором тело состоит из списка фактов, таких как [fact (1), fact (2)]

7
задан false 23 November 2013 в 21:15
поделиться