Yup, that’s my interpretation too. It just doesn’t sit well with all the other operators.
All the others are phrased as direct questions about the values of A and B:
A AND B = “Are A and B both true?”
A OR B = “Are either A or B true, or both?”
A NAND B = “Is (A AND B) not true?”
A IMPLIES B = “Is it possible, hypothetically speaking, for it to be the case that A implies B, given the current actual values of A and B?”
You see the issue?
Edit: looking online, some people see it as: “If A is true, take the value of B.” A implies that you should take the value of B. But if A is false, you shouldn’t take the value of B, instead you should use the default value which is inexplicably defined to be true for this operation.
This is slightly more satisfying but I still don’t like it. The implication (ha) that true is the default value for a boolean doesn’t sit right with me. I don’t even feel comfortable with a boolean having a default value, let alone it being true instead of false which would be more natural.
I think ‘implies’ asks whether it’s possible that A causes B to be true. In other words, it is false if there is evidence that A does not cause B.
So:
If A is true and B is false, then the result is false, since A could not cause B to be true.
If A and B are both true, then the result is true, since A could cause B.
If A is false and B is true, then the result is true since A could or could not make B true (but another factor could also be making B true)
If A and B are both false we don’t have any evidence about the relationship between A and B, so the result is true.
I don’t know for sure, though. I’m not a mathematician.
Yup, that’s my interpretation too. It just doesn’t sit well with all the other operators.
All the others are phrased as direct questions about the values of A and B:
You see the issue?
Edit: looking online, some people see it as: “If A is true, take the value of B.” A implies that you should take the value of B. But if A is false, you shouldn’t take the value of B, instead you should use the default value which is inexplicably defined to be
truefor this operation.This is slightly more satisfying but I still don’t like it. The implication (ha) that
trueis the default value for a boolean doesn’t sit right with me. I don’t even feel comfortable with a boolean having a default value, let alone it beingtrueinstead offalsewhich would be more natural.Edit 2: fixed a brain fart for A NAND B