Lightweight proof by reflection using a posteriori simulation of effectful computation

  • Authors:
  • Guillaume Claret;Lourdes del Carmen González Huesca;Yann Régis-Gianas;Beta Ziliani

  • Affiliations:
  • PPS, Team πr2, University Paris Diderot, CNRS, and INRIA, France;PPS, Team πr2, University Paris Diderot, CNRS, and INRIA, France;PPS, Team πr2, University Paris Diderot, CNRS, and INRIA, France;Max Planck Institute for Software Systems (MPI-SWS), Germany

  • Venue:
  • ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Proof-by-reflection is a well-established technique that employs decision procedures to reduce the size of proof-terms. Currently, decision procedures can be written either in Type Theory--in a purely functional way that also ensures termination-- or in an effectful programming language, where they are used as oracles for the certified checker. The first option offers strong correctness guarantees, while the second one permits more efficient implementations. We propose a novel technique for proof-by-reflection that marries, in Type Theory, an effectful language with (partial) proofs of correctness. The key to our approach is to use simulable monads, where a monad is simulable if, for all terminating reduction sequences in its equivalent effectful computational model, there exists a witness from which the same reduction may be simulated a posteriori by the monad. We encode several examples using simulable monads and demonstrate the advantages of the technique over previous approaches.