Czajka Łukasz, Kaliszyk Cezary
University of Innsbruck, Innsbruck, Austria.
J Autom Reason. 2018;61(1):423-453. doi: 10.1007/s10817-018-9458-4. Epub 2018 Feb 27.
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 s of real time on a 8-CPU system.
目前,Hammers为基于HOL和集合论的证明助手提供了最强大的通用自动化功能。尽管基于归纳构造演算等更高级版本的类型论越来越受欢迎,但到目前为止,由于缺乏翻译和重构组件,为这些基础构建Hammers受到了阻碍。在本文中,我们提出了一种用于依赖类型论的完整Hammers架构及其在Coq证明助手中的实现。Hammers的一个关键组件是一种提议的从归纳构造演算(Coq引入了某些扩展)到无类型一阶逻辑的翻译。这种翻译“足够”合理且完整,可用于自动定理证明器。我们还引入了一种基于eauto类型算法并结合有限重写、同余闭包和一些前向推理的证明重构机制。该算法能够在Coq逻辑中重新证明大多数由自动定理证明器建立的定理。与基于机器学习的相关前提选择一起,这构成了一个完整的Hammers系统。在模拟Coq标准库开发的自展场景中评估了整个过程的性能。对于库中的每个定理,仅可使用先前的定理和证明。我们表明,在一个8核CPU系统上,大约40秒的实时时间内,40.8%的定理可以通过一键式模式证明。