A metaprogramming framework for formal verification

Abstract

We describe the metaprogramming framework currently used in Lean, an interactive theorem prover based on dependent type theory. This framework extends Lean's object language with an API to some of Lean's internal structures and procedures, and provides ways of reflecting object-level expressions into the metalanguage. We provide evidence to show that our implementation is performant, and that it provides a convenient and flexible way of writing not only small-scale interactive tactics, but also more substantial kinds of automation.

Document Details

Document Type
Pub Defense Publication
Publication Date
Aug 29, 2017
Source ID
10.1145/3110278

Entities

People

  • Gabriel Ebner
  • Jared Roesch
  • Jeremy Avigad
  • Leonardo De Moura
  • Sebastian Ullrich

Organizations

  • Air Force Office of Scientific Research
  • Austrian Science Fund
  • Carnegie Mellon University
  • Microsoft
  • National Science Foundation
  • TU Wien
  • University of Washington
  • Vienna Science and Technology Fund

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.
  • Software Engineering.