Integrating Testing and Interactive Theorem Proving

by   Harsh Raju Chamarthi, et al.

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.


page 1

page 2

page 3

page 4


GamePad: A Learning Environment for Theorem Proving

In this paper, we introduce a system called GamePad that can be used to ...

Social Network Processes in the Isabelle and Coq Theorem Proving Communities

We identify the main actors in the Isabelle and Coq communities and desc...

Prove-It: A Proof Assistant for Organizing and Verifying General Mathematical Knowledge

We introduce Prove-It, a Python-based general-purpose interactive theore...

Subsumption Demodulation in First-Order Theorem Proving

Motivated by applications of first-order theorem proving to software ana...

Tabled Typeclass Resolution

Typeclasses provide an elegant and effective way of managing ad-hoc poly...

Lassie: HOL4 Tactics by Example

Proof engineering efforts using interactive theorem proving have yielded...

Rare Speed-up in Automatic Theorem Proving Reveals Tradeoff Between Computational Time and Information Value

We show that strategies implemented in automatic theorem proving involve...

Please sign up or login with your details

Forgot password? Click here to reset