You meet your first logic textbook and it calmly asserts: "If pigs fly, then 2 + 2 = 5. True." You re-read the sentence. The hypothesis is ridiculous. The conclusion is flatly wrong. And yet the whole implication is stamped true. What on earth is going on?
This article walks through exactly what logic is claiming, why the claim is not a bug, and how the convention keeps real mathematics running smoothly. The short answer is that the implication is true in the same way an untested promise is "not broken" — you cannot convict it of lying until its hypothesis actually fires.
The rule being applied
Every implication p \Rightarrow q gets its truth value from a four-row table. The row in question is:
| p | q | p \Rightarrow q |
|---|---|---|
| F | F | T |
Here p = "pigs fly" (false) and q = "2 + 2 = 5" (false). So the implication sits on the last row and reads true.
Why: the truth table assigns T in the p = F rows because the only way to falsify an if-then statement is to witness the hypothesis happening and the conclusion failing. If the hypothesis never fires, you have no witness, so you cannot falsify the claim, so logic records it as true. Unbroken equals true — there is no third value.
The promise test
Picture a promise: "If pigs fly, then I will pay you 2 + 2 = 5 rupees." Pigs do not fly. Did the speaker break their promise? Of course not — the condition that triggers the payment never occurred. A promise is broken only when its trigger fires and the payoff fails to arrive. Here the trigger never fired, so there is nothing to punish.
That is the entire mechanism. "True" is logic's way of saying "no, the promise was not broken." It is a bookkeeping value, not an endorsement of the conclusion. The logic is not telling you that 2 + 2 really equals 5; it is only telling you that the implication as a whole is consistent with what we observed.
Running the same logic on a real theorem
Now apply the same rule to a serious theorem: "For every integer n, if n is a perfect square then n \ge 0."
Test at n = -4. The hypothesis "-4 is a perfect square" is false. The conclusion "-4 \ge 0" is also false. By the same truth-table row, the implication at n = -4 is true. Plug in n = 7: hypothesis false, conclusion true, implication true. Plug in n = 9: hypothesis true, conclusion true, implication true. The universal statement holds for every integer.
If you reject the pigs-fly row, you also reject the n = -4 case of this theorem — and now the theorem evaluates to something awkward ("undefined" or "false") at every non-square. The whole universal claim collapses. You cannot keep the mathematics and also reject the pigs-fly convention; they are the same rule applied to different sentences.
Where the weirdness actually lives
The "pigs fly \Rightarrow 2 + 2 = 5" sentence feels absurd for a reason that is not about logic at all: it is about relevance. Natural-English "if... then..." carries an implied promise that the two halves are related — that the speaker believes the hypothesis has something to do with the conclusion. Mathematical \Rightarrow drops that relevance requirement entirely. It measures only whether the hypothesis-true-and-conclusion-false scenario can occur. Everything else is fine.
- Everyday English: "if A then B" quietly claims A causes or relates to B.
- Mathematical logic: A \Rightarrow B only asserts that you never see A true while B is false.
The mismatch between these two readings is what makes "pigs fly ⇒ 2 + 2 = 5" feel like a scam. It is not — it is a deliberate simplification of the concept of "if" that ignores causation and relevance because neither is needed for proofs to work. The specialist name for this simplified connective is material implication, and the "pigs fly" example is the classic illustration of what material implication permits.
A second flavour of the same trick
Here is the twin example, this time with a true conclusion:
- "If pigs fly, then 2 + 2 = 4."
Hypothesis false, conclusion true. Same row of the truth table says the implication is true. This version feels slightly less offensive — the conclusion is right, after all — but it is true for exactly the same vacuous reason, not because the hypothesis secretly implies the conclusion.
And the key falsifying scenario looks like this:
- "If pigs fly, then they all have wings."
Pretend for a moment that pigs do fly. Would every flying pig automatically have wings? In your fantasy world, yes. So even if the hypothesis somehow became true, the conclusion follows. The implication is true under every scenario, which is the strongest possible kind of true.
Why logic accepts this convention
Two-valued logic has exactly two truth values. Any sentence in the language must resolve to one of them. The implication p \Rightarrow q has to pick a value for the p = F rows, and "true" is the only choice that makes theorems like the perfect-square one come out correct. A "false" pick would break universal quantification; an "undefined" pick would push you into three-valued logic and change what proof means. So "true" it is. See If p Is False, Shouldn't p → q Be 'Undefined'? for the full argument against the undefined option.
The quick checklist for any weird implication
When a textbook offers you a bizarre implication to classify:
- Find the hypothesis p and the conclusion q.
- Look up the row in the truth table based on their truth values. If p is false, the implication is automatically true — no matter how absurd the sentence reads.
- Only when p is true do you need to check whether q is also true.
This is the whole rule. It is why "if pigs fly, then 2 + 2 = 5" and "if pigs fly, then the moon is made of cheese" and "if pigs fly, then Virat Kohli is a blueberry" are all, by fiat, true. The conclusion does not have to be sensible; the implication only has to be unfalsifiable.
Related: Logic and Propositions · Implication as a Promise · Vacuous Truth — Empty-Box Demo · If p Is False, Shouldn't p → q Be 'Undefined'?