Arjun: An Efficient Independent Support Computation Technique and its Applications to Counting and Sampling - Soos, Mate; Meel, Kuldeep S. (2022 IEEE/ACM International Conference On Computer Aided Design (ICCAD), 2022)
Given a Boolean formula φ over the set of variables X and a projection set \mathcal{P} \subseteq X, then if \mathcal{I} \subseteq \mathcal{P} is independent support of \mathcal{P}, then if two solutions of φ agree on I, then they also agree on \mathcal{P}. The notion of independent support is related to the classical notion of definability dating back to 1901, and have been studied over the decades. Recently, the computational problem of determining independent support for a given formula has attained importance owing to the crucial importance of independent support for hashing-based counting and sampling techniques.In this paper, we design an efficient and scalable independent support computation technique that can handle formulas arising from real-world benchmarks. Our algorithmic framework, called Arjun 1 , employs implicit and explicit definability notions, and is based on a tight integration of gate-identification techniques and assumption-based framework. We demonstrate that augmenting the state-of-the-art model counter ApproxMC4 and sampler UniGen3 with Arjun leads to significant performance improvements. In particular, ApproxMC4 augmented with Arjun counts 576 more bench-marks out of 1896 while UniGen3 augmented with Arjun samples 335 more benchmarks within the same time limit.