🤖 AI Summary
This work proposes a novel method for automatically discovering useful term abstractions in equational theorem proving, circumventing the need for manual guidance traditionally required in such systems. By analyzing successful and failed proof traces, the approach introduces the program synthesis tool Stitch into automated reasoning for the first time, mining frequent and effective term abstractions from proof data. These learned abstractions are then integrated into the Twee equational theorem prover to guide its search strategy. Evaluated on the UEQ problem set from TPTP, the method successfully proves 12 rating-1 difficulty problems and significantly accelerates proof search across multiple instances. The results demonstrate both the effectiveness and innovation of automating abstraction learning to enhance reasoning efficiency in equational logic.
📝 Abstract
Several successful strategies in automated reasoning rely on human-supplied guidance about which term or clause shapes are interesting. In this paper we aim to discover interesting term shapes automatically. Specifically, we discover abstractions : term patterns that occur over and over again in relevant proofs. We present our tool Twitch which discovers abstractions with the help of Stitch, a tool originally developed for discovering reusable library functions in program synthesis tasks. Twitch can produce abstractions in two ways: (1) from a partial, failed proof of a conjecture; (2) from successful proofs of other theorems in the same domain. We have also extended Twee, an equational theorem prover, to use these abstractions. We evaluate Twitch on a set of unit equality (UEQ) problems from TPTP, and show that it can prove 12 rating-1 problems as well as yielding significant speed-ups on many other problems.