This document discusses recursive problem solving, where a problem is broken down into smaller instances of the same problem. For a recursive procedure to work, it must have a base case - an input where the solution is already known. The procedure recursively applies itself to progressively smaller inputs until the base case is reached. This evaluation "spirals" inward until the base case output unwinds back to the original call. The example procedure g recursively counts down from its input n to 0 before returning 1.