Verified programs with binders

  • Authors:
  • Martin Clochard;Claude Marché;Andrei Paskevich

  • Affiliations:
  • ENS Paris, Paris, France;Inria Saclay-Île-de-France, Palaiseau, France;Université Paris-Sud, Orsay, France

  • Venue:
  • Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programs that treat datatypes with binders, such as theorem provers or higher-order compilers, are regularly used for mission-critical purposes, and must be both reliable and performant. Formally proving such programs using as much automation as possible is highly desirable. In this paper, we propose a generic approach to handle datatypes with binders both in the program and its specification in a way that facilitates automated reasoning about such datatypes and also leads to a reasonably efficient code. Our method is implemented in the Why3 environment for program verification. We validate it on the examples of a lambda-interpreter with several reduction strategies and a simple tableaux-based theorem prover.