EN FR
EN FR


Section: Overall Objectives

From proof-checking to Interoperability

A new turn was taken when the idea of reasoning modulo an arbitrary equivalence relation was applied to typed λ-calculi with dependent types, that permits to express proofs as algorithms, using the Brouwer-Heyting-Kolmogorov interpretation and the Curry-de Bruijn-Howard correspondence [3] . It was shown in 2007, that extending the simplest λ-calculus with dependent types, the λΠ-calculus, with an equivalence relation, led to a calculus we called the λΠ-calculus modulo, that permitted to simulate many other λ-calculi, such as the Calculus of Constructions, designed to express proofs in specific theories.

This led to the development of a general proof-checker based on the λΠ-calculus modulo [1] , that could be used to verify proofs coming from different proof systems, such as Coq [47] , HOL [50] , etc. To emphasize this versatility of our proof-system, we called it Dedukti —“to deduce” in Esperanto. This system is currently developed together with companion systems, CoqInE and HOLiDe, that permit to translate proofs from Coq and HOL to Dedukti.

A thesis, which is at the root of our research effort, and which was already formulated by the team of the Logical Framework [49] is that proof-checkers should be theory independent. This is for instance expressed in the title of our invited talk at Icalp 2012: A theory independent Curry-De Bruijn-Howard correspondence [27] .

Using a single prover to check proofs coming from different provers naturally led to investigate how these proofs could interact one with another. This issue is of prime importance because developments in proof systems are getting bigger and, unlike other communities in computer science, the proof-checking community has given little effort in the direction of standardization and interoperability. On a longer term we believe that, for each proof, we should be able to identify the systems in which it can be expressed.