Comment by cubefox
3 months ago
> If x is "no" (I do not know this to be true) then not-x is "yes" (I do know this to be true). So negation still works as usual.
As I said though, that doesn't make sense. Because if I don't know x to be true because it is not mentioned in the knowledge base, I also don't know not-x to be true. So both would have to be "no". But they aren't. Therefore the knowledge interpretation is incorrect. Knowledge wouldn't be closed under negation. If you don't know something to be true, that doesn't imply that you know it to be false.
You are right. If X is 'no' then not-X wouldn't necessarily be "yes".
After looking around I see that Prolog recognizes some nuance around not: https://en.wikipedia.org/wiki/Prolog#Negation
And aldready deprecated one 'not' operator:
https://www.swi-prolog.org/pldoc/man?predicate=not/1
Look at how they are not using not, but rather "not provable".
I'm not sure if Prolog has straight up negation behaving in binary arithmetic way.