Hardware Verification using Monadic Second-Order Logic - Basin, David A.; Klarlund, Nils (BRICS Report Series, 1995)
We show how the second-order monadic theory of strings can be used to specify hardware components and their behavior. This logic admits a decision procedure and counter-model generator based on canonical automata for formulas. We have used a system implementing these concepts to verify, or find errors in, a number of circuits proposed in the literature. The techniques we use make it easier to identify regularity in circuits, including those that are parameterized or have parameterized behavioral specifications. Our proofs are semantic and do not require lemmas or induction as would be needed when employing a conventional theory of strings as a recursive data type. Keywords: Monadic second order logic, automatic theorem proving, hardware verification, mathematical induction.