Answer Set Prolog is a comparatively new knowledge representation (KR) language with roots in older nonmonotonic logics and the logic programming language Prolog. Early proponents of the logical approach to artificial intelligence believed that the classical logical formalism called first-order logic would serve as the basis for the application of the axiomatic method to the development of intelligent agents. In this chapter we briefly describe some important developments that forced them to question this belief and to work instead on the development of nonclassical knowledge representation languages including ASP. To make the chapter easier for people not familiar with mathematical logic, we give a very short introduction to one of its basic logical tools — first-order logic.
First-Order Logic (FOL)
First-order logic is a formal logical system that consists of a formal language, an entailment or consequence relation for this language, and a collection of inference rules that can be used to obtain these consequences. The language of FOL is parametrized with respect to a signature Σ. The notions of term and atom over Σ are the same as those defined in Section 2.1. The statements of FOL (called FOL formulas) are built from atoms using boolean logical connectives and quantifiers ∀ (for all) and ∃ (there exists). Atoms are formulas. If A and B are formulas and X is a variable, then (A ∧ B), (A ∨ B), (A ⊃ B), ¬A, ∀ X A, ∃X A are formulas.