We describe a "top down" approach for automated theorem proving (ATP). Researchers might usefully investigate the forms of the theorems mathematicians use in practice, carefully examine how they differ and are proved in practice, and code all relevant domain concepts. These concepts encode a large portion of the knowledge in any domain. Furthermore, researchers should write programs that produce proofs of the kind that human mathematicians write (and publish); this means proofs that might sometimes have mistakes; and this means making inferences that are sometimes invalid. This approach is meant to contrast with the historically dominant ~bottom up" approach: coding fundamental types (typically sets), axioms and rules for (valid) inference, and building up from this foundation to the theorems of mathematical practice and to their outstanding questions. It is an important fact that the actual proofs that mathematicians publish in math journals do not look like the formalized proofs of Russell & Whitehead's Principia Mathematica (or modern computer systems like Lean that automate some of this formalization). We believe some "lack of rigor" (in mathematical practice) is human-like, and can and should be leveraged for ATP.
翻译:我们描述了一种“自上而下”的自动定理证明方法。研究人员可以切实考察数学家在实践中所用定理的形式,仔细研究它们之间的差异以及实际证明方式,并对所有相关领域概念进行编码。这些概念编码了任何领域中的大部分知识。此外,研究人员应编写能够生成人类数学家所撰写(并发表)的证明的程序;这意味着这些证明有时可能包含错误,也意味着会做出某些无效的推理。这种方法旨在与历史上占主导地位的“自下而上”方法形成对比:后者对基本类型(通常是集合)、公理和(有效)推理规则进行编码,并以此为基础逐步构建出数学实践中的定理及其未解问题。一个重要事实是,数学家发表在数学期刊上的实际证明,并不像罗素与怀特海《数学原理》(或现代计算机系统如Lean,这些系统自动化了部分形式化工作)中的形式化证明。我们认为,数学实践中的某些“缺乏严谨性”是类人的,并且可以且应该被利用于自动定理证明。