2014-09-05 131 views
0

我正在分析一个数是否为素数的代码我无法在序言中获得运算符“\ +”的含义(我在序言中很天真)。以下代码中的 +的含义

is_prime(2). is_prime(3). 
is_prime(P) :- integer(P), P > 3, P mod 2 =\= 0, \+ has_factor(P,3). 
has_factor(N,L) :- N mod L =:= 0. 
has_factor(N,L) :- L * L < N, L2 is L + 2, has_factor(N,L2). 

我已经了解其他的东西,但不能理解第二行中的“\ +”的含义。

任何人都可以解释我以上?

+0

如果答案对您有帮助,请点击打勾选择它。 – 2014-09-05 15:31:55

+0

它模仿符号⊬(Unicode U + 22AC不保证)。 – starblue 2014-09-06 12:21:12

回答

1

这意味着“不可证明”。所以\+ Thing成功,如果Thing不能被证明。

有一个有用的dictionary of Prolog。否定部分就是你所追求的。