I've seen some answers here that use it and I don't know what it means or how to use it. I's also hard to look for it via a search engine :)
+3
A:
It's the 'not provable' operator. It succeeds if its argument is not provable (and fails if its argument is provable).
Carl Norum
2009-11-10 23:44:04
so \+(cat(X)) is the same as not(cat(X)) ?
Juanjo Conti
2009-11-10 23:48:27
Yes, it's just a detail of your implementation. This link mentions some examples: http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_5.html
Carl Norum
2009-11-10 23:52:27
SWI also uses 'not'. I think it's a clearer syntax.
Juanjo Conti
2009-11-10 23:57:17
+2
A:
It's do with negation. \+ Goal
will succeed if Goal
cannot be proven.
Trevor Tippins
2009-11-10 23:45:14