Prolog中逻辑not定义的状态

Prolog中逻辑not定义的状态,prolog,Prolog,如何在谓词中生成逻辑NOT? 如果我想定义一个依赖于三个条件的状态,它可能如下所示: test(A, B, C) :- cond(A), cond(B); cond(C). 您如何将状态定义为非a、非B、非C?简单阅读您的条件(注意:在Prolog的限制条件下,将按预期工作-失败否定-仅当a、B、C被实例化时) 这是等价的(布尔代数应用于求反): test(A,B,C) :- \+ cond(A), \+ cond(B), \+ cond(C). test(A,B,C) :- \+ (c

如何在谓词中生成逻辑NOT?
如果我想定义一个依赖于三个条件的状态,它可能如下所示:

test(A, B, C) :- cond(A), cond(B); cond(C).  

您如何将状态定义为非a、非B、非C?

简单阅读您的条件(注意:在Prolog的限制条件下,将按预期工作-失败否定-仅当a、B、C被实例化时)

这是等价的(布尔代数应用于求反):

test(A,B,C) :- \+ cond(A), \+ cond(B), \+ cond(C).
test(A,B,C) :- \+ (cond(A) ; cond(B) ; cond(C)).