this post was submitted on 18 Oct 2025
12 points (83.3% liked)

Programmer Humor

27141 readers
2966 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

founded 2 years ago
MODERATORS
 

Definitely a repost, but it fits the season

you are viewing a single comment's thread
view the rest of the comments
[–] probable_possum@leminal.space 2 points 2 weeks ago (6 children)

Can I have everything? Inside and outside the Venn circles!

[–] codexarcanum@lemmy.dbzer0.com 3 points 2 weeks ago* (last edited 2 weeks ago) (5 children)

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

[–] NeatNit@discuss.tchncs.de 0 points 2 weeks ago (2 children)

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.

[–] stingpie@lemmy.world 0 points 2 weeks ago (1 children)

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.

[–] NeatNit@discuss.tchncs.de 1 points 2 weeks ago* (last edited 2 weeks ago)

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.

Edit 2: fixed a brain fart for A NAND B

load more comments (2 replies)
load more comments (2 replies)