Building Problem Solvers by Johan De Kleer & Kenneth D. Forbus