• No results found

Part 1: Logic Representation, Manipulation and Optimization

5.4 Majority Satisfiability

Boolean satisfiability, often abbreviated as SAT, is a core problem of computer science. New approaches to solve SAT, such as [10, 11], are of paramount interest to a wide class of computer applications. This is particularly relevant for Electronic Design Automation (EDA).

SAT is in general trivial for some representation form, such as DNF or Binary Decision Diagrams (BDDs) [12]. It is instead a difficult problem for CNF formula. For this reason, CNF-SAT is still actively studied. New SAT formulations are of great relevance when their representation can be derived from CNF in polynomial (preferably linear) time. The satisfiability of MNF formula falls in this category as MNF can be derived from CNF in linear time. This fact motivates us to study the general complexity of MNF-SAT.

5.4.1 Complexity of Unrestricted MNF-SAT

To classify the complexity of unrestricted MNF-SAT, we compare it to the well understood CNF-SAT.

Theorem 5.4.1 MNF-SAT is NP-complete.

Proof CNF-SAT is the first known NP-complete problem [6]. Since any CNF formula can be

reduced in linear time into a MNF, the complexity of MNF-SAT must also be NP-complete [14].



Not surprisingly, MNF-SAT is as complex as CNF-SAT. Interestingly enough, alternative proofs, showing that MNF-SAT is a difficult problem, do exist. For example, one can make use of Lewis’ representation Theorem [13] or show the reducibility of other NP problems into MNF-SAT [14].

5.4.2 Complexity of Some Restricted MNF-SAT

Even though MNF-SAT is in general a difficult problem, there are restrictions of MNF formula whose satisfiability can be determined easily. We define hereafter some MNF restrictions of interest.

Example A valid MNF0is M (M (a, b, 0), M (a, b0, c), a). Instead, M (M (a, b, 1), c0, 0) is not an

MNF0as logic 1 appears inside the formula.

Definition MNF1is an MNF where logic constant 0 is forbidden (also in the form of 10).

Example A valid MNF1is M (M (a, 1, d ), M (a0, b0, e), 1). Instead, M (a, 1, M (a0, b, 0)) is not an

MNF1as logic 0 appears inside the formula.

Definition MNFpur eis an MNF where both logic constant 1 and logic constant 0 are forbid-

den.

Example A MNFpur eis M (M (a, b, c), M (a, b0, c), a0).

Note that MNF0⊃ MNFpur eand MNF1⊃ MNFpur e, but we keep them separated for the sake

of reasoning.

Theorem 5.4.2 MNFpur e-SAT is always satisfiable.

Proof In [5], it is proven that a self-dual function fed with other self-dual functions remains

self-dual. This is the case for MNFpur e, which is indeed always self-dual. A notable property of

self-dual functions is to have an on-set of size 2n−1, where n is the number of variables [5]. This means that an MNFpur e cannot reach an on-set of size 0 and therefore cannot be unsatisfiable. 

Informally, an MNF1is an MNFpur ewith some input biased to logic 1. As MNFpur eis always

satisfiable as adding more logic 1 to the MNF cannot make it unsatisfiable. Indeed, adding logic ones to an MNF only helps its satisfiability. It follows that also MNF1is always satisfiable.

Corollary 5.4.3 MNF1-SAT is always satisfiable.

Proof (by contradiction) Without loss of generality, let us assume that an MNF1is a fictitious

MNFpur ewhere logic 1 is an additional variable, but succesively fixed to 1. Suppose that by

moving from the fictitious MNFpur eto a MNF1we can decrease the on-set of size from 2n−1to

0, and therefore make it unsatisfiable. Recall that the majority function is monotone increasing, and that monotonicity is closed under the composition of functions [5]. By construction, all input vectors to the MNF1 are bitwise greater or equal as compared to the corresponding

input vectors to the fictitious MNFpur e. Owing to monotonicity, also the MNF1evaluates to

logic values always greater or equal than the ones of the fictitious MNFpur efor the same input

vectors. Hence, the on-set size of MNF1cannot be smaller than the on-set size of the fictitious

MNFpur eand thus cannot reach 0. Here is the contradiction. It follows that MNF1formula are

The problem of MNF1-SAT is dual to MNF0-tautology check1. In the following theorem, which

is conceptually symmetric to the previous one, we establish their relation.

Theorem 5.4.4 MNF0is never a tautology.

Proof (by contradiction) Without loss of generality, let us assume that an MNF0is a fictitious

MNFpur ewhere logic 0 is an additional variable, but succesively fixed to 0. Suppose that by

moving from the fictitious MNFpur e to a MNF0we can increase the on-set of size from 2n−1to

2n, and therefore make it a tautology. Recall that the majority function is monotone increasing, and that monotonicity is closed under the composition of functions [5]. By construction, all input vectors to the fictitious MNFpur e are bitwise greater or equal as compared to the

corresponding input vectors to the MNF0. Owing to monotonicity, also the fictitious MNFpur e

evaluates to logic values always greater or equal than the ones of the MNF0for the same input

vectors. Hence, the on-set size of MNF0cannot be greater than the on-set size of the fictitious

MNFpur eand thus cannot reach 2n. Here is the contradiction. It follows that MNF0formula

are not tautologies. 

Whenever an MNF can be restricted to MNFpur eor MNF1, its satisfiability is guaranteed, with

no need to check. If instead an MNF can be restricted to MNF0, its tautology check always

returns false. We do not focus on algorithms to solve general MNF-SAT or MNF0-SAT, but we

propose in the following section a general methodolody applicable to solve MNF-SAT.