arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1105.4394cs.SEcs.AIcs.LO
收藏

集成测试与交互式定理证明

Integrating Testing and Interactive Theorem Proving

Northeastern University(东北大学);University of Texas at Austin(德克萨斯大学奥斯汀分校)

Harsh Raju Chamarthi, Peter C. Dillinger, Matt Kaufmann, Panagiotis Manolios

摘要:

使用交互式定理证明器来推理程序涉及一系列交互,其中用户用图解来挑战定理证明器。然而,许多提出的证明实际上是错误的,用户在意识到这一点之前经常花费相当大的精力来检查定理证明器的输出。我们提出了一个协同集成的测试与定理证明,实现在ACL2轿车(ACL2),自动生成具体的反例。我们的方法使用的全部权力的定理证明和相关的库来简化代数,这种简化可以转换代数,找到反例是很难的代数,找到反例是平凡的。事实上,我们的方法甚至会导致更好的定理证明,例如,如果测试表明推广步骤导致错误的猜想,我们会迫使定理证明器回溯,允许它追求更富有成效的选择,可能会产生证明。本文的重点是工程的协同集成测试与交互式定理证明,这包括扩展ACL 2的新功能,我们希望是普遍感兴趣的。我们还讨论了我们的经验,在使用ACL2教新生如何对他们的程序的原因。

英文摘要:

Using an interactive theorem prover to reason about programs involves a sequence of interactions where the user challenges the theorem prover with conjectures. Invariably, many of the conjectures posed are in fact false, and users often spend considerable effort examining the theorem prover's output before realizing this. We present a synergistic integration of testing with theorem proving, implemented in the ACL2 Sedan (ACL2s), for automatically generating concrete counterexamples. Our method uses the full power of the theorem prover and associated libraries to simplify conjectures; this simplification can transform conjectures for which finding counterexamples is hard into conjectures where finding counterexamples is trivial. In fact, our approach even leads to better theorem proving, e.g. if testing shows that a generalization step leads to a false conjecture, we force the theorem prover to backtrack, allowing it to pursue more fruitful options that may yield a proof. The focus of the paper is on the engineering of a synergistic integration of testing with interactive theorem proving; this includes extending ACL2 with new functionality that we expect to be of general interest. We also discuss our experience in using ACL2s to teach freshman students how to reason about their programs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑