CONSTRUCTION OF GENERAL SUBSUMPTIVE SOLUTIONS OF BOOLEAN EQUATIONS VIA COMPLETE-SUM DERIVATION

Boolean-equation solving permeates many diverse areas of modern science. To solve a system of Boolean equations, one usually combines them into an equivalent single Boolean equation {f(X) 0} = (cid:1) whose set of solutions is exactly the same as that of the original system of equations. One of the general classes of solutions for Boolean equations is the subsumptive general solution, in which each variable is expressed as an interval decided by a double inequality in terms of the succeeding variables. The solution validity depends on the satisfaction of a required consistency condition. In this study, we introduce a novel method (henceforth called the CS method) for producing subsumptive Boolean-equation solutions based on deriving the complete sum (CS(f(X)) (cid:2)(cid:1) of the pertinent Boolean function f(X) (cid:1) . The complete sum CS(f(X)) (cid:1) is a disjunction of all prime implicants of f (X) (cid:2)(cid:1) and nothing else. It explicitly shows all information about f(X) (cid:1) in the most compact form. We demonstrate the proposed CS solutions in terms of four examples, covering Boolean algebras of different sizes and using two prominent methods for deriving CS(f(X)) (cid:1) . Occasionally, the consistency condition results in a collapse of the underlying Boolean algebra into a smaller subalgebra. We also illustrate how an expansion tree (typically reduced to an acyclic graph) can be used to deduce a complete list of all particular solutions from the subsumptive solution. The present CS method yields correct solutions, since it fits into the frame of the most general subsumptive solution. Among competing subsumptive methods, the CS method strikes a reasonable tradeoff between the conflicting requirements of less computational cost and more compact form for the solution obtained. In fact, it is the second best known method from both criteria of efficiency and compactness of solution.


INTRODUCTION
Boolean-equation solving permeates many diverse areas of modern science such as biology, grammars, chemistry, law, medicine, spectrography and graph theory. It is also an indispensable tool in operations research, the cryptanalysis and breaking of ciphers, Boolean function decomposition, Boolean Satisfiability (SAT) problem solving, the synthesis, simulation, testing and diagnosis of digital networks and VLSI systems, output encoding and state assignments of finite state machines, automatic test-pattern generation and many other subareas of logical design.
To solve a system of Boolean equations, the equations are usually combined into an equivalent single Boolean equation {f (X) 0} = whose set of solutions is Science Publications JMSS exactly the same as that of the original system of equations. This is conceptually simpler and computationally more efficient than obtaining the set of solutions for each equation and then forming the intersection of such sets to obtain the set of solutions of the overall system. Typically, either general subsumptive solutions or general parametric solutions are sought, from which an exhaustive enumeration of all particular solutions can be readily chieved (Rudeanu, 1974;2001;2003;2010;Brown, 1990;Levchenkov, 2000a;2000b;Tucker and Tapia, 1992;Rushdi, 2001b;2004;2012;Rushdi and Amashah, 2010;2011;2012;Rushdi and Albarakati, 2013a). In this study, we are interested in deriving a subsumptive general solution of the Boolean equation: and B is a general finite Boolean algebra of 2 q elements (q = 1,2,3,…) In a subsumptive general solution, each of the variables X j is expressed as an interval determined by the double inequality: j j 1 j 2 n j j j 1, j 2 n u (X , X ,....,X ) X v (X X ,...,X ) ( j 1,2,.., n) i.e., each variable X j is a partially-defined function of the succeeding (n-j) variables. In particular, the last variable X n is determined as an interval {u n ≤X n ≤v n } where u n and v n are elements of B. The subsumptive solutions (2) are usually obtained subject to a certain consistency condition.
Typically, the lower bound u j and the upper bound v j for X j in (2) are determined in terms of successive conjunctive or disjunctive eliminants of the original function f (Rudeanu, 1974;Brown, 1990;Tucker and Tapia, 1992;Rushdi, 2001b;2004). In this study, we introduce a novel class of subsumptive Boolean-equation solutions based on deriving the Complete Sum (CS(f)) or Blake Canonical Form (BCF(f)) (Blake, 1937;Tison, 1967;Rudeanu, 1974;2001;Reusch, 1975;Muroga, 1979;Cutler et al., 1979;Brown and Rudeanu, 1988;Brown, 1990;Kean and Tsiknis, 1990;Gregg, 1998;Rushdi, 2001a;Rushdi and Al-Yahya, 2000;2001a; of the pertinent Boolean function f (X) .This class of solutions fits into the frame of the most general form of the subsumptive general solution since it satisfies the necessary and sufficient conditions set in (Rudeanu, 2010) for such a form. The CS solution obtained herein has two minor advantages over other known methods of subsumptive solutions, namely, (a) it explicitly casts the consistency condition in CS form and hence provides immediate complete information about it and (b) it allows nesting the subsumptions in (2) according to any desirable permutation of the set of integers {1,2,…,n}

MATERIALS AND METHODS
We briefly review essential concepts of the complete sum of a switching function, outline two prominent algorithms for its derivation, present the mathematics of Boolean-function solution via complete sum derivation and demonstrate the proposed method with four illustrative examples.
In these examples, we show how the original equation (1) is converted into the equivalent equation: We also demonstrate how to convert (3) into a subsumptive solution (2) together with a consistency condition. Occasionally, the consistency condition results in a collapse of the underlying Boolean algebra B into a smaller subalgebra. In each example, we illustrate how an expansion tree (typically reduced to an acyclic graph) can be used to deduce a complete list of all particular solutions from the subsumptive solution.

COMPLETE SUM OF A BOOLEAN FUNCTION
The complete sum of a Boolean function f, to be denoted by CS(f) is the all-prime-implicant disjunction that expresses f, i.e., it is a sum-of products (s-o-p) formula whose products are all the prime implicants of f. The complete sum is called the "Blake Canonical Form" by Brown (1990) in honor of A. Blake who was the first author to initiate and develop this concept in his Ph.D. dissertation (Blake, 1937). Since all the prime implicants of f are present in CS(f) it is obviously unique and hence stands for a canonical representation of the Boolean function. The complete sum for an Incompletely-Specified Boolean Function (ISBF) f = g v d(h) is that of the associated Completely-Specified Boolean Function (CSBF) F = g ν h. This means that a study of the complete sum always involves a CSBF and does not really involve an ISBF. Henceforth, when we refer to a Boolean function f, we understand it is a CSBF.
The concept of the complete sum of a Boolean function f is closely related to that of a syllogistic formula for f (Brown, 1990; Rushdi and Al-Yahya,

JMSS
2001a). However, while CS(f) is unique and canonical, there are infinitely many syllogistic formulas for f A syllogistic formula of f can be defined as an s-o-p formula whose terms include, but are not necessarily excluded to, all the prime implicants of f, i.e., it is the complete sum of f disjuncted (possibly) with terms each of which subsumes some prime implicant of f. Other definitions and properties of a syllogistic formula is given by Brown (1990). Each of the following formulas are syllogistic formulas (Brown, 1990): • A complete-sum formula • An alterm (a disjunction of single literals) • An s-o-p formula of monoform literals only • An s-o-p formula such that no two terms in it have a consensus that does not appear in the formula.
If we compare the definition of a syllogistic formula for f to that of its complete sum CS(f) we note that CS(f) is minimal within the class of syllogistic formulas for f, i.e., the set of terms in any syllogistic formula for f is a superset of the set of terms in CS(f) (Brown, 1990).
Hence CS(f) can be denoted by ABS(F), where F is any syllogistic formula for f and ABS(F) denotes an equivalent absorptive formula of F, i.e., a formula obtained from F by successive deletion of terms absorbed in other terms of F (Brown, 1990).
In view of our definition of CS(f) as ABS(F), it is obvious that CS(f) may be generated by the following two-step procedure: (a) Find a syllogistic formula F for f and (b) Delete absorbed terms to obtain ABS(F). Many techniques exist in the literature for carrying out step (a). These are categorized (Brown, 1990) into the three basic approaches of exhaustion of implicants, iterative cconsensus and multiplication. In the examples solved herein we employed two prominent algorithms for complete-sum derivation, namely, Tison algorithm and an algorithm utilizing the Variable-Entered Karnaugh Map (VEKM), which is succinctly labeled as VEKM folding.

Tison Algorithm
Tison method for obtaining all the prime implicants of a switching function F (i.e., obtainig) CS(f) is a systematic streamlined version of the iterative-consensus technique. The original study of Tison appeared in (Tison, 1967), but a more readable exposition can be found in (Cutler et al., 1979) or in (Muroga, 1979). The method is sometimes called "Tison method" for short, though its lengthier name serves to differentiate it from another Tison method, namely, that for the derivation of all irredundant disjunctive forms (Muroga, 1979). The essence of the present Tison method is summarized in Theorem 1. This theorem is adapted from (Cutler et al., 1979) to use the complete sum in the sense used by (Brown and Rudeanu, 1988), which is applicable to big Boolean algebras. In this theorem, the biform variables Y 1 ,Y 2 ,…, Y m include the biform variables among the input variables X and any biform generator among the algebra generators a,b,c,…

Theorem 1:
Start with a set of n 0 products with m biform variables Y 1 , Y 2 , …, Y m and a Boolean function f that is expressed by disjunction of the products in s 0 . For 1≤i≤m repeat the following 2-part step that replaces a set of products s i-1 by an updated one s i . First, for 1 ≤j<k≤ n (i-1) if Y i appears complemented in one of the two products (i 1) (i 1) j k

T ,T
− − and appears uncomplemented in the other such that the two products have no other opposition, then they have a consensus with respect toY i . Form that consensus and add it to s i-1 . Finally, s i-1 is replaced by a superset r (i-1) of p (i-1) elements, where p (i-1) is greater than or equal to n (i-1) .
Next, consider every pair ( )

VEKM Folding
The variable-entered Karnaugh map (VEKM) is a useful tool that has a variable-handling capability better than that of the conventional Karnaugh map and that naturally handles general or big Boolean algebras (Rushdi, 1987;1996;2001a;2001b;2004;2012;Rushdi and Amashah, 2011;Rushdi and Albarakati, 2013a;2013b;Rushdi and Al-Yahya, 2000;2001a;2001b;. In VEKM folding, a VEKM is used to represent the Boolean function and entries of the VEKM are converted into complete-sum entries via algebraic methods employing consensus generation and absorption (e.g., Tison method). In Fig. 1a, the function f (X) is therefore assumed to have subfunctions or restrictions with respect to X i which are already in CS form.  Fig. 1b, we use ABS(F) to denote an equivalent absorptive formula of F, i.e., a formula obtained from F by successive deletion of terms absorbed in other terms of F. The formula in Fig. 1b uses ANDing (multiplication) of CS formulas as an alternative for consensus generation. This multiplication is implemented via a multiplication matrix which allows an easy tracking of absorptions because of the fact that if a term is to be ever absorbed, then one of its absorbing terms will belong to either its row or to its column (Rushdi and Al-Yahya, 2001a). If the subfunctions F 0 and F 1 have some terms in common, i.e., if they can be written as F 0 = G ν H 0 and F 1 = G ν H 1 as shown in Fig. 1c where G is a disjunction of common terms, then "intelligent multiplication" ( (Brown, 1990;Rushdi and Al-Yahya, 2001a) Fig. 1d.

COMPLETE-SUM SOLUTIONS
We now introduce a novel class of subsumptive general solutions based on the derivation of the complete sum F = CS(f) of the underlying function f in (1). This class produces a sequence of equations F j = 0, (j = 1,2,…,n+1) where F 1 is the complete sum of the original function f in (1) and F j = F j (X j , X j+1 ,…,X n ) is expanded as: Again with each of the coefficients P j , Q j and R j being a function of (X j+1 ,X j+2 ,…,X n ) and the final coefficients P n+1 , Q n+1 and R n+1 being elements of the underlying Boolean algebra B. The subsumptive solution for the variable X j (j = 1,2, …,n) is expressed by: Provided the following consistency condition is satisfied: The subsumptive solution is obtained by imposing the final consistency condition: and working in reverse order (j = n, (n-1),…,1) to solve (4) via (5) subject to (6). Note that in (6), we do not write F j+1 as (P j Q j ν R j ) in analogy with the Rudeanu algorithm in (Rudeanu, 2003), since (P j Q j ≤R j ) as will be explained shortly. In fact, with F = F 1 being in completesum form, each F j (j = 1,2,…,n+1) will be also in complete-sum form, i.e., each F j will be a disjunction of all of its prime implicants (and nothing else). The Prime Implicants (PIs) of the complete sum formula F j are of three types (Reusch, 1975;Thayse, 1978;Rushdi, 2001a).
The first type are PIs that have the un-complemented literal X j . The disjunction of these PIs is P j X j where: where F j (1 j ) is the subfunction or restriction of F j (X j , X j+1 ,…,X n ) with X j set to 1, i.e., F j (1 j ) = (1, X j+1 ,…,X n ).
The second type are PIs that have the complemented literal j X . Their disjunction is j j Q X where: where F j (0 j ) is the subfunction or restriction of F j (X j , X j+1 ,..,X n ) with X j set to 0, i.e., F j (0 j ) = (0, X j+1 , …,X n ).
The third type are PIs that are independent of the variable X j (and hence have neither the literal X j nor the literal j X ). Their disjunction is R j , where: where the product F j (0 j )F j (1 j ) is called the conjunctive eliminant of F j with respect to {X j } (Brown, 1990), or the meet derivative of F j with respect to X j (Thayse, 1978). Equations 8-10 clearly relate the PIs of F j to those of its subfunctions or restrictions F j (0 j ) and F j (1 j ) and were first noted in (Reusch, 1975). These equations confirm our earlier assertions that P j Q j ≤R j and that each F j+1 = R j is in a complete-sum form.
In actual implementation of (4), we directly arrange CS (f) in the form: and hence write the subsumptive solution (5) and the final consistency condition (7) simply by inspection. The order followed in the summation (ORing) in (4a) is not necessarily the natural order {1,2,..,n}, but could be any permutation of it.

RESULTS
The present method of CS sub sumptive solution of Boolean equations utilizes a canonical representation that explicitly shows complete information about the pertinent Boolean function f (X) in the most compact form. It is typically more efficient than the don't-care techniques in (Rushdi, 2001b;2004), but while the CS solution obtains a rather compact solution that is not necessarily minimal, the don't-care techniques seek the most compact solution by using Boolean minimization methods.
The CS method is comparable in efficiency and compactness of solution to the Rudeanu method in (Rudeanu, 2003). Finally, the CS method might need slightly more effort than the conventional method based on constructing eliminants, but this extra effort pays off, since it results in a more compact solution and hence in easier generation of the tree (or acyclic graph) of particular solutions.
The following examples demonstrate particular implementation details of the CS method and typical results obtained with it.

Example 1:
Let the function f (X) in (1) be f(X 1 , X 2 , X 3 ): ( ) This function is already in CS form. It is an absorptive syllogistic formula in which the variable X 1 and the generator a are monoform, while the two biform variables X 2 and X 3 generate no consensi since the only two terms involving them 2 3 1 2 3 (aX X and X X X ) have double opposition. We arrange the CS formula (11) as: Science Publications

JMSS
And hence obtain the subsumptive solution: The availability of CS formula (11) allows us to choose any appropriate nesting of variables. For example, instead of (12) we may write: And hence obtain the alternative subsumptive solution: ( ) A list of all particular solutions is neither compact nor insightful as a general solution. Such a list is produced via expansion trees from the general solutions. Figure 2 shows the expansion tree used in producing all 21 particular solutions for f = 0 from the general subsumptive solution (13). To save space, we combined common nodes in the tree, thereby reducing it to an acyclic graph.

Example 2:
The function (X 1 , X 2 , X 3 ): 3 Here the underlying Boolean algebra B 16 = FB (a, b) is the free Boolean algebra generated by the two generators a and b. This algebra has 16 elements that are exactly the binary switching functions of a and b. These elements constitute a complemented distributive lattice in the form of a four dimensional hypercube. Figure 3 shows the hypercube lattice of B 16 and indicates partial ordering among its 16 elements. Notable among these 16 elements are the 0 and 1 elements and also the four elements ab, ab, ab and ab which are the minterms of a switching function of two variables, or the atoms of the atomic algebra B 16 , or the dimensions of its hypercube representation. Figure 4-7 demonstrate the derivation of CS(f) for the function f in (16) via VEKM folding. Initially, we represent f in Fig. 4 by its natural map, which is a VEKM of map variables X 1 , X 2 and X 3 and entries that are functions of the generators a and b. These entries are written in CS forms. The VEKM in Fig. 4 is now folded (according to the rules of Fig. 1), first with respect to X 1 (Fig. 5), then with respect to X 2 (Fig. 6) and finally with respect to X 3 (Fig. 7), while retaining CS entries during each folding. Figure 7 is simply an ANDing table  (multiplication table) for the two entries in Fig. 6. Every absorbed term is encircled with an arrow pointing to the absorbing term (which happens to be on the same row or the same column). The remaining terms, which are PIs of f, are not circled and are stressed in bold. Their disjunction is CS(f) given by: 3 2 3 1 2 3 2 3 2 3 1 2 1 2 1 3 1 2 CS(f ) bX aX X aX X X aX X bX X abX X bX X aX X aX X ab Now, we rearrange the CS formula (17) so as to express X 1 in terms of X 2 and X 3 and to express X 2 in terms of X 1 : 3  2  2  1  3  2  1   3  3  2  3  2  3  3 CS f aX X abX bX X aX aX X aX bX X aX X b X 0 X ab Now, some complementation is needed as follows: The consistency condition (ab 0) = will force the lattice in Fig. 3 to lose one atom or one dimension and hence to collapse to the three dimensional cube in Fig. 8. The subsumptive solution (19) can be used, if necessary, to develop all particular solutions of f = 0. Figure 9 shows part of the expansion tree that can be used for this purpose. A complete listing of all 45 particular solutions (albeit with X 1 interchanged with X 3 ) is available in (Rushdi, 2004;Rushdi and Amashah, 2011).

Example 3
The function f = (X 1 , X 2 , X 3 ): The complete sum of this function is: This CS formula is now arranged to give: The final subsumptive solution is: Figure 10 illustrates the acyclic-graph production of all 8 particular solutions from the general solution (23). Here, the consistency condition (ab = 0) made the underlying Boolean algebra collapse from the hypercube lattice of B 16 in Fig. 3 to the cubic lattice of B 8 in Fig. 11.

Example 4
Consider the Boolean equation: where, f(X) = B→B and B = FB (a, b, c) is a Boolean algebra of 2**(2**3) = 256 elements constituting all the switching (bivalent Boolean) functions of three arguments a, b and c. In the following, we update f(X) gradually into CS form using Tison algorithm, by adding

JMSS
consensi with respect to the biform variable X and the three biform generators a, b, c respectively. Of course, there will be some need herein for absorbing subsuming terms whenever such terms emerge: The last line of equation (25) has three terms enclosed in parentheses which are absorbed in other terms. This equation represents CS(f) when these terms are omitted and can be rearranged as: The terms in parentheses in (27b) are the only terms that would appear in consistency conditions by the eliminants method (Rudeanu, 1974;Brown, 1990), the don't-care method (Rushdi, 2001b;2004) or the Rudeanu method (Rudeanu, 2003). Other terms in (27b) are generalized consensi of the earlier terms. The condition (27b) indicates that six out of the eight atoms of the underlying Boolean algebra are nullified. These are the atoms abc, abc, abc, abc, abc and abc . Hence B retains the two (now complementary) atoms abc and abc and hence it reduces into a 4-element Boolean algebra: where, abc and abc α = α = . The two bounds in (27a) are both equal to α and hence X has a single particular solution X = α

DISCUSSION
The present method of CS subsumptive solution of Boolean equations utilizes a canonical representation that explicitly shows complete information about the pertinent Boolean function f (X) in the most compact form. It is typically more efficient than the don't-care techniques in (Rushdi, 2001b;2004), but while the CS solution obtains a rather compact solution that is not necessarily minimal, the don't-care techniques seek the most compact solution by using Boolean minimization methods.
The CS method is comparable in efficiency and compactness of solution to the Rudeanu method in (Rudeanu, 2003). The CS method might need slightly more effort than the conventional method based on constructing eliminants, but this extra effort pays off, since it results in a more compact solution and hence in easier generation of the tree (or acyclic graph) of particular solutions. The CS solution obtained herein has two minor advantages over other known methods of subsumptive solutions, namely, (a) it explicitly casts the consistency condition in CS form and hence provides immediate complete information about it and (b) it allows nesting the subsumptions in (2) according to any desirable permutation of the set of integers {1,2,…,n}.
The CS method easily detects if a Boolean equation f (X) 0 = is inconsistent, for then it produces CS(f (X)) 1 = , which leads to the inconsistency {1 = 0}, or in other words, leads to a consistency condition {1= 0} which is not satisfiable. In this case, all atoms of B are nullified, B collapses to a single element and the solution set is empty.

CONCLUSION
A novel method for obtaining the general subsumptive solution of a general Boolean equation is introduced. The method is based on the derivation of the complete sum CS(f) of the pertinent Boolean function. Prominent methods for such a derivation are briefly outlined and utilized in four demonstrative examples, covering Boolean algebras of various sizes.

JMSS
Occasionally, the consistency conditions result in collapse of the underling Boolean algebra into a smaller subalgebra. An expansion tree (typically reduced to an acyclic graph) is used to deduce a complete list of all particular solutions from the subsumptive solution. The present CS method is guaranteed to produce correct solutions, thanks to the fact that it fits into the frame of the most general subsumptive solution. Among competing subsumptive methods, the CS method is relatively good (albeit not necessarily the best) from both criteria of computational efficiency and compactness of solutions obtained. The CS method also enjoys the advantages of casting its consistency condition in a complete (but compact) form and of allowing the nesting of subsumptions in any possible permutation.
The CS method for solving Boolean equations can be classified as an application of the Modern Syllogistic Method (MSM) (Blake, 1937;Brown, 1990;Gregg, 1998;Rushdi and Al-Shehri, 2002;Rushdi and Baz, 2007;Rushdi and Ba-Rukab, 2007;2008a;2008b;2009;2014). In this perspective, the equation f (X) 0 = can be viewed as a set of premises in a logic-deduction process, while the equation CS(f (X)) is thought of as a set of consequents in this deduction. An interesting topic for further research is whether a linear (Reed-Muller) representation of the pertinent Boolean function (see, e.g., Rushdi and Ghaleb, 2013;Rushdi and Alsogati, 2013) could provide a new alternative for solving the corresponding Boolean equation.

ACKNOWLEDGEMENT
This article was funded by the Deanship of Scientific Research (DSR), King Abdulaziz University, Jeddah. The authors, therefore, acknowledge with thanks DSR technical and financial support.