Clean induction, strengthening an inductive invariant, and the difference between asserting a fact and assuming it away.
Part of Discrete Mathematics for Formal Verification on formal.org.