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 in Chap. 2: pages 14, 16, 19; Chap. 4: page 50; Chap. 13: page 208; Chap. 17: pages 271, 272; Chap. 18: pages 297, 299