* Problem reduction search*
is a basic problem-solving technique of
AI. It involves reducing a problem
to a set of easier subproblems whose solutions, if found, can be
combined to form a solution to the hard problem. Such a search is easily
written as a recursive program in Lisp:

- If the given problem is a
*primitive subproblem*(one that can be solved by a known technique), return the solution to it. - Otherwise, try breaking the given problem into sets of simpler
*subproblems*, and call the program recursively to try to solve the subproblems . - If a set of subproblems is found such that all the subproblems
can be solved,
*combine*the subproblem solutions in an appropriate way to form the solution to the current problem.