As explained in many AI text books, it is often necessary to search an abstract space in order to find a solution to a problem.
This chapter, which will be of use only to fairly experienced programmers, uses a subset of some of the contents of a Pop-11 "teach" file developed by the author, to define an illustrative general purpose problem solver which searches for a solution to a variety of problems.
In order to use the procedure solve_problem you have to choose a representation for your problem and the search space it defines. That requires choosing a representation for each state, including the initial state, the goal state or goal states if there are several alternative ways of solving the problem, and other intermediate states.