A recursive model of problem solving is developed and methods for testing the model discussed. Recursion is a generative process which produces output through ordered stepping. The problem-solving model has a knowledge component in the form of directed acyclic networks and a recursive process which manages problem solving by forward and backward stepping through the maze of structural knowledge. By reinterpreting knowledge structures recursively, it is possible to neatly explain the creation of new links. Also, tree hierarchies and linear sequences are shown to be substructures of directed acyclic networks, making the model consistent with many other schema theories.