Using Counterexample Generation and Theory Exploration to Suggest Missing Hypotheses

Ruben Gamboa
(University of Wyoming, Kestrel Institute)
Panagiotis Manolios
(Northeastern University)
Eric Smith
(Kestrel Institute)
Kyle Thompson
(University of California San Diego)

Newcomers to ACL2 are sometimes surprised that ACL2 rejects formulas that they believe should be theorems, such as (REVERSE (REVERSE X)) = X. Experienced ACL2 users will recognize that the theorem only holds for intended values of X, and given ACL2's total logic, there are many counterexamples for which this formula is simply not true. Counterexample generation (cgen) is a technique that helps by giving the user a number of counterexamples (and also witnesses) to the formula, e.g., letting the user know that the intended theorem is false when X is equal to 10. In this paper we describe a tool called DrLA that goes further by suggesting additional hypotheses that will make the theorem true. In this case, for example, DrLA may suggest that X needs to be either a TRUE-LIST or a STRING. The suggestions are discovered using the ideas of theory exploration and subsumption from automated theorem proving.

In Alessandro Coglio and Sol Swords: Proceedings of the 18th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2023), Austin, TX, USA and online, November 13-14, 2023, Electronic Proceedings in Theoretical Computer Science 393, pp. 82–93.
Published: 14th November 2023.

ArXived at: https://dx.doi.org/10.4204/EPTCS.393.8 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org