Skip to Main Content
Detecting symmetries have many applications in logic synthesis, which include, among other things, technology mapping, deciding equivalence of Boolean functions when the input correspondence is unknown, and finding support-reducing bound sets. Mishchenko showed how to efficiently detect symmetries in reduced ordered binary decision diagrams (ROBDDs) without the need for checking equivalence of all cofactor pairs. This work resulted in practical algorithms for detecting classical and generalized symmetries. Both the classical and generalized symmetry-detection algorithms are monolithic in the sense that they only return a meaningful answer when they are left to run to completion. In this paper, we present anytime algorithms for detecting both classical and generalized symmetries, which output pairs of symmetric variables until a prescribed time bound is exceeded. These anytime algorithms are complete in that, given sufficient time, they are guaranteed to find all symmetric pairs. Anytime generality is not gained at the expense of efficiency because this approach requires only very modest data-structure support and offers unique opportunities for optimization, so that the resulting algorithms are competitive with their monolithic counterparts.