Practice Discrete Math

Algorithms / Invariants And Structures

Least You Need to Know: Invariants and Structural Induction

Loop invariants explain why iterative algorithms stay correct after every update. Structural induction is the matching proof idea for recursive data structures such as lists and trees.

The least you need to know

Key notation

invariant property preserved by every loop iteration
base case smallest structure or initial state
inductive / recursive step prove the property for a structure from its smaller pieces

Tiny worked example

  • In a prefix-sum loop, a good invariant is: after `k` iterations, the running total equals the sum of the first `k` array entries.
  • At the end, `k=n`, so the running total equals the whole-array sum.
  • Structural induction plays the same role for recursive definitions of lists and trees.

Common mistakes

How to recognize this kind of problem

Start practice