2014-09-05 278 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。否定部分就是你所追求的。