9/7/2026
The first fallacy, in English
"If it rained, the ground would be wet. The ground is wet. So it rained." This feels right — and is wrong. The ground could be wet for some other reason. This is one of the oldest and most persistent fallacies in ordinary reasoning: affirming the consequent.
The inference here is of the kind
R → W, W ∴ R
The diagram
Universe = {a, b}
R (RainsOn) = {a} (it rains on a, but only on a)
W (Wet) = {a, b} (both are wet)
Try it
Formula (i) says `RainsOn(a)→Wet(a)` — select it and click *True?*: it's true, since *a* is rained-on and is wet. Formula (d), `Wet(a)`, is also true. It's tempting to conclude `RainsOn(a)` from those two — exactly the affirming the consequent move. What is under consideration here is the inference:
RainsOn(a)→Wet(a), Wet(a) ∴ RainsOn(a)
Both the premises are true and the conclusion is true, and that tempts us into thinking that the inference is valid. It is not. The inference is fallacious.
Our focus here needs to be on an inference, not on plain truths. What does that mean? It is not merely a question of whether the premises of the reasoning are true while the conclusion is true. Rather, what counts is whether it is possible for all of the premises of the reasoning of that type to be true while a conclusion of that type is false. If so, the argument is invalid (i.e. the reasoning is unsound). If such of combination, of true premises and a false conclusion is not possible, the argument it valid (i.e. the reasoning is sound).
So our interest really is with
RainsOn(a)→Wet(a), Wet(a) ∴ RainsOn(a)
RainsOn(b)→Wet(b), Wet(b) ∴ RainsOn(b)
RainsOn(c)→Wet(c), Wet(c) ∴ RainsOn(c)
RainsOn(d)→Wet(d), Wet(d) ∴ RainsOn(d)
etc.
Fortunately we do not have to take our imagination too far on this. Focus on the individual (b) in the Interpretation we have created. Look at formula (j), `RainsOn(b)→Wet(b)` It is true (since Wet(b) is true regardless of RainsOn(b)) — and formula (e), `Wet(b)`, is also true. But `RainsOn(b)` is *false*.
Select `RainsOn(b)` and click Deny — Deny is the *correct* move here, and the game will confirm it by walking straight to the atomic formula and showing you it's false. Then try **Endorse** on `RainsOn(b)` instead, just to watch the game correctly call that a loss — the fallacy, made concrete. Now we have shown that
RainsOn(b)→Wet(b), Wet(b) ∴ RainsOn(b)
has both premises true and a conclusion which is false. That means that the inference is invalid. Believing that inferences of that type to be valid is a fallacy, the fallacy of affirming the consequent.
The second fallacy, in English
"If it rained, the ground would be wet. It did not rain. So the ground is not wet." This also feels right — and is wrong. The ground could be wet for some other reason. This is another persistent fallacy in ordinary reasoning: denying the antecedent.
The inference here is of the kind
R → W, ~R ∴ ~W
Try it
Our individual (b) in this Interpretation will also put this inference to the sword.
Look at formula (j), `RainsOn(b)→Wet(b)`: also true (since Wet(b) is true regardless of RainsOn(b)) — and formula (c), `~RainsOn (b)`, is also true. But `~Wet(b)` is *false*.
Select `~Wet(b)` and click Deny — Deny is the *correct* move here, and the game will confirm it by walking straight to the atomic formula and showing you it's false. Then try **Endorse** on `~Wet(b)` instead, just to watch the game correctly call that a loss — the fallacy, made concrete. Now we have shown that
RainsOn(b)→Wet(b), ~RainsOn(b) ∴ ~Wet(b)
has both premises true and a conclusion which is false. That means that the inference is invalid. Believing that inferences of that type to be valid is a fallacy, the fallacy of denying the antecedent.