The symbolic differentiator was easy to write because the differential of an expression is easily constructed by combining the differentials of its sub-expressions. It is always obvious how to split the expression: at the principal operator. Many symbolic problems, such as integration, do not have this property. One may need to try a lot of alternative decompositions before finding the right ones. If we wrote the rules for integration in the same way as we did for differentiation, Prolog would eventually find an answer, but only after much searching.
To improve performance, we can incorporate strategic knowledge, to guide the program in finding the most appropriate rule. I shall illustrate this in equation-solving, for example transforming to .
Successful human equation do not apply the axioms of algebra blindly. Instead, they have learnt various strategies. PRESS was a program, written by Alan Bundy of Edinburgh University, for solving the equations found in applied mechanics problems from English A-level questions. It was part of a bigger program called MECHO, for reading and answering these questions. In writing it, Bundy incorporated knowledge gleaned by observing human mathematicians. See ``The Computer Modelling of Mathematical Reasoning'' by Bundy.