@MISC{Montagu_experiencereport:, author = {Benoît Montagu}, title = {Experience report: Mechanizing Core F � using the locally nameless approach (extended abstract)}, year = {} }
Share
OpenURL
Abstract
For a couple of years, much effort has been put in the development of techniques that ease the mechanization of proofs involving binders. We report such a mechanized development of metatheory, the type soundness of Core F � [3], by a non expert user of Coq [2], using the locally nameless representation of binders and cofinite quantification, with the help of the tools LNgen [1] and Ott [4]. 1. F � and its formal proof in a nutshell Core F � (F-zip) is a variant of System F that allows for more freedom in the structure of programs that make use of existential types, by considering existentials with an open scope. It is equipped with a small-step reduction semantics and a sound type system. The paper proof is neither very informative, nor very difficult, and consists in the subject reduction and the progress properties. The mechanized proof was carried out in about one month by the author, who is not an expert user of Coq. It makes use of LNgen [1] and the experimental locally nameless backend of Ott [4] to reduce the burden of the locally nameless encoding and its infrastructure lemmas. The only complex automation we used is the one provided by the Metatheory library from UPenn, that was of great help. Thus, a clean up of the development as well as clever tactics could certainly reduce the size of the whole proof. Much time is spent in proof search, so that Coq compiles it in about 45 minutes on a recent computer, while type checking takes just a few minutes.