You are midway through a proof by contradiction. The algebra has been pouring out, and finally — finally — you arrive at a line that looks wrong. 7 = 9. Or x > x. Or \gcd(p, q) = 3 when you know it is 1. You feel the surge of finishing. You are about to write "Contradiction. Therefore the original claim is true. \square."
Wait. Before you sign off, a sober question: is this line a genuine logical impossibility — or did I just mess up the algebra three steps ago? The difference matters. A real contradiction proves your claim. A calculation error proves nothing, and in fact, if the proof is wrong the original claim might still be false. Declaring victory on a bad line is worse than noticing no contradiction at all — you have walked away from a problem thinking you solved it when you did not.
Here is the three-step check to tell the two apart.
Step 1 — replay every step with a small concrete example
Proof by contradiction is usually about universal claims ("for every integer n...") or about existence ("there exists a p, q..."). Substitute a concrete small case and run every line of the proof with numbers. Either the derivation stays consistent, or some step yields a false numerical statement — and that is the step with the algebra bug.
Example. In a \sqrt{2}-irrationality proof, suppose you wrote p^2 = 2q^2 and then "therefore p = q\sqrt{2}... therefore p + q = q(1 + \sqrt{2})..." and arrived at something strange. Test with p = 14, q = 10 (so p/q = 1.4 \approx \sqrt{2}, close enough for a sanity check):
- p^2 = 196, 2q^2 = 200. These are not equal — you already know your starting hypothesis does not hold for this pair, but that is fine; you are testing the algebra by tracking whether each step respects the identities you claim.
- Substitute into every subsequent line. If a line like "(p-q)^2 = p^2 - 2pq + q^2" becomes "16 = 196 - 280 + 100," that is true (both sides equal 16) — the algebra is clean. If instead you wrote "(p - q)^2 = p^2 - q^2" (missing the cross term), then the substitution gives "16 = 96," which is false — you just caught the bug.
Why this works: the laws of algebra hold for every choice of numbers. If a step is algebraically correct, it stays true under any substitution. If a substitution gives a false numerical equality, that exact step has a bug. The bug is what you misidentified as a contradiction.
Step 2 — locate the "contradiction" sentence and ask what it denies
A genuine contradiction must be of the form "P and \lnot P" where P was asserted earlier in the proof. If the offending line does not directly deny a specific earlier line of the proof, it is not a contradiction — it is either a true statement you did not expect (in which case keep going) or a false statement resulting from a bug (in which case find the bug).
Run this test: write the offending line. Then scroll back through the proof and find the earlier line it contradicts. Quote it exactly.
- If you find the line — pair them as "P" and "\lnot P" and check both are genuinely mutually exclusive under all interpretations. If yes, congratulations: real contradiction.
- If no such line exists — the offending statement is floating in space. It might be weird, but weirdness alone is not a contradiction. Some possible resolutions: you made an algebra mistake that produced a false line (Step 1 will reveal this); the original theorem is actually false (in which case no proof exists); you missed an earlier assumption that would have created the collision.
Step 3 — test whether the offending line is "false always" or "false here"
Genuine contradictions are false under every interpretation. They are statements like "x < x" (never true for any x), "\gcd(p, q) = 1 and \gcd(p, q) = 2" (mutually exclusive), "0 = 1" (false in any commutative ring). If a computer-algebra system would tag your line as "always false," it is a real contradiction.
Calculation errors, by contrast, usually produce statements that are false for the specific values at hand but true for others. "7 = 9" is one of these. Ask: "is there any assignment to the variables that would make this line true?" If yes, the line is a local falsehood from bad arithmetic, not a logical impossibility.
The most common algebra-mistake signatures
Four patterns account for the majority of false "contradictions":
- Dropped sign. A minus sign vanished two steps ago. "-b^2 = b^2" suddenly appears, and it looks like an impossibility. Replay with b = 3: -9 \ne 9, but the original equation probably had a sign that you lost.
- Dropped cross term in squaring. "(a + b)^2 = a^2 + b^2" (the 2ab term is missing). Test: a = b = 1 gives (1+1)^2 = 4, but the wrong expansion gives 1 + 1 = 2. Off by 2 from the start.
- Cancelled a zero. Dividing both sides of an equation by something that might be zero. The resulting "contradiction" is an artefact — you divided by zero somewhere. Always check: is the thing I cancelled nonzero?
- Applied a rule outside its domain. \sqrt{a} \cdot \sqrt{b} = \sqrt{ab} does not hold for negative a, b. \log(xy) = \log x + \log y needs x, y > 0. Using the rule outside its domain generates nonsense that looks like a contradiction.
When you hit a suspected contradiction, scan your derivation for these four signatures before writing \square.
What happens if you declare victory wrongly
Suppose you submit a proof with a bad "contradiction." Two things can happen.
- The original claim is actually true. A real proof exists; yours just is not it. You got lucky on the conclusion but a grader or peer reviewer will catch the bug. Fixing it requires finding a real contradiction — more work.
- The original claim is actually false. Then no proof by contradiction exists. You have assumed the negation and failed to derive a real collision; your work has told you nothing. If you declare victory, you will confidently propagate a false claim. This is worse than the first case because the error cascades downstream.
The cost of a bad declaration is low only if you happen to be in case one and you catch the bug before it matters. The prudent move is always the three-step check before signing.
Catching a fake contradiction
Supposed proof. Claim: no positive integer n satisfies n^2 = 2n + 3.
Attempt. Suppose for contradiction that n^2 = 2n + 3. Rearrange: n^2 - 2n = 3. Factor: n(n - 2) = 3. Since n and n - 2 are integers and their product is 3, we have n = 3, n - 2 = 1. But also n = 1, n - 2 = 3 would need n - 2 = 3, giving n = 5, but then n(n-2) = 15 \ne 3. Contradiction.
Run the check.
- Step 1 (substitute small values): try n = 3 in the original. 3^2 = 9; 2(3) + 3 = 9. These are equal. So n = 3 actually satisfies n^2 = 2n + 3. The original claim is false.
- Step 2 (what earlier line does the "contradiction" deny?): nothing coherent. The derivation found two candidate n values and dismissed one; that is not a contradiction, that is narrowing down.
- Step 3 (false always?): no. The derivation produced valid intermediate equations.
Diagnosis. There is no contradiction. The original claim is false: n = 3 is a positive-integer solution. The "proof" was a derivation that incorrectly stopped at a narrowing-down step.
Lesson. Running the three-step check saved a false declaration. Had we written \square without checking, we would have claimed no solution exists when one does.
Proof by contradiction is powerful, but the gap between "found a weird line" and "found a real contradiction" is where careful proof writing happens. Before every \square, run the substitution test, identify the earlier line being denied, and verify the denial holds universally. Three minutes of checking saves hours of wrong-direction work later.
Related: Proof by Contradiction · When Is It Really a Contradiction (vs Just Something Weird)? · Contradiction Detector — Watch the Red Flash When Facts Conflict · Assume the Negation — But Still Check Your Moves Preserve Meaning · Sanity-Check Conclusion with One Number First