我正在尝试使用SWI-prolog动态地向知识库添加规则,其中规则的主体事先是未知的.
所需的规则如下所示:
rule(a) :- fact(1), fact(2).
Run Code Online (Sandbox Code Playgroud)
通常你会简单地说
assert((rule(a):-fact(1),fact(2))).
Run Code Online (Sandbox Code Playgroud)
但问题是事实是在运行时决定的(在断言之前事实的数量也是未知的).
这就是为什么我想知道是否有可能主张一个规则,其中正文由一系列事实组成,如[fact(1),fact(2)]
prolog ×1