this post was submitted on 18 Oct 2025
782 points (99.2% liked)

Programmer Humor

27101 readers
1847 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
[–] Klear@quokk.au 6 points 1 week ago* (last edited 1 week ago) (1 children)

Consider the implication to be some claim, for example, "When it's raining (A), it's wet (B)". The value of the implication tells us whether we should call the claimant a liar or. So in case it's raining (A = true) and is is not wet (B = false) the claim turns out to be false, so the value of the implication is false.

Now, supposing it is not raining (A = false). It doesn't matter whether it's wet or not, we can't call the claim false because there just isn't enough information.

It's about falsifiability (or lack thereof, in case A is never true).

[–] NeatNit@discuss.tchncs.de 2 points 1 week ago (1 children)

The comment you replied to is my response to this. It's the only boolean operation that works this way. All the others are straightforward.

[–] Klear@quokk.au 2 points 1 week ago (1 children)

I think the problem is that you're thinking in terms of boolean algebra, while implication being implication comes from propositional logic.

[–] NeatNit@discuss.tchncs.de 3 points 1 week ago

That's interesting. I'll have to read up on that. You're right, I am thinking about boolean algebra.

In the mean time though, I'll note that Boolean algebra on Wikipedia also refers to this operation, so I'm not alone:

Material conditional

The first operation, x → y, or Cxy, is called material implication. If x is true, then the result of expression x → y is taken to be that of y (e.g. if x is true and y is false, then x → y is also false). But if x is false, then the value of y can be ignored; however, the operation must return some Boolean value and there are only two choices. So by definition, x → y is true when x is false (relevance logic rejects this definition, by viewing an implication with a false premise as something other than either true or false).

It also uses the second interpretation that I mentioned in my earlier comment (4 above this one), with true being default, rather than the one we've been discussing.