A program is described which can be used to determine if an irregular two-dimensional object can be moved from one point to another point inside a complicated two-dimensional structure (the two-dimensional sofa problem). The representation of the program in terms of a problem network and an associated search procedure is used to indicate the desirability of a generalised programming schema.