Conjectures, Tests and Proofs: An Overview of Theory Exploration
Moa Johansson (Chalmers University of Technology), Nicholas Smallbone, (Chalmers University of Technology)

TL;DR
This paper presents QuickSpec, a system that automatically generates interesting conjectures about functions using term generation and testing, aiding in theorem proving and program specification.
Contribution
It introduces QuickSpec, a novel system that efficiently explores theory by combining conjecture generation with testing, and demonstrates its applications in theorem proving and program analysis.
Findings
QuickSpec successfully generates useful lemmas for inductive theorem proving.
It can produce specifications of functional programs.
The system is adaptable to different theorem provers.
Abstract
A key component of mathematical reasoning is the ability to formulate interesting conjectures about a problem domain at hand. In this paper, we give a brief overview of a theory exploration system called QuickSpec, which is able to automatically discover interesting conjectures about a given set of functions. QuickSpec works by interleaving term generation with random testing to form candidate conjectures. This is made tractable by starting from small sizes and ensuring that only terms that are irreducible with respect to already discovered conjectures are considered. QuickSpec has been successfully applied to generate lemmas for automated inductive theorem proving as well as to generate specifications of functional programs. We give an overview of typical use-cases of QuickSpec, as well as demonstrating how to easily connect it to a theorem prover of the user's choice.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
