32,948 research outputs found
Representing First-Order Causal Theories by Logic Programs
Nonmonotonic causal logic, introduced by Norman McCain and Hudson Turner,
became a basis for the semantics of several expressive action languages.
McCain's embedding of definite propositional causal theories into logic
programming paved the way to the use of answer set solvers for answering
queries about actions described in such languages. In this paper we extend this
embedding to nondefinite theories and to first-order causal logic.Comment: 29 pages. To appear in Theory and Practice of Logic Programming
(TPLP); Theory and Practice of Logic Programming, May, 201
The Vampire and the FOOL
This paper presents new features recently implemented in the theorem prover
Vampire, namely support for first-order logic with a first class boolean sort
(FOOL) and polymorphic arrays. In addition to having a first class boolean
sort, FOOL also contains if-then-else and let-in expressions. We argue that
presented extensions facilitate reasoning-based program analysis, both by
increasing the expressivity of first-order reasoners and by gains in
efficiency
Checking Zenon Modulo Proofs in Dedukti
Dedukti has been proposed as a universal proof checker. It is a logical
framework based on the lambda Pi calculus modulo that is used as a backend to
verify proofs coming from theorem provers, especially those implementing some
form of rewriting. We present a shallow embedding into Dedukti of proofs
produced by Zenon Modulo, an extension of the tableau-based first-order theorem
prover Zenon to deduction modulo and typing. Zenon Modulo is applied to the
verification of programs in both academic and industrial projects. The purpose
of our embedding is to increase the confidence in automatically generated
proofs by separating untrusted proof search from trusted proof verification.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
Where Fail-Safe Default Logics Fail
Reiter's original definition of default logic allows for the application of a
default that contradicts a previously applied one. We call failure this
condition. The possibility of generating failures has been in the past
considered as a semantical problem, and variants have been proposed to solve
it. We show that it is instead a computational feature that is needed to encode
some domains into default logic
Mixing HOL and Coq in Dedukti (Extended Abstract)
We use Dedukti as a logical framework for interoperability. We use automated
tools to translate different developments made in HOL and in Coq to Dedukti,
and we combine them to prove new results. We illustrate our approach with a
concrete example where we instantiate a sorting algorithm written in Coq with
the natural numbers of HOL.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
- …