Hammer for Coq: Automation for Dependent Type Theory
Łukasz Czajka, Cezary KaliszykJ. Autom. Reasoning 61, pp. 423 – 453, 2018.
Abstract
Hammers provide most powerful general purpose automation for proof assistants based on HOL and set theory today. Despite the gaining popularity of the more advanced versions of type theory, such as those based on the Calculus of Inductive Constructions, the construction of hammers for such foundations has been hindered so far by the lack of translation and reconstruction components. In this paper, we present an architecture of a full hammer for dependent type theory together with its implementation for the Coq proof assistant. A key component of the hammer is a proposed translation from the Calculus of Inductive Constructions, with certain extensions introduced by Coq, to untyped first-order logic. The translation is “sufficiently” sound and complete to be of practical use for automated theorem provers. We also introduce a proof reconstruction mechanism based on an eauto-type algorithm combined with limited rewriting, congruence closure and some forward reasoning. The algorithm is able to re-prove in the Coq logic most of the theorems established by the ATPs. Together with machine-learning based selection of relevant premises this constitutes a full hammer system. The performance of the whole procedure is evaluated in a bootstrapping scenario emulating the development of the Coq standard library. For each theorem in the library only the previous theorems and proofs can be used. We show that 40.8% of the theorems can be proved in a push-button mode in about 40 seconds of real time on a 8-CPU system.
BibTeX
@article{lcck-jar18, author = {\L{}ukasz Czajka and Cezary Kaliszyk}, title = {Hammer for {C}oq: Automation for Dependent Type Theory}, journal = {J. Autom. Reasoning}, volume = {61}, number = {1-4}, pages = {423--453}, year = {2018}, url = {https://doi.org/10.1007/s10817-018-9458-4}, doi = {10.1007/s10817-018-9458-4}, }