23 PROLOG: a language for implementing expert systems K. L. Clark and F. G. McCabe