Knowledge of Uncertain Worlds: Programming with Logical Constraints
This work addresses a foundational problem in logic programming for AI and computational logic, offering a unified approach to manage conflicting semantics.
The paper tackles the challenge of handling recursion and negation in logic programming by introducing DA logic, a unified language based on founded and constraint semantics, which supports programming with different intended semantics and uncertain information.
Programming with logic for sophisticated applications must deal with recursion and negation, which together have created significant challenges in logic, leading to many different, conflicting semantics of rules. This paper describes a unified language, DA logic, for design and analysis logic, based on the unifying founded semantics and constraint semantics, that support the power and ease of programming with different intended semantics. The key idea is to provide meta-constraints, supports the use of uncertain information in the form of either undefined values or possible combinations of values or both, and promote the use of knowledge units that can be instantiated by any new predicates, including predicates with additional arguments.