🤖 AI Summary
Projection model counting for hybrid SMT formulas—i.e., counting satisfying assignments over discrete variables while marginalizing out continuous ones—remains computationally intractable for large-scale instances.
Method: This paper introduces the first hashing-based approximate counting framework for SMT, leveraging universal hash functions and an iterative query mechanism to efficiently estimate solution space size. The approach supports formulas with both discrete and continuous variables, requires only logarithmically many calls to an off-the-shelf SMT solver, and provides rigorous probabilistic guarantees on estimation error.
Contribution/Results: Evaluated on 14,202 benchmark instances, our method successfully solved 603 counting tasks—nearly 50× more than the best baseline (13), and substantially outperforming all prior approaches in scalability and robustness.
📝 Abstract
Satisfiability Modulo Theory (SMT) solvers have advanced automated reasoning, solving complex formulas across discrete and continuous domains. Recent progress in propositional model counting motivates extending SMT capabilities toward model counting, especially for hybrid SMT formulas. Existing approaches, like bit-blasting, are limited to discrete variables, highlighting the challenge of counting solutions projected onto the discrete domain in hybrid formulas.
We introduce pact, an SMT model counter for hybrid formulas that uses hashing-based approximate model counting to estimate solutions with theoretical guarantees. pact makes a logarithmic number of SMT solver calls relative to the projection variables, leveraging optimized hash functions. pact achieves significant performance improvements over baselines on a large suite of benchmarks. In particular, out of 14,202 instances, pact successfully finished on 603 instances, while Baseline could only finish on 13 instances.