Prolog is a prigramming language that is based on first order predicate logic. It uses Horn clause logic (predicates can be defined in terms of other predicates, but not arbitrary equations) and unification of variables, with backtracking when it reaches an impasse or tries to seek additional solutions. The outcome of a Prolog query is a binding of variables or 'No' meaning no (further) solution can be found. Prolog allows negation and has a closed world model of knowledge -- if a fact is not found it is assumed to be false.
Used on pages 20, 22, 23, 28, 68, 296, 394, 396, 431, 434