Dynamic rule assertion in SWI-prolog

Ich versuche eine Regel hinzufügen, die dynamisch auf die knowledge base verwenden SWI-prolog, wo der Körper der Regel ist im Voraus nicht bekannt.

Die gewünschte Regel wie folgt aussieht:

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

Normalerweise würde man einfach sagen,

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

aber das problem ist, dass der Sachverhalt wird beschlossen, zur Laufzeit(die Anzahl der Fakten ist auch nicht bekannt, vor der Geltendmachung).

Deshalb würde ich gerne wissen, ob es eine Möglichkeit gibt zu behaupten, eine Regel, wo der Körper besteht aus einer Liste von Fakten, wie [Tat(1),Tatsache(2)]

InformationsquelleAutor Tom | 2010-10-31
Schreibe einen Kommentar