Intensional logic programming




Orgun, Mehmet Ali

Journal Title

Journal ISSN

Volume Title



This dissertation presents an investigation of logic programming based on intensional logic. Through intensional logic, the notion of dynamic change and the ability to reason about context-dependent properties can be brought back into logic programming without any extra-logical or non-logical features. In intensional logic, the meaning of an expression depends on an implicit context. Temporal logic is a special case of intensional logic where the set of contexts models a collection of moments in time. Intensional logic programs are a set of logical axioms interpreted as statements true at all contexts. We can investigate the meaning of programs written in an intensional language either by focusing on the language or by studying the general properties of intensional logic programming to identify the conditions under which those properties are satisfied. This dissertation discusses both approaches with more emphasis on the more general one. The temporal language Chronolog is an instance of intensional logic programming, suitable for modeling time-varying aspects of certain problems and non-terminating computations. The semantics of Chronolog programs are developed in terms of temporal Herbrand interpretations. The dissertation introduces an intensional semantics based on Scott's neighborhood semantics. We identify several important semantic properties of intensional operators, namely, monotonicity, universality, conjunctivity and finitariness. An intensional logic program logic enjoys the minimum model semantics and its fixpoint characterization provided that intensional operators of the underlying logic have these properties. We show that the theory can be applied to existing logic programming languages based on diverse temporal logics, modal logic and interval logic. The theory can be utilized to design an intensional logic programming language with the desired properties. Due to non-determinism involved in logic programming, predicates do not represent single-valued relations. Choice predicates are an extension of intensional logic programming, through which non-deterministic dataflow-style of computations can be modeled. A choice predicate in principle acts like a dataflow node with multiple input lines, which arbitrarily selects one of its inputs as output. We provide the semantics of intensional logic programs with choice predicates in terms of minimal models. We also investigate how the expressiveness of intensional logic programming can be improved.



Logic programming