1,328 research outputs found
Deciding Full Branching Time Logic by Program Transformation
We present a method based on logic program transformation, for verifying Computation Tree Logic (CTL*) properties of finite state reactive systems. The finite state systems and the CTL* properties we want to verify, are encoded as logic programs on infinite lists. Our verification method consists of two steps. In the first step we transform the logic program that encodes the given system and the given property, into a monadic ω -program, that is, a stratified program defining nullary or unary predicates on infinite lists. This transformation is performed by applying unfold/fold rules that preserve the perfect model of the initial program. In the second step we verify the property of interest by using a proof method for monadic ω-program
The Constructive method for query containment checking (extended version)
We present a new method that checks Query Containment for queries with negated derived atoms and/or integrity constraints.
Existing methods for Query Containment checking that deal with these cases do not check actually containment but another
related property called uniform containment, which is a sufficient but not necessary condition for containment. Our method can
be seen as an extension of the canonical databases approach beyond the class of conjunctive queries.Postprint (published version
Refutation Systems : An Overview and Some Applications to Philosophical Logics
Refutation systems are systems of formal, syntactic derivations, designed to derive the non-valid formulas or logical consequences of a given logic. Here we provide an overview with comprehensive references on the historical development of the theory of refutation systems and discuss some of their applications to philosophical logics
Unified classical logic completeness: a coinductive pearl
Codatatypes are absent from many programming languages and proof assistants. We make a case for their importance by revisiting a classic result: the completeness theorem for first-order logic established through a Gentzen system. The core of the proof establishes an abstract property of possibly infinite derivation trees, independently of the concrete syntax or inference rules. This separation of concerns simplifies the presentation. The abstract proof can be instantiated for a wide range of Gentzen and tableau systems as well as various flavors of first order logic. The corresponding Isabelle/HOL formalization demonstrates the recently introduced support for codatatypes and the Haskell code generator
Unified classical logic completeness: a coinductive pearl
Codatatypes are absent from many programming languages and proof assistants. We make a case for their importance by revisiting a classic result: the completeness theorem for first-order logic established through a Gentzen system. The core of the proof establishes an abstract property of possibly infinite derivation trees, independently of the concrete syntax or inference rules. This separation of concerns simplifies the presentation. The abstract proof can be instantiated for a wide range of Gentzen and tableau systems as well as various flavors of first order logic. The corresponding Isabelle/HOL formalization demonstrates the recently introduced support for codatatypes and the Haskell code generator
Mathematical Logic: Proof theory, Constructive Mathematics
The workshop “Mathematical Logic: Proof Theory, Constructive Mathematics” was centered around proof-theoretic aspects of current mathematics, constructive mathematics and logical aspects of computational complexit
- …