Preferably, control during a consultation is goal directed in depth-first fashion as specified by rule order. The tool is easily embodied in assembly language, or in PROLOG to allow user-defined PROLOG functions