2,713 research outputs found
Proving Finite Satisfiability of Deductive Databases
It is shown how certain refutation methods can be extended into semi-decision
procedures that are complete for both unsatisfiability and finite satisfiability. The proposed extension
is justified by a new characterization of finite satisfiability. This research was motivated
by a database design problem: Deduction rules and integrity constraints in definite databases
have to be finitely satisfiabl
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
Sharing a Library between Proof Assistants: Reaching out to the HOL Family
We observe today a large diversity of proof systems. This diversity has the
negative consequence that a lot of theorems are proved many times. Unlike
programming languages, it is difficult for these systems to co-operate because
they do not implement the same logic. Logical frameworks are a class of theorem
provers that overcome this issue by their capacity of implementing various
logics. In this work, we study the STTforall logic, an extension of Simple Type
Theory that has been encoded in the logical framework Dedukti. We present a
translation from this logic to OpenTheory, a proof system and interoperability
tool between provers of the HOL family. We have used this translation to export
an arithmetic library containing Fermat's little theorem to OpenTheory and to
two other proof systems that are Coq and Matita.Comment: In Proceedings LFMTP 2018, arXiv:1807.0135
Strict General Setting for Building Decision Procedures into Theorem Provers
The efficient and flexible incorporating of decision procedures into theorem provers is very important for their successful use. There are several approaches for combining and augmenting of decision procedures; some of them support handling uninterpreted functions, congruence closure, lemma invoking etc. In this paper we present a variant of one general setting for building decision procedures into theorem provers (gs framework [18]). That setting is based on macro inference rules motivated by techniques used in different approaches. The general setting enables a simple describing of different combination/augmentation schemes. In this paper, we further develop and extend this setting by an imposed ordering on the macro inference rules. That ordering leads to a ”strict setting”. It makes implementing and using variants of well-known or new schemes within this framework a very easy task even for a non-expert user. Also, this setting enables easy comparison of different combination/augmentation schemes and combination of their ideas
A resolution principle for clauses with constraints
We introduce a general scheme for handling clauses whose variables are constrained by an underlying constraint theory. In general, constraints can be seen as quantifier restrictions as they filter out the values that can be assigned to the variables of a clause (or an arbitrary formulae with restricted universal or existential quantifier) in any of the models of the constraint theory. We present a resolution principle for clauses with constraints, where unification is replaced by testing constraints for satisfiability over the constraint theory. We show that this constrained resolution is sound and complete in that a set of clauses with constraints is unsatisfiable over the constraint theory if we can deduce a constrained empty clause for each model of the constraint theory, such that the empty clauses constraint is satisfiable in that model. We show also that we cannot require a better result in general, but we discuss certain tractable cases, where we need at most finitely many such empty clauses or even better only one of them as it is known in classical resolution, sorted resolution or resolution with theory unification
On abduction and answer generation through constrained resolution
Recently, extensions of constrained logic programming and constrained resolution for theorem proving have been introduced, that consider constraints, which are interpreted under an open world assumption. We discuss relationships between applications of these approaches for query answering in knowledge base systems on the one hand and abduction-based hypothetical reasoning on the other hand. We show both that constrained resolution can be used as an operationalization of (some limited form of) abduction and that abduction is the logical status of an answer generation process through constrained resolution, ie., it is an abductive but not a deductive form of reasoning
SPEEDY: An Eclipse-based IDE for invariant inference
SPEEDY is an Eclipse-based IDE for exploring techniques that assist users in
generating correct specifications, particularly including invariant inference
algorithms and tools. It integrates with several back-end tools that propose
invariants and will incorporate published algorithms for inferring object and
loop invariants. Though the architecture is language-neutral, current SPEEDY
targets C programs. Building and using SPEEDY has confirmed earlier experience
demonstrating the importance of showing and editing specifications in the IDEs
that developers customarily use, automating as much of the production and
checking of specifications as possible, and showing counterexample information
directly in the source code editing environment. As in previous work,
automation of specification checking is provided by back-end SMT solvers.
However, reducing the effort demanded of software developers using formal
methods also requires a GUI design that guides users in writing, reviewing, and
correcting specifications and automates specification inference.Comment: In Proceedings F-IDE 2014, arXiv:1404.578
- …