I. Introduction
Symmetry detection has been important since the days of Shannon [1] who observed that symmetric functions have efficient switch network implementations. Symmetry detection is no less important today, and knowledge of symmetric variables has applications in logic synthesis [2], [3], technology mapping [4], [5], combining technology-independent and technology-dependant stages of logic synthesis [6], detecting support-reducing bound sets [7], reduced ordered binary decision diagram (ROBDD) minimization [8], [9] and detecting equivalence of Boolean functions when the input correspondence is unknown [10]–[12].