551 research outputs found
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
Translating HOL to Dedukti
Dedukti is a logical framework based on the lambda-Pi-calculus modulo
rewriting, which extends the lambda-Pi-calculus with rewrite rules. In this
paper, we show how to translate the proofs of a family of HOL proof assistants
to Dedukti. The translation preserves binding, typing, and reduction. We
implemented this translation in an automated tool and used it to successfully
translate the OpenTheory standard library.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
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
Analyzing Individual Proofs as the Basis of Interoperability between Proof Systems
We describe the first results of a project of analyzing in which theories
formal proofs can be ex- pressed. We use this analysis as the basis of
interoperability between proof systems.Comment: In Proceedings PxTP 2017, arXiv:1712.0089
Deduction modulo theory
This paper is a survey on Deduction modulo theor
Dedukti: a Logical Framework based on the -Calculus Modulo Theory
Dedukti is a Logical Framework based on the -Calculus Modulo
Theory. We show that many theories can be expressed in Dedukti: constructive
and classical predicate logic, Simple type theory, programming languages, Pure
type systems, the Calculus of inductive constructions with universes, etc. and
that permits to used it to check large libraries of proofs developed in other
proof systems: Zenon, iProver, FoCaLiZe, HOL Light, and Matita
Towards explicit rewrite rules in the λΠ-calculus modulo
International audienceThis paper provides a new presentation of the λΠ-calculus modulo where the addition of rewrite rules is made explicit. The λΠ-calculus modulo is a variant of the λ-calculus with dependent types where β-reduction is extended with user-defined rewrite rules. Its expressiveness makes it suitable to serve as an output language for theorem provers, certified development tools or proof assistants. Addition of rewrite rules becomes an iterative process and rules previously added can be used to type new rules. We also discuss the condition rewrite rules must satisfy in order to preserve the Subject Reduction property and we give a criterion weaker than the usual one. Finally we describe the new version of Dedukti, a type-checker for the λΠ-calculus modulo for which we assess its efficiency in comparison with Coq, Twelf and Maude
A Semantics of ? into Dedukti
? is a semantical framework for formally describing the semantics of programming languages thanks to a BNF grammar and rewriting rules on configurations. It is also an environment that offers various tools to help programming with the languages specified in the formalism. For example, it is possible to execute programs thanks to the generated interpreter, or to check their properties thanks to the provided automatic theorem prover called the KProver. ? is based on la Matching Logic, a first-order logic with an application and fixed-point operators, extended with symbols to encode equality, typing and rewriting. This specific la Matching Logic theory is called Kore.
Dedukti is a logical framework having for main goal the interoperability of proofs between different formal proof tools. Several translators to Dedukti exist or are under development, in order to automatically translate formalizations written, for instance, in Coq or PVS. Dedukti is based on the ??-calculus modulo theory, a ?-calculus with dependent types and extended with a primitive notion of computation defined by rewriting rules. The flexibility of this logical framework allows to encode many theories ranging from first-order logic to the Calculus of Constructions.
In this article, we present a paper formalization of the translation from ? into Kore, and a paper formalization and an automatic translation tool, called KaMeLo, from Kore to Dedukti in order to execute programs in Dedukti
Proof Certification in Zenon Modulo: When Achilles Uses Deduction Modulo to Outrun the Tortoise with Shorter Steps
International audienceWe present the certifying part of the Zenon Modulo automated theorem prover, which is an extension of the Zenon tableau-based first order automated theorem prover to deduction modulo. The theory of deduction modulo is an extension of predicate calculus, which allows us to rewrite terms as well as propositions, and which is well suited for proof search in axiomatic theories, as it turns axioms into rewrite rules. In addition, deduction modulo allows Zenon Modulo to compress proofs by making computations implicit in proofs. To certify these proofs, we use Dedukti, an external proof checker for the λΠ-calculus modulo, which can deal natively with proofs in deduction modulo. To assess our approach, we rely on some experimental results obtained on the benchmarks provided by the TPTP library
- …