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

Programmer Humor

27130 readers
2538 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
[โ€“] stingpie@lemmy.world 0 points 1 week 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 1 week ago* (last edited 1 week 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