Hypothetical reasoning with intuitionistic logic
Anthony J. Bonner · 1994
Abstract This chapter addresses a limitation of most deductive database systems: they cannot reason hypothetically. Although they reason effectively about the world as it is, they are poor at tasks such as planning and design, where one must explore the consequences of hypothetical actions and possibilities. To address this limitation, this chapter presents a logic-programming language in which a user can create hypotheses and draw inferences from them. Two types of hypothetical operations are considered: the insertion of tuples into a database, and the creation of new constant symbols. These two operations are interesting, not only because they extend the capabilities of database systems, but also because they fit neatly into a well-established logical framework, namely intuitionistic logic. This chapter presents the proof theory for the logic, outlines its intuitionistic model theory, and summarizes results on its complexity and on its ability to express database queries. Our results establish a strong link between two previously unrelated, but well-developed areas: intuitionistic logic and computational complexity. This, in turn, leads to a strong link with classical second-order logic. Furthermore, unlike many expressibility results in the literature, our results do not depend on the artificial assumption that the data domain is linearly ordered.