Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
b(X) :- a(b(X)). c(X) :- a(c(X)). d(X) :- a(d(X)). etc.
我想以紧凑的形式表达它:
F :- a(F).
但是,这是一个语法错误。这样做的正确方法是什么?
在普通的 ASP 中这是不可能的。在 HEX 中可以使用变量作为谓词,但这不会直接使您的程序(或您的想法)起作用。
为了解决实践中的问题,你总是可以在它周围添加另一层谓词(这就是 HEX 内部所做的):
true(F) :- true(a(F)).