Base Cases
Know
A base case stops the recursion. It must be reachable from every possible call, which is a stronger requirement than merely existing.
Apply
Write the base case first, then check that each recursive call strictly reduces the input toward it.
Watch out
A base case that exists but is unreachable for some inputs, such as testing equality when the input decreases by two.
Study move
Write a recursion whose base case is unreachable for odd inputs, then repair it.
