考虑以下 Prolog 程序。
a(X) :- b(_), c(X). b(1). b(2). b(3). c(1).
运行查询:
a(X).
在 SWI-Prolog 中,我们得到三个结果,所有 X = 1。
鉴于我们不关心匿名变量,是什么阻止了 SWI-Prolog 返回单个结果?为什么不执行此优化?
谢谢
prolog prolog-anonymous-variable
prolog ×1
prolog-anonymous-variable ×1