Computational reflection allows us to turn verified decision procedures into efficient automated reasoning tools in proof assistants. The typical applications of such methodology include mathematical structures that have decidable theory fragments, e.g., equational theories of commutative rings and lattices. However, such existing tools are known not to cooperate with packed classes, a methodology to define mathematical structures in dependent type theory, that allows for the sharing of vocabulary across the inheritance hierarchy. Additionally, such tools do not support homomorphisms whose domain and codomain types may differ. This paper demonstrates how to implement reflexive tactics that support packed classes and homomorphisms. As applications of our methodology, we adapt the ring and field tactics of Coq to the commutative ring and field structures of the Mathematical Components library, and apply the resulting tactics to the formal proof of the irrationality of $\zeta(3)$ by Chyzak, Mahboubi, and Sibut-Pinote, to bring more proof automation.
翻译:计算式反射使我们能够将经过核实的决定程序转化为有效的自动推理工具,作为证据助理。这种方法的典型应用包括具有可分解理论碎片的数学结构,例如,交环和拉特的等式理论;然而,已知这些现有工具不与包装的班级合作,而这是用依赖型理论来界定数学结构的一种方法,允许在继承等级之间分享词汇。此外,这些工具并不支持其域和共域类型可能不同的同质主义。本文展示了如何实施反射策略,支持包装的班级和同质主义。作为我们方法的应用,我们调整了科克的环和野战战术,使之适应数学组成部分图书馆的交际圈和实地结构,并将由此产生的策略用于正式证明Chyzak、Mahbobi和Sibut-Pi note的美元(3)不合理性,以带来更多证据自动化。