🤖 AI Summary
This work addresses the challenge in SMT solving where advanced tasks such as MaxSMT and unsatisfiable core extraction require complete sets of theory lemmas, which traditional lazy lemma generation cannot provide. Existing eager encoding approaches suffer from limited theoretical coverage, lack of support for theory combinations, and redundant lemma production. To overcome these limitations, the paper proposes a theory-agnostic lemma enumeration method built upon an enhanced AllSMT framework. By integrating divide-and-conquer strategies, projection-based enumeration, and theory-driven formula partitioning, the approach enables efficient, parallelizable, and complete lemma set generation. It supports arbitrary theory combinations and demonstrates significantly improved efficiency and scalability, substantially outperforming classical eager encoding techniques on complex SMT instances.
📝 Abstract
Lifting Boolean-reasoning techniques to the SMT level most often requires producing theory lemmas that rule out theory-inconsistent truth assignments. With standard SMT solving, it is common to"lazily"generate such lemmas on demand during the search; with some harder SMT-level tasks -- such as unsat-core extraction, MaxSMT, T-OBDD or T-SDD compilation -- it may be beneficial or even necessary to"eagerly"pre-compute all the needed theory lemmas upfront. Whereas in principle"classic"eager SMT encodings could do the job, they are specific for very few and easy theories, they do not comply with theory combination, and may produce lots of unnecessary lemmas. In this paper, we present theory-agnostic methods for enumerating complete sets of theory lemmas tailored to a given formula. Starting from AllSMT as a baseline approach, we propose improved lemma-enumeration techniques, including divide&conquer, projected enumeration, and theory-driven partitioning, which are highly parallelizable and which may drastically improve scalability. An experimental evaluation demonstrates that these techniques significantly enhance efficiency and enable the method to scale to substantially more complex instances.