this post was submitted on 18 Oct 2025
12 points (83.3% liked)
Programmer Humor
27141 readers
2944 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That would be the symbol\operation called TRUE or TOP or "tautology" which is always true. They're actually missing quite a few of the weirder ops, including implication and ~~biconditional\iff\if-and-only-if~~. (Edit: Actually I think XNOR is also the biconditional. I guess pretend like I said "material implication" and "reverse implication". Fricken booleans man!)
collapsed inline media
This cheat sheet needs a cheat sheet. What do the numbers with 3 numbers mean?
I truly have no idea and wish I did, haha. It looks like a shorthand for which operation is being followed, maybe like a group theory thing, but I really don't know.
I never got why "implies" is called that. How does the phrase "A implies B" relate to the output's truth table?
I have my own "head canon" to remember it but I'll share it later, want to hear someone else's first.
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