Complete Test Sets And Their Approximations
Abstract
We use testing to check if a combinational circuit N always evaluates to 0 (written as N 0). We call a set of tests proving N 0 a complete test set (CTS). The conventional point of view is that to prove N 0 one has to generate a trivial CTS. It consists of all 2|X| input assignments where X is the set of input variables of N. We use the notion of a Stable Set of Assignments (SSA) to show that one can build a non-trivial CTS consisting of less than 2|X| tests. Given an unsatisfiable CNF formula H(W), an SSA of H is a set of assignments to W that proves unsatisfiability of H. A trivial SSA is the set of all 2|W| assignments to W. Importantly, real-life formulas can have non-trivial SSAs that are much smaller than 2|W|. In general, construction of even non-trivial CTSs is inefficient. We describe a much more efficient approach where tests are extracted from an SSA built for a `projection' of N on a subset of variables of N. These tests can be viewed as an approximation of a CTS for N. We give experimental results and describe potential applications of this approach.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.