# Mechanized Metatheory for the Masses: The PoplMark Challenge

@inproceedings{Aydemir2005MechanizedMF, title={Mechanized Metatheory for the Masses: The PoplMark Challenge}, author={Brian E. Aydemir and Aaron Bohannon and Matthew Fairbairn and Nate Foster and Benjamin C. Pierce and Peter Sewell and Dimitrios Vytiniotis and Geoffrey Washburn and Stephanie Weirich and Steve Zdancewic}, booktitle={TPHOLs}, year={2005} }

How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machine-checked proofs?
We propose an initial set of benchmarks for measuring progress in this area. Based on the metatheory of System F<:, a typed lambda-calculus with second-order polymorphism, subtyping, and records, these benchmarks embody many aspects of programming languages that are challenging to formalize: variable binding at both the term and type levels, syntacticâ€¦Â

## 340 Citations

### A weak HOAS approach to the POPLmark Challenge

- Computer ScienceLSFA
- 2012

A weak Higher-Order Abstract Syntax formalization of the type language of pure System F<: within Coq, a proof assistant based on the Calculus of Inductive Constructions to accomplish the proof of the transitivity property of algorithmic subtyping.

### A List-machine Benchmark for Mechanized Metatheory: (Extended Abstract)

- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2007

### A List-Machine Benchmark for Mechanized Metatheory

- Computer ScienceJournal of Automated Reasoning
- 2011

A benchmark to compare theorem-proving systems on their ability to express proofs of compiler correctness, and specific criteria for evaluating the utility of mechanized metatheory systems are proposed.

### Mechanized Metatheory Revisited: An Extended Abstract

- Computer Science
- 2017

The argument that bindings are such an intimate aspect of the structure of expressions that they should be accounted for directly in the underlying programming language support for proof assistants and not added later using packages and libraries is put forward.

### POPLMark reloaded: Mechanizing proofs by logical relations

- Computer ScienceJournal of Functional Programming
- 2019

A new collection of benchmark problems in mechanizing the metatheory of programming languages, in order to compare and push the state of the art of proof assistants, focuses on proofs using logical relations (LRs) and proposes establishing strong normalization of a simply typed calculus with a proof by Kripke-style LRs as a benchmark.

### 1 : 12 Mechanized Metatheory Revisited : An Extended Abstract 3

- Computer Science
- 2018

The argument that bindings are such an intimate aspect of the structure of expressions that they should be accounted for directly in the underlying programming language support for proof assistants and not added later using packages and libraries is put forward.

### Mechanized Metatheory Revisited

- Computer ScienceJournal of Automated Reasoning
- 2018

This work puts forward the argument that bindings are such an intimate aspect of the structure of expressions that they should be accounted for directly in the underlying programming language support for proof assistants and not via packages and libraries.

### Soundness of the simply typed lambda calculus in ACL2

- Computer ScienceACL2 '06
- 2006

A method is introduced for performing proofs in ACL2 of the soundness of the simply typed Î»-calculus, including a macro which automates the process of defining functions and theorems to facilitate reasoning about recursive data types.

### It Is Time to Mechanize Programming Language Metatheory

- Computer ScienceVSTTE
- 2005

The POPLMark challenge is proposed as a concrete set of benchmarks intended both for measuring progress in this area and for stimulating discussion and collaboration to achieve mechanized metatheory for the masses.

## References

SHOWING 1-10 OF 76 REFERENCES

### Type Inference Verified: Algorithm W in Isabelle/HOL

- Computer ScienceJournal of Automated Reasoning
- 2004

This paper presents the first machine-checked verification of Milner's type inference algorithm W for computing the most general type of an untyped Î»-term enriched with let-expressions. This termâ€¦

### A new approach to abstract syntax involving binders

- Computer ScienceProceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158)
- 1999

It is shown that in FM-set theory one can express statements quantifying over 'fresh' names and this is used to give a novel set-theoretic interpretation of name abstraction.

### Extensible records in a pure calculus of subtyping

- Computer Science
- 1994

It is argued that thinking in terms of translations may help in simplifying and organizing the various record calculi that have been proposed, as well as in generating new ones.

### Some Lambda Calculus and Type Theory Formalized

- Computer ScienceJournal of Automated Reasoning
- 2004

A substantial body of knowledge about lambda calculus and Pure Type Systems is surveyed, formally developed in a constructive type theory using the LEGO proof system, leading to the strengthening lemma.

### Certification of a Type Inference Tool for ML: Damasâ€“Milner within Coq

- Computer ScienceJournal of Automated Reasoning
- 2004

This paper presents the Coq formalization of the typing system and its inference algorithm, and establishes formally the correctness and the completeness of the type inference algorithm with respect to the typing rules of the language.

### A definitional approach to primitivexs recursion over higher order abstract syntax

- Computer ScienceMERLIN '03
- 2003

The existence of a combinator for primitive recursion with parameters over HOAS is proved, and the definition of the combinator is facilitated by the use of terms with infinite contexts.

### Hol-ml

- Computer ScienceHUG
- 1993

This paper explains how the evaluation rules were defined and how it was proved that evaluation is deterministic and gives a short description of the mutually recursive type definition package that was wrote to enable us to define the types the authors needed to create the HOL-ML grammar.

### A formalised first-order confluence proof for the -calculus using one-sorted variable names

- MathematicsInf. Comput.
- 2003

### Types and programming languages

- Computer Science
- 2002

This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.

### Executing Higher Order Logic

- Computer ScienceTYPES
- 2000

The design of a prototyping component for the theorem prover Isabelle/HOL is reported on, consisting of datatypes, recursive functions and inductive definitions, which are compiled into a functional program.