The "transition course" — the bridge between computational mathematics and mathematics as argument. A proof is a chain of implications from accepted premises to the claim, and the craft is a small set of templates plus judgment about which to reach for. This page is the working inventory, each with the logical form, a canonical example, and the failure mode.
To show P \Rightarrow Q: assume P, derive Q. Most proofs are direct, and most difficulty is not logic but unwinding definitions — the standard advice "write down what everything means" solves more exercises than any cleverness. Example: the sum of two even integers is even — write 2a + 2b = 2(a+b); the proof is the definition, twice.
P \Rightarrow Q is logically identical to \neg Q \Rightarrow \neg P (see propositional logic); prove whichever gives you more to work with. Example: if n^2 is even then n is even — direct is awkward, but the contrapositive (n odd \Rightarrow n^2 odd) is one line: (2k+1)^2 = 2(2k^2 + 2k) + 1. Reach for the contrapositive when the conclusion's negation is more concrete than the hypothesis.
Assume the claim is false; derive an absurdity. Two immortal examples:
Discipline: contradiction is powerful but overused — a "proof by contradiction" that never actually uses the negated conclusion is a direct or contrapositive proof wearing a disguise, and rewriting it as one is clearer.
To prove P(n) for all n \ge n_0:
Induction failure modes: forgetting the base case (the "all horses are the same color" fallacy hides there — the inductive step silently assumes n \ge 2), and an inductive hypothesis too weak to push through — the fix, counterintuitively, is strengthening the claim so the hypothesis gives you more.
Analysis proofs are quantifier management: \lim_{x \to a} f(x) = L means for every \varepsilon > 0 there exists \delta > 0 such that 0 < |x - a| < \delta implies |f(x) - L| < \varepsilon. The template: treat \varepsilon as handed to you by an adversary; your job is to construct \delta (usually by working backward from |f(x) - L| and bounding). Quantifier order is everything — swapping "for every \varepsilon there is a \delta" to "there is a \delta for every \varepsilon" is the difference between continuity and uniform continuity, and half the classical subtleties of real analysis are exactly such swaps.
Affirming the consequent (P \Rightarrow Q and Q, concluding P); begging the question (assuming the claim mid-proof, often disguised by notation); dividing by an expression that can be zero (the engine of every 1 = 2 "proof"); proving "for arbitrary large n" and claiming "for all n"; and treating a verified pattern as proof — n^2 + n + 41 is prime for n = 0, \ldots, 39 and fails at 40.