无法理解Prolog运算符优先级错误

时间:2013-03-10 22:18:35

标签: prolog

我正在努力创建一个知识库。我的问题有gate/1terminal/1,我已经定义了以下规则:

gate(G) /\ terminal(T) :- (G \== T \== 1 \== 0).

我想说的是:“如果存在门G和端子T,则意味着G不等于T不等于1不等于0.

我收到以下错误:ERROR: c:/noob.pl:140:0: Syntax error: Operator priority clash

我甚至不知道我是否使用了正确的操作符。

1 个答案:

答案 0 :(得分:1)

问题在于

G \== T \== 1 \== 0

应该写

G \== T, G \== 1, G \== 0, T \== 1, T \== 0