← Back to context

Comment by scotty79

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.

"Yes" is not "true" but rather "provably true". And "no" is not "false" but rather "not provably true".

Third sensible value in this framework (which I think Prolog doesn't have) would be "false" meaning "it's provably false" ("the opposite of it is provably true").

To be frank I think Prolog in newer implementations completely abandoned this nuance and just call states "true" and "false" instead of "yes" and "no".

> 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.