Prolog

Terms from Artificial Intelligence: humans at the heart of algorithms

Page numbers are for draft copy at present; they will be replaced with correct numbers when final book is formatted. Chapter numbers are correct and will not change now.

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 Chap. 2: pages 20, 22, 23, 28; Chap. 4: page 68; Chap. 13: page 296; Chap. 17: pages 394, 396; Chap. 18: pages 431, 434