LI E> RAHY OF THE UN IVERSITY OF ILLINOIS 510.84 IZQr no. 265-270 cop. 2 The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN MAY 1 1974 m 2 6 1974 MAY 31191* 3\ MAY L161 — O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/solutionofsimult266schw TIG* }/ U'20O Report No. 266 *>?<-*C-£2f CCO- 1469- 0077 THE SOLUTION OF SIMULTANEOUS BOOLEAN EQUATIONS by HOWARD STEPHEN SCHWEITZER May 28, 1968 DEPARTMENT OF COMPUTER SCIENCE • UNIVERSITY OF ILLINOIS • URBANA, ILLINOIS Report No. 266 THE SOLUTION OF SIMULTANEOUS BOOLEAN EQUATIONS by HOWARD STEPHEN SCHWEITZER May 28, 1968 Department of Computer Science University of Illinois Urbana, Illinois 618OI m ACKNOWLEDGEMENT The author is deeply indebted to his advisor, Professor W. J. Poppelbaum, whose encouragement, understanding, and support have been invaluable in the completion of this project. The author is also extremely grateful to Professor F. E. Hohn, whose cooperation and guidance were essential in the preparation of this paper. Thanks are also extended to Mr. M. Payne for many helpful discussions, and to Mrs. Gayle Osterberg for typing the final manuscript. IV TABLE OF CONTENTS 1. INTRODUCTION 1 2 . NOTATION , 3 3. GENERAL SOLUTIONS OF BOOLEAN FUNCTIONAL EQUATIONS 5 3.1 Basic Theorems 5 3.2 Logical Algebraic Algorithm 8 3.3 "Map" Methods Ik 3.3.1 Svoboda ' s Algorithm .15 3.3-2 Maitra's Methods 25 3.3.3 Ledley's Methods 36 3 . 3 . h Carvallo ' s Method 67 3.U "Truth-Table-Logic" Method 71 3 . 5 Parametric Method 75 3.6 Summary and Applications 8l U . PARTI CULAR SOLUTIONS OF GENERAL BOOLEAN EQUATIONS 88 k.l Logical Algebraic Methods 88 U.l.l Ashenhurst's Algorithm 88 k . 1 . 2 Grigor ' yan ' s Algorithm 90 k,2 "Map" Method 96 U,3 Pseudo-Boolean Equations ..98 h.k Summary and Applications 107 5. RELATED TOPICS 110 5 . 1 Programmed Methods 110 5 . 2 Simultaneous Implications Ill 5.3 Systems Other Than Binary. Ill 5.U "Physical Mapping" 115 5.5 Boolean Ring Equations 116 5 . 6 Sequential Equations 120 LIST OF REFERENCES .123 1 1. INTRODUCTION In many problems, particularly those involving the logical design of switching circuits, the need arises for the solution of simultaneous Boolean equations. Since the application of Boolean algebra to switching theory is a rather recent development, it is not very surprising to find that the amount of work which has been done in this field is relatively sparse. This paper is expository in nature, and is intended as a survey of the pertinent literature, to date, dealing with this subject. Numerous examples, different from those in the actual papers cited, are given, and in many cases are solved by various methods in order to compare the efficiency of the techniques, (For further comparison, see references [1], [3], [9l> [19] 3 and [22] for solutions of the "star-delta- transformations" problem.) Inasmuch as obtaining the conditions for the existence of solutions verges upon solving the equations, these conditions will not be investigated in great detail. For all problems, the given system of equations will be linear in bivalent variables. Section three presents seven methods for the solution of simultaneous Boolean functional equations, i.e., the determination of dependent variables as functions of independent variables. Particular solutions (i.e., the assignment of a definite value to a bivalent variable may always be found by simply exhausting all possible combinations of variables; however, for n variables, there are 2 possibilities, and so methods must be devised to minimize the labor by reducing the number of potential solutions. Section four consists of three such techniques for Boolean equations, and one for pseudo- Boolean equations. Throughout these two sections, all analogous procedures are noted, and the merits of each approach are summarized in the final division of each section, along with possible applications of the methods. Section five contains topics which are either extensions of the methods of the previous sections, or are related in such a manner as to present an area of future exploration. Finally, the list of references provides an extensive bibliography of a great many papers which would be difficult to locate, due to the diverse and unrelated sources. 2. NOTATION The notation of the authors of the many works comprising the "basis of this paper varies a great deal, as might be suspected. Thus, it is necessary to adopt a uniform notation to be used throughout this paper, in order to avoid confusion. Table 2.1 below contains the notation to be used henceforth, as well as the other various names and representations which may be found elsewhere, Table 2.1 Other Symbol Type of Operation Name Symbols n Set-theoretical Intersection (meet) u Set-theoretical Union (join) + Set-theoretical; logical Complementation; NOT (negation) t + Logical OR (inclusive OR; log. sum; disjunction) V, © • Logical AND (logical product; conjunction) /\ © Logical Exclusive OR (ring; ring sum) o, + The absence of a symbol between elements will be impli- citly understood as logical AND. (Note: Throughout this paper, the symbol (J) represents some solution function, as introduced in Sectiop. 3»1; it ia not to be confused with 0, the empty set, which was not used in this paper.) 3. GENERAL SOLUTIONS OF BOOLEAN FUNCTIONAL EQUATIONS 3.1. Basic Theorems Almost a ll methods of finding solutions to simultaneous Boolean equations are based, either explicitly or implicitly, on the following well-known theorem, quoted here from a paper by R. L. Ashenhurst : Theorem 3«1 » Given any set of relations f, = 1 °1 f 2 = S 2 , (3.1) f = g n n where the f and g are switching functions of p variables, they K. K. can be combined into the single equivalent relation n * ■ J 1 , < f A + W ■ x (3 - 2) k=l Proof - It is immediately obvious that (j) = 1 if and only if each of its factors is equal to one; moreover, this is true only when f^ = S v (which is exactly the same as the equivalence statement f g + f g = 1). Thus, (3.2) is true only when (3.1) is true, and vice versa. Therefore, it follows that (}) is a switching funct. of p variables which has the value one for just those sets of values of the variables which represent solutions' of (3.1). It will be shown in Section U#l.l that Theorem. 3. 1 leads directly to a simple method for determing a particular solution by means of logical algebra. In many problems, particularly those of circuit synthesis, it is desirable to solve for some of the variables as functions of the remaining variables. The conditions for the existence of solutions to such Boolean functional equations, as well as an indication of the method of solution, are given in another theorem by Ashenhurst .. Theorem 3*2 . Given the set of relations (3.1), let the p variables consist of r independent variables x ,x , ...,x , and s dependent variables y-,jy g j«.»,y • Then at least one solution of the form y-|_ = .^1 ^ x i ? x p' * * " ,X r ' y 2 = y 2 vX l' X 2'' , *' X r' ) ' ^ 3 ° 3 ' y s =y s (*v x 2 ,..., x r >, r exists if and only if all of the p = 2 complete products of the variables x ,x , ...,x appear in the canonical form of the function (|) given "by (3.2). If t. is the number of terms of (j) containing J the product of x ,x , ...,x corresponding to the integer j , then the number of distinct solutions of the form (3.3) "will he P-1 TT ^ * a (Author's note: I have substituted the term "complete product", which is synonymous with "minterm", for "fundamental product", the phrase actually used by Ashenhurst, since the definition of the latter varies among recent authors.) Proof: If any minterm does not appear in some term of the canonical form of ({), assigning values to the independent variables x ,x , ...,x in such a way that this missing complete product has the value unity will cause (3-1) to have no solution of the form (3.3) > regardless of the values of the dependent variables. Since all other minterms are different combinations of the binary variables, they would thus equal zero. Hence the values of (f> for the combination could not be 1. r Therefore, only if all p = 2 minterms appear in the canonical form can the system of equations have a solution. Furthermore, if P-1 all products do appear, the TT t. solutions can be constructed 3=0 by selecting p terms of (j), one containing each product of x ,x , . ..,x , and assigning the coefficients in the disjunctive normal form of the functions y (x ,x ,.,.,x ) as or 1, depending on whether the K 1 c. r variable y, appears primed or unprimed in the corresponding selection term of (|). 3.2. Logical Algebraic Algorithm This algorithm is the direct consequence of theorems 3.1 and 3»2, and the steps described here utilize the simple logical algebraic method of R. L. Ashenhurst. Problem : Given a system of n simultaneous Boolean equations in the general form f.(x ,y ) = g (x ,y ) i =l,2,...,n (3.4) X J K 1 J I where x. (j =l,2,...,r) are independent variables J y (k =l,2,...,s) are dependent variables and r + s = p = total number of variables Solve for y (i.e., Equation- 3.3) • This is the basic problem for all methods of Section 3# Algorithm : Step I : Find (J), according to (3*2). Step 2 : Form a logical table from (j) by writing each term as a binary number, where primed variables are written as 0, unprimed variables as 1. Step 3^ Choose p = 2 terms of (t>, one containing each complete p-1 ;here will be solutions, according to Theorem 3*2.) product of x ,x , ...,x . (Remember, there will be J]" t. r j=0 J Step k : Treat this table of p terms as a truth table, and form the Boolean function(s) for all y . K. Example : Solve the system of Boolean equations f 1 (x 1 ,x 2 ,y 1 ,y 2 ) = (x ± + y 1 )x 2 y 2 + x^y.^ + l-^ 2 ) = ^! x 2 y 2 + ^1 + x 2 ^ y l^2 + ^ X 2 +y 2' )X i y i ^g 1 (x 1 ,x 2 ,y 1 ,y 2 ) (3>5>1) 10 f 2 (X !' X 2' y l' y 2 ) S (x i X 2 +X l X 2 +y 2 )y l +(x i y l +y 2 )x 2 +X l X 2 y i y 2 = ( 5 2 + y 1 )y 2 + ( x 2 yi^2 y i )x i 4X L x 2 y i y 2 - g 2 (x 1 ,x 2 ,y 1 ,y 2 ) (3.5.2) Step 1 : Find (J) from (3.2). t = ([(x 1 +y 1 )x 2 y 2 +x 2 (y 1 7 2 +y 1 y 2 )] [x^x^+fx^+xpy^+fx^+y^x^] + [] = ] ' t. = T (t . = number of l'e per column) as in Theorem 3.2. The value T is the product of the numbers of l's in the columns of the maps of (j), and gives the number of distinct solutions. IT Step k : Decompose the map of (j) into all T possible different Boolean components (j) j t = 1,2,...,T, where each (j) has only a single 1 per 12 T column. <|) = (p + (j) +....+ ()) (logical addition for each cell). T This is equivalent to choosing all sets of 2 complete product terms of (j), as in Step 3 of Ashenhurst's method. Step 5 : From each ()) , develop s functions Y^ = $\ (k=l,2,...,s) by logical multiplication of the graphical representation of y and (j) . This selects those l's in the (j) -map that are also in the 1-region of the y -map. Step 6 : Transform each Y into y by filling with l's every column of Y. containing a 1. k Step 7 ; Express each y as a Boolean function by means of the y maps, These last three steps are equivalent to the usual method of forming the Boolean functions y from the truth tables, as in K. Ashenhurst's last step. 18 Remarks on the Algorithm n 1. (J) may also be found as ( 2 9 k )> where the union of all 2 (fcigare S) . Step 2 : Form ()) (Figure^. Step 3 : [<|>]= TT t. = 1-2-1-2 = k soluti ons j=0 J 1 1 1 1 1 1 1 y 2 y l 1 1 1 1 I 1 1 1 Y 2 y i 1 1 1 1 1 1 1 1 1 1 1 y 2 y l 1 1 1 1 1 1 1 1 1 1 y y 2*1 1 1 1 1 1 1 1 1 1 y y 2"1 1 1 1 1 1 1 1 1 1 1 1 y 2 Y l Figure --2, 1 1 1 1 1 1 1 1 1 y 2 y i 19 e .3 Step k : Decompose (j) into <|> ', t = 1,2,3,U (Flgus^' I) . 20 1 1 _1_ 1 ~ 1 1 1 1 ! ... 1 I" 1 1 1 1 1 1 1 1 1 1 1 Figure J+. Step 5 : Find Y^ = y fe k = 1,2,..,, s (Figure 5). '1 k 0. Ill 1 — A l i i y, y; — — T i — i i T 1 r T~ — I i ! i~ "i 1 1 1 1 1 i 1 1" 1 1 i . I j i Figure* 5. Step 6 : Y into y (Figure* 6) . 21 y. y-, 3 I 1 t 1 1 ! 1 J 1 I 1 ! \ n [jr ~P 1 1 I 1 1 y i = X 1 X 2 7 ± - y l = X 1 y-L - Xl x 2 y. y. y; y. jl 1 1 1 1 1 1 1 TIT Tl : i i i rrrr i ! i| i i| I 1 l \T 1 1 1 1 11 H J 2 2 y 2 - x 1+ x 2 y 2 = x 2 J 2 12 Fi£ure_6, Step 7 * Find y as a Boolean function. 22 Singular Cases Svoboda does add an important case not treated by Ashenhurst. As noted earlier, if [x . . jX , along the bottom and right side of the chart, respectively (see Figure 10). Step 2 : Form the (b chart by "multiplying" the values of f and g according to the following rules: 1.1 = 1, 0-0 = 1, 1.0 = 0, 0.1 = (3.11) This is precisely due to the equivalence statement of (3.2) , and results in the same maps as those in Step 1 of Svoboda's algorithm. Step 3 - Form the (J) chart as the Boolean product of the © (identical K. to Svoboda ' s Step 2) » Step k : Calculate the number of solutions, as [(f) 1 = T (identical to Svoboda's Step 3, but now t. = number of l's per row). J Maitra does not detail how to obtain the [(j) ] solutions as Boolean functions, but obviously the method parallels that of 29 Svoboda and Ashenhurst. Thus, "by decomposing i "would represent the l*2*l-2*l'2'l-2 = 8 different solutions). 1 1 1 2 3 k 5 6 1 f-. o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 \ 1 1 1 1 1 1 1 1 2 1 1 1 1 1 3 1 1 1 1 1 k 1 1 1 1 1 5 1 1 1 1 1 6 1 1 1 1 1 7 1 1 1 1 1 f l 1 1 1 1 Figure 10. • r 2 1 2 3 g 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 k 1 1 1 1 5 1 6 1 1 1 1 1 1 1 1 1 f« 1 1 1 1 2 3 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 fa 1 1 1 1 1 1 11 1 2 3 k 5 6 7 1 2 3 1 1 1 1 1 1 1 1 Figure 10, 33 V VV X 3 V + V5 ( V x 3 } + V X 1 V x 2 V x 3 V 5 2 (x 1 ,x 2 ,.,.,x 5 ) (3.12.2) Steps 1 and 2 : The maps of (Figure 11). y l y 2 xxx 00 01 10 11 1 10 Oil 10 10 1 110 111 1 1 1 1 1 1 1 1 Figure 11 • 3^ Step k: [(()] = 3i , l , l'l , l'l*l , l = 1 = T; therefore a unique solution exists. Treating Figure 11 as a truth table, the unique answer is immediately seen to be y l = V x 3 V *= X y 2 3 Check: A sample check will be shown for x, = x = 1: f l = ( X 2 +X 3^3Y5 + ^2 X 3^3^¥5 + Y5^¥3^5 X 2 +X 5 X 3 +X 5 X 2 X 3^ + x^(x 2 +x 3 )(x 5 x 3 +x 5 x 3 ) 35 = x 2 x 3 +x 2 x 3 +x 3+ x 2 x 3 = 1 >1 = X 3 +X 1 X 2 X 3 +X 1 X 2 X 3 +X 1 X 2 X 3 +X 1 X 2S = l ^ f 2 = ( X 2 +X 3 ) X 3 +X 2 X 3( X 3^ ^ +X 3^ X 2 +X 3) = X 2 X 3 +X 3 = x 2^ g 2 = x 2 + x 3 v/ Similar checks for x. = 0, x = 1, x, = 1, x = 0, x, = x = show that the solution checks identically. Solution for problems of type 2 Given the functions f and the y.'s, it is desired to J determine the function g explicitly. The given conditions imply that the values of f, and all the elements of the matrices are known, k (For further insight, see Ledley's solution of this problem.) Furthermore, since the y.'s are independent of x . ,...,x , the matrices corresponding to different pairs of f's and g *s 1 2 9 h (i.e., (J) , hi = 0101 1 0101 #ic = 1010 1010 £ g = 1100 1100 #x = 0000 mi #(x 1 +x 2 ) = 1101 1101 #(x x ) = 0000 1010 39 It is most important to note that each designation number corresponds to a unique function (simplification not withstanding). Expressed in another way, this says #x = #y iff x=y (3.14) Another important rule is #1 = 1111.... 1 (number of bits depends on the basis), where I is the function whose value is always 1. Boolean matrix multiplication is denoted by '®", and is equivalent to regular matrix multiplication except logical addition and multiplication are used. The last step in all the methods to be developed is changing back from the solution designation number to the Boolean function of the solution. This may be done in any of the following ways: 1. Disjunctive normal form (first canonical form) - This is simply a sum of complete products. For a basis of r elements, there exist r 2 different complete products. Furthermore, the designation number of a complete product always has a single 1. For the basis (3.13), we have 1+0 #(x 1 x 2 x 3 ) = 0000 0001 #(V2 X 3 } = 0000 0010 #(x 1 x 2 x 3 ) = 0000 0100 #(x ] _x 2 x 3 ) = 0000 1000 #(x x x 2 x 3 ) = 0001 0000 #(x 1 x g x 3 ) = 0010 0000 #(x 1 x 2 x ) = 0100 0000 #(x x x 2 x 3 ) = 1000 0000 Thus, this form is the sum of the complete products which contribute l's to the designation number. 2. Conjunctive normal form (second cononical form) - This is a product of complete sums. There are 2 different complete sums, each one containing only a single zero (the reader should verify this). The Boolean function is thus formed by taking the product of those complete sums -which contribute a zero to the designation number. 3. Veitch chart - A Veitch chart may be used quite successfully for the simplification of a Boolean function from its designation number. For example, a l6-bit designation number and its corresponding k- element standard basis are: hi x l = 0101 0101 0101 0101 X 2 = 0011 0011 0011 0011 X 3 = 0000 1111 0000 1111 x h = 0000 0000 1111 1111 #y = 0111 0111 1100 1100 The corresponding Veitch chart (see explanation below) is Figure 12 10 01 11 00 10 01 1]. 1 1 1 1 1 1 1 1 1 1 y = x 2 x l| +x 2 x 1+ +x 1 x 2 Figure 12. By comparing b [x ,x ,x ,x, ] and #y with Figure 1 and Figure 10, it may be seen that the cells of the chart correspond to the successive groups of four binary combinations of the basis. Furthermore, the cells of the chart may be filled by "folding" the designation number, whence each group of four bits becomes a row. The superiority of a Karnaugh map to a Veitch chart for ordinary simplification is lost here, since the former cannot be formed directly from the 1,2 designation number, as can the latter. Thus, the use of a Veitch chart will occur frequently here. ko Other methods - Ledley also demonstrates various methods which are more artificial and complex than those above. Among these are the generation of "mongrel forms", the use of prime implicants, and "elimination pairs" to determine "included" and "non- included" elements • Formation of matrices Returning to the three problem types of Section 3»3.2 we see that it will be necessary to form matrices corresponding to the given functions, and then calculate the solution. The method of solution is summarized below, lo List the given Boolean functions. 2. Find their designation numbers. 3o Form corresponding Boolean matrices <, k. Compute the Boolean solution matrix with aid of the fundamental formulas » 5. Find solution designation number. 6. Derive explicit Boolean function of solution. The three matrices of interest are [g ], [f J, and [(K ], which are defined as follows: h3 [6^3: (a) Form #g from b[x 1 ,x 2 ,...,x m ,x m+1 ,...,x r J . (This applies to problem types 1 and 3- ) (b) Separate the positions of #g into 2 groups of 2 bits per group. (c) Index the groups by k (k = 0,1,..., 2 -l) . These form the rows of [g n ] . D km (d) Index the bits or positions by m (m = 0,1,.,., 2 -l) . These form the columns of [g, ] . km Note that these steps simply convert the designation number to a Veitch chart, as was shown above. For that example, the indexing would be m 0123 0123 0123 0123 #g = 0111 0111 1100 1100 k 1 2 3 [f /,]: The method is the same as for [g, .', except b [y^,y , ..., yp 9 x ...... ,x 3 is used, (This applies to problem types 1 and 2.) [Of ]: This is for use in problem types 2 and 3. (a) Form the #y's from.b [x.. ,x , . .,,x ] ., , and place. In successive rows, in numerical order (i.e., #y-,,#ypj...) Uk (b) Index the columns of b [x-,x , ...,x .1 by m(m=0,l, o .., 2 m -l) . (c) The ^ index is written below each column of the array of #y's, where % is the decimal number equivalent to the binary number formed by the column, when read from bottom to top. (d) An element (J),, of [ (JK 1 is a one for all corresponding pairs of the 'I and m indeces found above. So, if Column 3 of the basis corresponds to I =1.1 in the #y's array, the element d)_ will be a unit, etc. Thus, there will be the 2 "units in [ (L .! , one in each column, all ■'V '• •••'-. other elements being zero. Derivation of Boolean function from matrices #g: This is found by reversing the procedure for finding the [ g, ] matrix. Simply unfold the matrix to obtain km the designation number, and then use one of the aforementioned procedures. #f: Reverse the procedure for finding the [ f » ] matrix. -//y's: r ' In this case, multiple sets of solutions are possible. A result array consisting of 2 'columns indexed by m(m = 0,1, «.„<,2 -l) and i rows indexed by y„,y , ,.., y, is formed, (The y.'s may be found immediately by Hi j treating [ 9 m for -which typ = 1, place the .'Jth column of b [ y ,y , . . . ,y, J in the mth column of the result array. The rows of the result array will consist of the #y,> ' s, with respect to b [x ,x , ..., x ] , and the explicit Boolean functions may be obtained. The methods of this and the previous section will be demonstrated in subsequent examples. Antecedence and Consequence Solutions In logical problems , there are two types of solutions to a given equation; these are antecedence and consequence solutions. An antecedence equation implies the given equation; in other words, the truth of an antecedence solution is sufficient for the truth of the given equation. Moreover, an antecedence solution will be false for at least all input conditions for which the given equation will be false, but it is not necessarily equivalent to the given equation,, Consequence solutions can be deduced from (i.e., are implied by) the given equation; hence, the truth of a consequence solution is necessary for the truth of the given equation. Also, a consequence solution will be true for at least all input conditions for which the given equation is true, but it is not necessarily an equivalent equation, U6 If f is an antecedence solution, f a consequence solution, and g the given function (f ,f ,g are functions, as before), the above a c conditions are expressed as antecedence: f — ^ g a consequence: f — ^ f If f — y g — ^f , and f = f = f, then f = g. Thus, any solution which is both an antecedence and consequence solution -will be the solution of the given equation. The Fundamental Formulas Ledley presents three pairs of Boolean matrix equations, an antecedence and consequence formula for each of the three problem types. (For detailed derivation of these formulas, see [10] , pp. U28-M+3.) In the formulas below, the subscripts a and c denote antecedence or consequence solutions, respectively. Table 3.1 iProblem Type Antecedence Solution 1 [f . ]® [g, J = [ there will be one which is termed "closest" to g. If such a solution is represented by f f; then f — ♦ f — !► g (antecedence solutions. n=l,2,... ,Nj n m ' g — > f — ^f (consequence solutions, n=l,2,...,N; Constraints may also be found between the given functions. The constraint will be found as both an antecedence and consequence solution; if none exists^ the functions are independent. It is found by substituting the single column vector I for [g 1 in the Type 2 fundamental formula a Example of T ype 1. Problem Equations (3.12) will be solved using Ledley's method, Given: Equations 3-12- Find: y^y^ Step 1 : Find designation numbers of f . ^f^g.. ,g , f 1 = W^VM^ + V/ : Vl+ X 5 y l } +X 4 y l (x 5 y 2 +X 5 y 2 } f 2 = y l y 2 (x i4 +X 5 ) +y l y 2 ( VVV9 +X 5 y l (x uW2 } +X 5 y 2 (x ^ y i + Vl ) +y 1 y 2 'x i+ x r; -»-x i4 x 5 ) ^9 b[ yi ,y 2 , V x 5 ] #y = 0101 0101 0101 0101 #y = 0011 0011 0011 0011 #x^ = 0000 1111 0000 1111 #x = 0000 0000 1111 1111 #f = 0011 1100 0000 0111 #f = 0011 1110 1111 0101 §! = x 3 ( x u x 5 + V5 )+x 2 X 3 X U (x l x 5 +x i X 5 )+X 2 X 3 X U (x l X 5 +x l X 5 ) +x x^x (x^+x^+x^x (x^+x^) g 2 = x U (x i x 5 +x 3 x 5 )+x U x 5 (x 2 +x 3 )+x 5 (x l x U +X 2 X U +x 3 x )+ ) 50 Td [x 1 ,x 2 ,x 3 ,x 1| ,x 5 J = #x = 0101 0101 0101 0101 0101 0101 0101 0101 #x = 0011 0011 0011 0011 0011 0011 0011 0011 #x = 0000 1111 0000 1111 0000 1111 0000 1111 #x. = 0000 0000 1111 1111 0000 0000 1111 1111 #x, r = 0000 0000 0000 0000 1111 1111 1111 1111 5 #g = 0000 1111 1111 0000 0000 0000 1111 1111 #g = 0000 1111 1111 0011 1111 1111 1111 1100 Step_2: Find [f^] , [f^] , [g^ ] , [ g^ In matrix notation, [A..] = f A. .] T jk L kj J where the T designates the transpose of the matrix, and is formed by interchanging rows and columns. Also, complementation 51 (denoted by [A ] ) in a Boolean matrix means replacing O's with l's and vice versa. So, we find [f 1 ] = 0011 1100 0000 .0111 [f 1 ] = 0100 0101 1001 1001 10lf| 1010 I 0110' 0110 [f 2 1 0011 1110 1111 0101 r f 2 i ,2k J 0110 0111 1110 1011 [f 2 L1 ^k 1001 1000 0001 0100 (The superscripts denote the corresponding equation number.) [ g L ] 0000 1111 0000 1111 1111 0000 0000 1111 [g L ] 0000 1111 1111 1111 1111 0011 I 1111 1100 «L> 1111 0000 1111 0000 0000 1111 1111 0000 1111 0000 °km 0000 1100 0000 0000 0000 0011 52 Step 3 : Find [ (J) ] , [ (J) ] , by means of the fundamental formulas [f £k J ® [ Skm J " [ ^m ] [ V®fe*m ] = ^im 1 C [f £k [& km 0100 0101 1001 1001 4 ["ion i 11010 0110 0110 O ® ■where * is logical multiplication of corresponding elements (units appear only where [ $> 1 and [(f)] Save 3l's) # 1111 0000 0000 1111 0000 1111 1111 1111 0000 1111 1111 0000 -^l ] a 0000 0000 1111 0000 1 g km 0000 1111 1111 1111 1111 0000 0000 1111 0000 0000 = 1111 0000 -if*] c 1111 1111 1111 0000 ] c ooc 0000 (Note: If equation 1 111 1 0000 were taken alone, ^)j ooc 1111 there would be its lOOC 1111 2.2.2-2 = 8 so] .utions.) 53 t f L^ [g 2 ] "oiio 1111 0000 0000 1100 0111 1110 ® 0000 0000 1100 0000 ■= 0000 1111 1111 1100 lOllj 0000 0011 nn 0011 && f 4 J 1001 0000 1111 1111 1111 1000 0001 <8> 1111 1111 0011 1111 - 0000 1111 1111 1100 0100 1111 1100 1111 0011 [ *L ] a [flj em' [f. ] = [tf ] . [4,2 ] and 1 J6m a % \ [ «i ] "llll 00 11~ joooo 0000 1 [oooo 0000 1111 0000 jllll 0000 • 1111 0000 0000 0011 joooo 0011 1 | 0000 0011 0000 1100 !oooo iioo L . _ joooo 1100 51* StgeJ*: FlndC*.]- [^.1 -rt 2 . ] *«J fa, 0000 0000 (Note there will "be 1111 0000 a unique solution 0000 0011 since there is only 0000 1100 1 unit per column.) Step 5 : Set up solution array and derive Boolean functions for y 1? y 2 . (Figure* ' 13) . b [y-^yg] : -8 = 0123 #y x = Oioi #y 2 = 11 (Place the #th column of b [y^ ,y ] in the mth aolvmn for indices of units in [fyn ]. ) Solution Array m | 1 2 3 h 5 6 7 #y x #y 2 1 i 1 l 1 1 1 l l l 1 1 1 gj fiyra. 3>3« 55 Since y*, p = y, ? (x l3 x 3 x ), the explicit Boolean functions for y and y are found with a three variable Veitch chart,, (Figure lU) x. 00 X 10 1 X 2 01 11 1 1 1 1 1 1 1 y l = X 2 + *3 1 2 00 10 01 11 X, o i 1 1 1 1 y^ = x_ y 2 3 Figure lU„ The solutions check with those found by Maitra's methods. Remarks on Type 1 Solutions It has been shown that nJ = thj fl 'ttij MR. lm J a lm J c (3.17) where [J>, ] = [f, J T ~ r ~ #m a "kT ** ^knf (3*18) and 'J c ■ lt U^ C «Km 3 (3.19) 56 Substitution of (3.18) and (3.19) into 3-17 yields V ■ J k K By De Morgan's rules, (3.20) is k k "J ( V + (3 - 22) k Observe that (3.22) is identical to (3.2). Ledley calls this matrix-multiplication operation the "theta product", and writes it tV ■ [f */ e [g kJ (3 - 23) Using (3<>22) in the above example would have immediately yielded 57 Cfl] 0100 0101 1001 1001 km 0000 1111 0000 1111 1111 0000 0000 1111 \1 r r 0000 1111 0000 0000 0000 0000 1111 1111 tfo -1 -1-1 (Units appear in [ [ [ t ] > rtjJ • From the previous example, Tf 1 1 1 1 1 1 1 1 1 [f u ] 1 1 1 1 1 1 1 1 1 1 1 #x, #y, 12 3 10 1 11 1110 T^s [&J l^J Jim £m- "o 6" 1 1 1 1 = [4>,J nr #y 2 = 11 113 2 (Units appear in [^J at (1,0), (1,1), (3,2), (2,3)0 59 Step 2 : Calculate [g ] and [g ] from the fundamental formula. [ 4^w ■ 11 110 110 O 1 = 111 10 1 1 1 1 1 1 1 1 -rO [f rf ]0[ W = 11 1110 1111 10 1 110 1 10 1 1 1 1 1 1 1 1 1 1 1 1 tan Step 3 : Find g^x^x ,x^,x.) , g 2 (x 2 ,x ,x^,x ) by means of Vettch charts (Figure lU) , '5*1* L 1 1 1 1 1 1 1 X 5 X U : X 1 1 1 J. i i 1 1 1 Figure 16 g l = V5 +? 3 X 4 +X 3 x i+ X 5 g 2 = X t + X 5 +X 3 x l + " X 3 X 1| +X 2 x l+ X 5' fx 2 x 5 (Note: These functions may be obtained by (3.12.1) and (3 . 12. 2), respectively, if minimized by De Morgan's rules.) Example of Type 3 Problem Given: g. ,g (as in previous problems - Equation 3*12); y, = x +x y 2 = x 3 Problem: Find ^(y^y^^x ) , i 2^ v X ,7 2' X k> X 5^ ' Ste^l: Find [g^], [^ [^J, [^] From the previous problem, 61 [g 1 : 1 1 1 1 1 1 1 1 [g L ] n 11 110 1 11111 1110 £ g mk ] 1 1 —] 1 1 1 1 1 1 fl '- s nk-' il ! I o l o o ! ! jo o o lj tV 1 1 1 p 1 0_ — 1 ~2 Step 2 : Calculate [£» ], [f, ] from the fundamental formula. [*lm ] ® [i mk ] = [? ft ] a- ^erefore, [ ^ ] a= 1 1 1 1 1 1 °] £**].- 10 10 1 1 r [ f U J a ■ 10 11 110 i 10 0' 1111 Kzh 1 1 — 1 1 1 1 1 1 1 1 1 1 1 If f and f were now found with respect to h[y ,y ,x, ,x ], this would imply that no constraint exists between the elements of the basis, i.e., that they are independent. The constraint with respect to the basis is found by IhJQK J [c /J 1 1 1 1 0_ ® ill 1 111 1 111 1 111 1_ b i i 1 1 i i 1 .L 1 l i 1 I :[c /k ][ y 2'V X 5 ] = h 1 = 101 101 101 101 fo 2 = Oil Oil Oil Oil 1 H = 000 111 000 111 5 h .2 #x_ 5 = 000 000 111 > 111 I a a = Oil 100 000 111 i #f 2 a = on 110 111 101 > 1 i, — 1 y 2 '4 X . 1 -1 : v\ - j $ 1 x r y ? — '■' ■ ■ 1 y i t - - I /. i *£ 2 1 :> F igure 1 7. 63 f a = y 2¥ 5 + ¥A +y 2¥ 5 f a = y 2 X U +y l y 2 X 5 +y i X 5 +y i y 2 X l| At this point, we have f 1 5 . It is now necessary to use type 2 formulas to see if #f - #g» Thus [C,] A [<|>,J = lnH, £m- 10 11 110 I iooo| ® '0000 110 i 1 10 r° 1 *] i 1 ! ° L 1 1 1 li = [£j »[i 'km" 'km- [C.J ® [<|>,J = "ki Jim- 10 11 1110 1111 110 1 © ! 11100 1 [0010 1 1 jl 1 1 11 1 1 1 1 i li 1 1 [ f kiJ ^ s kiJ The above computation may be taken as the substitution of y. (x_,x,J and y-fx^.x.) into f and f , or the means of displaying 123 223 a a that f - g by showing f - s °s a Thus , the functions for 1 JL 2 and f are the desired solution (which includes the constraint) 6k Ledley's Solution of General Functional Equations Ledley's method is the same as Svoboda's, but through the use of charts for the stepwise calculation of the functions f and g , followed by matrix multiplication to find ({), Ledley's method in comparison seems mysterious, and is more laborious. The explanation of the method will be concurrent with the solution of Equations (3»5)* Step 1: Set up a chart which lists : (a) the designation numbers of the coefficient of each unknown; (b) the corresponding unknown; (c) the value of the unknown computed for all possible binary combinations See Table 3-2 on following page. Step 2 : Using Table 3-2, multiply the transpose of each matrix formed in column C by the corresponding matrix formed in column A, This will yield the Boolean matrices [f, ], [g, ], [f p ]> fSp^ wh^ * 1 are equivalent to the Veitch charts of these functions found in Svoboda's algorithm (see Figure P.). 65 Table 3 = 2 -1< \ A. Coefficients and B. Corresponding C. Binary Combinations Designation Numbers Unknowns of Solution y.Yp 00 10 01 11 V #X3_x 2 = 10 y 2 11 J^ 2 = 110 y l y 2 1 #x 2 = 11 y i y 2 10 #x p = 11 V 2 y i y 2 10 ' ^Xg = 10 y 2 11 { #(x 1+ x 2 ) = 10 11 y i y 2 10 | #x 1 x 2 = 10 y l 1 i #x 1 = 10 1 y l y 2 10 f #(x 1 x 2 +x 1 x 2 )= 110 y i 10 1 \#I = 1111 y i y 2 10 itf&^r, = 10 y l 10 10 / #^ 2 = 110 y 2 110 L #x lX2 = 1 y i y 2 10 f U 2 = 110 y 2 110 ] #1 = 1111 y i y 2 10 \#x x x 2 = 1 y i 10 1 #x x x 2 = 1 y i 1 1 Jfx ± x 2 = 10 y i y 2 1 66 ■ 1 1 1 1 1 1 q_ ® 1 1 1 1 1 1 L: o~~ 1 i 1 1 i 1 1 -Vjl 1 1 1 1 1 1 ® 1 1 1 1 1 1 1 1 °1 1 1 1 1 1 1 1 ■ [8, 110 110 10 10 1 10 0110^ ® 1111 10 110 1 1 1 o"" 1 1 1 1 1 1 1 1 1 = [f 2 ] 1110 10 10 ® 10 11 1 1 1 1 1 1 1 1 0_ 1 0_ 1 1 1 1 1 1 1 1 1 = [g 2 ] 67 In Steps 1 and 2, Ledley has presented a systematic procedure for the mapping of f ,g ,f ,g , which was carried out mentally in Svoboda's algorithm., This procedure is unduly laborious, and seems to present no factor which is superior to Svoboda's use of Veitch charts „ The remaining process would consist of finding [(J) ] and [<|> ] based upon (3.2), then finding [(()] = [(|) ] ' [(|) J (where • is logical multiplication of corresponding elements), and finally derivation of the y.' s by the solution array (or a Veitch chart), J Since this is analogous to Svoboda's solution, completing the solution here would be superfluous „ 3.3.U Carvallo's Method [3] Carvallo's method of solution is almost identical to Ledley r s alternate method, in the use of a basis and Ledley ' s "9 matrix multiplication." However, Carvallo's basis is written as a r single column matrix of 2 complete products, and is expressed as x X-, X_« o a oX 12 r X -. X _ • o • X 1 2 i X-, X _ o o o X 12 r 'X-, X_o o e oX 12 r 1 1....1 1 1....0 • • * 9 • e C.,1 o.,,,o (3.23) Thus, the 3-element basis equivalent to (3-13) is Oi (x x ) (x 2 ) (x 3 ) 1 1 1 1 1 1 1 1 1 1 1 1 (3.13') The solution is found from (3°2) or (3»22), but since the designation numbers in the f and g matrices are in columns instead of rows, (3*23) must now be written as W(.,t) ■ t*J(s,d) 6 [ g] (t,d) (3.23') a b where s = 2 , t = 2 , (a and b = number of elements in respective bases) d = number of #'s in matrix (in Ledley's ease, & -»1) . Also, if the number of elements in the bases is small enough (r < 3) so- that the matrix multiplication is not unwieldly, the entire system of equations may be solved in one step (i.e., it is not necessary to calculate 69 [(J) ], [$ 2 ],... and finally [(j)] = TT_ [f]). For, if [f] ( d) - [#f 1? #f 2 ,...,#f d ], and [g] (t d) = [#g 1? #g 2 ,...,#g d ], then ^(s,d) ^ W(t,d) = [ * 1] (s,t) e [ ^ ] (s,t) - [f]( Sjt) = *( Sjt) Carvallo does treat the [§] f ,\ as a veitch chart and thus derives Y (s,t) his solution function immediately. Example : Given : f l^ y l' y 2' y 3^ ~ y l y 2 + " y l y 3 = x i X 3 + ^2^3 ~ g 1 ( x l5 x 2 ' x o) (3.24.1) f 2 (y 1 ,y 2 ,y 3 ) = y 1 (y 2 +y 3 )+y 1 y 2 y 3 - x^+XgCx-j+x ) = g 2 (x l3 x 2 ,x ) (3*24.2) f 3 (y 1 ,y 2 ,y 3 ) = y 3 (y 1 +y 2 )+ y x y 2 = x i ( ^ x 2 +x 3' )+x 2 x 3 ; 3 (x 1? x 2 , x ) (3.2^.3) Find: y^x^x^ , y^x^x^ TO Step_l: Find [f] (8 3) , [g] (3>8) (s = 2 3 = 8, t = 2 3 = 8, d = 3) (#^) (#f 2 ) (#f 3 ) [f] = r° 1 1 1 1 10110001 (\) 1 1 T [g] = 00111101 (#g 2 ) 1 1 11101000 (#g 3 ) 1 1 1 1 1 St ep 2 : Find [^(q 8 ) = [f] © [g] (Figure 18) y l y 2 y ^ 1 ■ 3 1 1 1 1 1 1 1 1 iffUrT: [<)>] 71 Step 3 : Find y^y , By treating [(])] as a Veitch chart, immediately y i = X 1 X 2 +X 2 (X 1 +X 3 ) y 2 = x 1 x 2X3+ x 3 (x 2+ x 1 ) y 3 =X 2 Note that the variables in the above Veitch chart are the complements of the standard notation used throughout this paper. This was necessitated by the fact that Carvalio's basis is the reverse of the BCD code used by Ledley. 3.k. "Truth-Table-Logic" Method Given the set of relations (3d) , it is also well known that they may be combined into the single equation _ n <|> = Z (f © g ) = (3o25) k=l k k which is simply the complement of (3.2), This equation may then be expressed as a sum of minterms of x ,x , „..,x multiplied by coefficients which are functions of y ,y , . . . ,y . This method of J_ c. s 72 attack is the basis of a laborious algebra (whose applications are extended in [h]) which is very similar to the method developed in Section 3.5« In order to avoid duplication, only the latter will be [151 presented, and attention will be given to Phister's more useful method o Phister's other technique is that of "truth-table-logic", It simply defines a systematic procedure for deriving a truth table, containing all binary combinations of the independent variables, by logical reasoning,, Although this technique is most obvious, it has limitations: the equations must be of the form f (y ,y , . ,, ,y , J- £- o x, ,x , t ..,x ) = g(x ,x , . „ . ,x ); it is only good for simple equations with few unknowns, such as the input equations for memory elements (Phister's examples are only for flip-flops); constraints are necessary for a general solution. The steps are: Step 1 : Record all input combinations of the independent variables and the corresponding truth values of g(x ,x , ,.=,x )« Step 2 : By logical reasoning, determine truth values (including don't-cares) of the dependent variables. Step 3 » Form the general solution of y.'s by regular truth table J technique* 73 Step k : By means of a Karnaugh map, find the simplest solution by- assigning specific values to the don't-cares. The simple example below was taken from [15], pp. 121-12^-, and the truth table below is Steps 1 and 2 combined* Example : Given the equations of an R-S flip-flop S + m = g 1 Q + g 2 Q RS = where g and g represent Boolean functions of whatever variables determine the state of Q; g , g p , and Q, are the independent variables, Steps 1 and 2 : The derived truth table is Table 3*3 below. Step 3 - Find the general solutions,, From Table 3.3, R = ^gjgg^ + g i q + d J+ g l S 2 Q S = g 2 Q + d g^Q + d^g^Q (These may be checked by substitution into the given equations.) Table 3*3 g 1 Q+g 2 Q 7U Q = S + RQ 1 1 1 1 1 1 1 1 1 1 1 1 d o 1 1 1 1 \ 1 d 1 1 1 d Step k: Simplify the functions by means of Karnaugh maps (Figure 19) lit Q 1 d ^ d 7 1 WW Q R = S 1 Q S = g 2 Q Figure 19 75 3„5 Parametric Method So Rude arm 9 obtains the general solution cf functional equations in parametric form, and also expresses the solution as an explicit function of the given independent variables, It has been previously shown that a system of equations (3.1) may be expressed as f(y 1 jy 29 o..,y s ,x l9 x 2S ...,x r ) =0 (3*26) by means of (3°25) ? (the complement cf (3.1)). Furthermore, it is well known (cf„ eg», [3] 9 [15] s [19] ) that a Boolean equation in a single unknown may be written as ay + by = (3.27) for which ab = (3.28) is the necessary and sufficient condition for the existence of a solution o The solutions of (3«27) are constrained by b < y < a (3°29) and all such y's are solutions. 76 Theorem 3-3' The parametric solution of (3.27) is y = b + p (3.30) where the parameter p is constrained by P for if p = by < a b, then b+p=b+y=y. The algorithm for finding the parametric solution is as follows: Step 1 : By means of (3.25), change the system of equations to the form of (3.26) and call this f, (all variables present) , so f 1 (y 1 ,y 2 ,.»» ? y s ) = o (3.32) where the independent variables are implicitly understood. 77 Step 2 ; (3-32) is consistent in y i ff f 2 (y 2 ,...,Y s ) s f 1 (0,y 2 ,...,y s ) f-Jl^, . . .,y g ) =0 (3.33) Thus, in the i-th step, find f i+1 (y i+1 ,...,y s ) =f i (o,y i+1 ,...,y s )f i (i,y. +1 ,...,y s ). (3.3*0 Proceed with the successive elimination of dependent variables until finally, f (y ) sf n (0,y )f , (l.y ) - (3-35) n V0 V n-l v ,J V n-l v ?J V u J;y Step 3 : Solve (3-35) for y by means of (3*30) and (3-31) Step h: Substitute the solution for y into f n (y . ,v ) = * — J n n-l u n-l"n' to obtain an equation in the single unknown y : Wn-l'rt = ° (3 - 36) By successive reintroduction of the unknowns (reversal of Step 2) , find y ,y , . . . ,y in parametric form, Step 5 ; Find the explicit solutions in the form of (3.3) by stepwise tree-like deductions. 78 Example : Solve the system of equations f a (y i' y 2 } - y l +y 2 X 2 - y l (x l + V X 2 )+y 2 (x l X 2 +y l X l X 2 ) " g a (y l' y 2 } f b (y ] _jy 2 ) - y 1 (y 2 + x 2 +x 1 )+x 1 x 2 = y 2 ( yi +x 2 )+y iy2 ( Xl +x 2 ) =g b (y 1 ,y 2 ) Step 1 : f 1 (y 1 ,y 2 ) b • Z (f. © g.) i=a 1 i = [y 1 +y 2 x 2 ] [ (y^^+y^Xg) (y 2 +y 1 x 1 -Hy 1 x 2 +x 1 x 2 +x 1 x 2 ) ]♦ [7 1 (y 2 +x* 2 ) ] [y-L ( 3C i + y 2 +X 2 ) +y 2 ^ X l X 2 +y l X l X 2^ ) ^ + ^1 ^2 +X l +X 2 ^ +X 1 X 2 ^ [(yg+y^g)* x 1 x' 2 (y 1 +y 2 )]+ [(y 1 +y 2 x 1 x 2 )(x 1 +x 2 )] [y^y-^) ^ygC^+Xg)] = yiL"y 2 ^ x l + V +y 2^ X 1^2 +X l X 2^ +y 1 [y 2 (x 1 x 2 +x 1 x 2 )+y 2 (x 1 +x 2 )=0 79 Step 2 : f 2 (y 2 ) = f^o^f^i,^) = [y 2 (x 1 x 2 +x 1 x 2 )+y 2 (x 1 +x 2 ) ]• [y 2 (x 1 ^x 2 )+y 2 (x 1 x 2 +x 1 x 2 ) ] = x 1 x 2 y 2+ x 1 x 2 y 2 Step 3 : a = x^ b = x^ p < (x^x^ (x 1 +x 2 ) = x^+x-jX, Thus 2 y 2 = b + P = x x x 2 + p p = or x_x_ or x„,x_ or x_x_+x_x_ 12 12 1212 and there are four different solutions for y^. . Step k : f 1 (y 19 p) = y 1 [(x^+p) (x^x^ rp^+x^ (x^+x^) ] y 1 [(x x g +p) (x 1 x 2 +x 1 x 2 )+p(x 1 +x 2 ) (x 1 +x 2 ) j BO = [(x 1 +T 2 )p+x 1 x 2 p ] y^ [ x 1 x 2 +x 1 x 2 p+p(x 1 x 2 +x 1 x 2 )] y ± Thus, y = x 1 x 2 +x 1 x 2 p+p(x 1 x 2 +x 1 x 2 ) + q where q ^ a *b = ° Step 5 ; Find the explicit functions for y and y , (a) For p = 0, y g = x^ y l = X l + X 2 (b) p = x^, y 2 = x y l =X 1 (c) p = x^Xg, y 2 - x 1 y l ~ X 2 (d) p = x^g+x^g, y 2 = x 1 + x 2 y l = X 1 X 2 81 Remarks: lo The parametric form may be avoided by immediately solving for all possible values of y and then substituting these into the successive equations f . (y . ,y ) , f _(y _,y _ ,y ) , etc This results in ^ n-1 n-1' n ' n-2 n-2 SJ n-l 5 n 3 a more discernible solution tree G 2. The labor of Step 1 is equivalent to that of Step 1 in Ashenhurst's algorithm, but the remainder of The solution is easier in the latter methods,, Consequently , the parametric method does not seem to offer any advantages , and its use should be very limited , 3,6 Summary and Applications Of all the methods of Section 3$ Svoboda's algorithm is probably the most efficient , while still maintaining generality,, For the specific type of Equation (3el0), Maitra's methods are simpler than those of Ledley, although Ledley's solutions seem less complex as one practices using them, and " products" ease the number of calculations, as in Carvallo's method „ The techniques of Ashenhurst and Phister, although the most basic, should be employed to solve only the simplest equations with very few unknowns , and the former should be used in preference to Rudeanu's parametric method „ '& The most obvious and widespread use of the solution methods for simultaneous Boolean functional equations is logical circuit design. The three problem types solved by Maitra and Ledley were explicitly shown as circuit design problems, as was the flip-flop problem solved by Raster. Moreover, the general methods of Svoboda and Ashenhurst can be used to solve any type of logical circuit design problem* [2] George Boole devised Boolean algebra as a symbolic interpretation of logical reasoning. There are innumerable everyday problems , in such diverse fields as biochemistry, tactical warfare, economics, and psychology, to which Boolean equations may be applied. These are called word, logic , or sentential problems s and are based upon the feasability of expressing a given proposition as a Boolean function,, Table 3°*+ below, taken from p 318 of C^]> lists the translations of English connectives 9 which are used to formulate the problem. Table 3 a k English connective Logical Translation IN O U x\o0ooo09ooeoo006oaooaoooooeoo6oo6oooooooo0 o o 4 o o o o 6 o o a c /> o & Q 6 e o a o a o a 6 e o I1. j3> A or (inclusive) B; A or B or both. „ „ „ „ ao . „ . „ .A + B 83 A or (exclusive) B; either A or B. . . . . . . . .A / B, A°B + A°B, A © B r\ OU u JJooooo«oooooeooooooooooooooooooeoooo -t\ ]D l\ aJ-IiilOUgn -Doo«ooooooooooooo»oooooooooooo • -H, JD A unless B •••.■•.o..B**A, B + A A on condition that B» <> <> <> o . . ° « „ » <> <. „ « <> <> <> „ » „B -» A, B + A }\ XX .Dooooooeooooooooooooooooooooooooooooo-D ™ xTu g 13 ~>~ r\ A implies B; if A, then B.„.,........., t .A-»B, A + B A only if B. o o o o o o o o o o o o o o o o o o . . o o o o o o o o o oA -&> B , A + B Not unless A then B„ . „ » <. » „ o . » . . . . . . . o . . <> . <>A~-^B, A + B A provided that B „ „ „ „ « <, „ <, „ „ « „ » » <> <> <> . » » „ <> . » .B ->■ A , B + A A as well as Bo » . . . .... » . . . a . . ... . « »« . . . . »A*B A if and only if B. . . . . . . . . . . . . . . . . „ . . . . . .A = B, A°B + A«B Not both A and B . . . . . . . . . . . . . . . . . . . . . „ . . . . aTb , A + B~ Neither A nor B. . . . . . . . . . . , . . . . . . . . . . . . . . »A°B 5 A + B When A, then B, . . . . . . . . . „ „ „ „ . . . . . . . . . . . . <,„A-»B, A + B Problems of this type may be used to investigate consistency, redundancy, or relationships between facts, or to find simultaneous equivalences and implications. (See Section 5.2). Ledley's antecedence and consequence solutions are especially useful in problems concerning deduction techniques. & Many fine examples may be found in [10] , pp. l +05-Ul5, U76-U83, and in other sources quoted therein. For a basic discussion, see [20]. The use of simultaneous Boolean equations in the design of sequential machines is suggested by the method in a paper by [17] N„ Rouche . Briefly, given a system of equations of the form (3«3) ? (in previous methods, this was the solution) , Rouche transforms X l = x i^i^2 soo ' ,V s ) X 2 = X 2^ y l' y 2» ,M,0 » y s^ (3.37) * c a X r = x r ^ 1 ^2 30O09Y s ) into a matrix representation of a sum of minterms. The derivation is based on (3°27) - since cnly the use of the matrix is of importance here, the derivation -will not be discussed, but it should be obvious - and results in a matrix which is actually a Veitch chart mapping x„ = f . (y.. ? y p , . . „ 3 y^) . For example, if r = s = 2 in (3«3)j then the given (mapping) equations are y l = b ll x l x 2 + b 12 x l x 2 + b 13 X A + b l4 x l x 2 (3.38.1) 85 y 2 = b 21 X l X 2 + b 22 X l X 2 + b 23 X l X 2 + b 2^1 X 2 (3 ° 38 ° 2 ) and the matrix-Veitch-chart is [B] = y -i y p b ll b 21 b 12 b 22 b 13 b 23 'x 1 b lU b 2U b ll b 2l b 12 b 22 b 13 b 23 b lU b 2^ b ll b 21 b 12 b 22 b l 3 b 23 b 1^2l| b ll b 21 b 12 b 22 b 13 b 23 b lU b 2U (3.39) Ledley points out that [B] is only a special case of his [R..] matrix (denoted as [{)...] in this paper; see [10] s pp. 356-36O5 396-^00) or, in other words, the problem is a, special case of the antecedence and consequence problem. It was shown that in Type 2 and Type 3 problems (in which the y.'s are given), J [(p.. J has a single unit per column; this is also true of [b] . Also [bJ is equivalent to the transition matrix in 86 "The Theory of Nets," by F. Hohn, S. Seshu, and D. Aufenkamp, IR E Transactions on Electronic Computers , VoJLume EC-6, September 1957, PP. 15^ - 161. If the y^'s are interpreted as the next state (i.e„, the state of a machine after an advancing pulse t) and the x. ' s as the present state (before the same pulse t) , then the matrices [bJ and [({>..] represent the "state matrix" of an autonomous sequential machine, and the state diagram for the machine may be drawn. If the machine is in present state n, the next state will correspond to the row subscript of the single unit in column n. Example : Find the state diagram for the machine defined by [b] . [3] = 1 1 1 1 1 1 1 1 87 The equations defining this machine are: y n = x n x^ +x.x„ °± 12 13 y 2 = x 2 x 3 +X;L x 2 x 3 y 3 = V +X 1 X 3 Since row 7 has no units, it must be an initial state. The state diagram will he found starting with state 7 (figure 20) Figure 20 , k. PARTICULAR SOLUTIONS OF GENERAL BOOLEAN EQUATIONS The methods of this chapter are concerned with solutions which assign a definite value (0 or l) to each bivalent variable of the simultaneous equations * U.l Logical Algebraic Methods ll.l.l. Ashenhurst ' s Algorithm This method is simply the special case of the algorithm outlined in section 3°2, and is based only on theorem 3«1» It is only necessary to find *, as in (3° 2) without using any equations of (3d) which are of the form f =0, * (do not use the second equation) t>* = [ (x 2 +x 6 ) (x 1 +x 3 )+x 1 x 2 x 3 x 6 ][ x 3 x u x 6 ][ ( X;L +x 3 +x u x 6 ) (x 5 +x 6 +x 2 x 3 ) '/; (x 1 x 2+ x 1 x 6+ x 2 x 3+ x 3 x 6+ x 1 x 2 x 3 x 6 ) (x 3 x u x 6 ) (x^^ X 2 X 3 +X 3 X 5 +X 3 X 6 +X U X 5 X 6 +X 1 X 3 X U X 5 X 6 ) = x 1 x 2 x 3 x 1+ x 5 x 6+ x 1 x 2 x 3 x u x 6 ♦* = x l x 2 x 3V 5 x 6 + X 1 X 2 X 3 X U X 5 X 6 + x l 5r 2 X 3 X '4 X 5 X 6 Step 2 : Eliminate any minterms containing the terms of the second equation. The middle term of §* will vanish, since it contains x x , Step 3 ' The solutions are: (a) x ± = x h = x 6 = x 2 = x 3 = x 5 = 1 (b) x 2 = * k = x 6 = Xl = x 3 = x 5 = 1 ^.1.2. Grigor ' yan ' s Algori thm [6] Grigor 'yan has proposed the following algorithm for computer solutions of simultaneous Boolean equations. It is based on set theory, but it will be shown that the corresponding logic theory leads directly to Ashenhurst's method. 91 Let U. (i=l 3 2, . . . ,k) be any subsets of some set M, which has a system of characteristic functions 1, if x eU, i V x) = ) (x€M; i = 1,2,..., k) {k.l) 0, if x 4\3. i Suppose we require Y. = ° . , where a p J ?> • a • ' a ±> '"> a y is an arbitrary sequence of 0's and l's; this results in a system of characteristic equations which are satisfied by a given x if and only if xrU. whenever c , = 1 i i and x ^U. whenever a . = • i i C-+.2) Thus ? the given equations Y. = 3. determine a unique subset of M. Indeed, if (*+.2) is true for all xeG, (G c M) , and for no other x., then G will be the solution* A necessary and sufficient condition for the existence of a solution is obviously that G is not the empty set. Let q and p be the numbers of Is and 0's, respectively, in the sequence of a 's. U, D, and \ are the set-theoretic 92 operations of union, intersection, and relative complementation (subtraction), respectively. Then G will be found as A \A flB (U.3) Q. Q. P where (o = l): A =Ou. ; (o = 0):B = U U. (4.U) q i r ' P 1 a=l * p-1 ch p Note that depending on the U. sets, G may be empty, finite, or infinite, resulting in no solutions, a finite number of solutions, or on infinitude of solutions, respectively. A system of Boolean functions may be uniquely represented in disjunctive normal form, such as i Y. = 2 F. .N. (i=l,2,...,k; £=2 m -l) (If. 5) 0=0 m (j= ^ x 2 m - r ) (4.6) r=l where N. is the minterm whose m binary variables correspond to the J decimal number given by 3; each coefficient F. . has a value of or 1 equal to the value of the function Y. for the value assignment that makes the value of N. equal to one. J 93 Every logical function Y. in (4.5) can be put in a one-to- one correspondence with a subset U. cm, where M. = (0,1,2, ... ,2 -l) , and where U. is the set of decimal numbers corresponding to the minterms in Y. . Therefore, i \(j) = r i, if 3 eU (4.7) v o, if j fv ± The solution of the set of equations Y. = o. (i=l,2,. . . ,n) may now be found from (4.3) and (4.4). Example : Given a system of 6 equations in 100 variables; they will be represented as in (4.5) , but for convenience, only the decimal representation (i.e., j) of the minterm will be used. Y 1 = (0, 3, 6, 10, 13, 22, 36, 72, 209, 504) Y 2 = (2, 6, 9, 13, 19, 22, 86, 209, 4ll, 1031) Y 3 = (1, 3, 6, 7, 13, 22, 100, 158, 209, 1000) Y h = (0, 5, 6, 13, 15, 19, 22, 77, 198, 209, 612) 9^ Y^ = (5, 6, 13, 28, 91+ , 106, 601, 2 100 -l) Y 6 = (6, 25, 63, 111, W+, 980, Uooo) CaseJL: Y 1 = Y 2 = Y 3 = Y^ = 1, Y^ = Y^ = St ep 1 : Find A and B K — q P A^ - (6, 13, 22, 209) B = (5, 6, 13, 25, 28, 63, 9*+, 106, 111, Uhk, 601, 980, 4000, 2 100 -l) Step 2 : Find G = A \A Hb — K — q q P G = (6, 13, 22, 209)\(6, 13) = (22, 209) These are the two solutions Step 3 ' Assign binary values to the variables J In "binary, 22 = 0" ••• 0010110 .* x rv: =x r .Q=x or .=l, all other x's = 0, 9o 9° 99 209 = •••• 011010001 .% x =x .^x^^Q^l, all other x's = 0, 95 Cas e 2: If Y =Y =Y =Y, =Y =Y,=1, A Hb is the empty set, and 123^5 oq,p ' G = A . In this case, A =6, which is the unique solution. Instead of finding (k.3) by set-theoretic operations, the corresponding logical function may be found as g = a q • (a-rTTp) ( i,. 8) where q p a = IT Y b = S Y (U.9) q a=l a P [3=1 X q4^ If the given equations are in the form of (3.1) , they may be converted to the characteristic functions Y. = 1 by forming Y. = f.g. + f.g. = 1 (^.10) l ii ii and thus b =0. Expanding (^-.8) yields in this case P g = a(a +F)=ab = a (U,n) q q p q p q v<+.xx/ and finally, from (h.9) 9 g = ~[Y(t & + t ± R ± ) (h.12) a=l 96 which is identical to (3.2). Thus, the method for finding the particular solutions would he that of the preceding section. k.2. "Map" Method [13] This method by Nadler, is just a simple case of Svohoda's method. Nadler assumes equations of the form f i (x l3 x 2 ,„..,x r ) = (i=l,2,...,n) (1+.13) and maps each function on a Veitch chart (a Karnaugh map may also he used) . The solution is then found as the intersection of the n maps. For the more general equations of the form (3.1), the equivalent method would he to form n maps of the Boolean function (J) , as in (3-8) ; then find the intersection of these maps as (|). These are precisely the first two steps in Svohoda's algorithm. Furthermore, Nadler mentions, as did Svoboda, that R (U.13) In other words, a function of bivalent variables which assumes some real value (not necessarily or 1 as in a Boolean function) for all possible inputs is a pseudo-Boolean function. Furthermore, if a one-to-one correspondence is established between the real numbers and 1 and the elements of B , then Boolean functions are just a subset of pseudo-Boolean functions, since for every Boolean function h : B*—* B 2 (k.lk) Pseudo-Boolean functions most frequently have integer values; indeed, these functions are called "integer algebraic functions" [51 [8 ] by R. Fortet J . The following method by P. L. Ivanescu ro I and S. Rudeanu for solving simultaneous pseudo-Boolean equations might also be used to solve simultaneous Boolean equations, but it will become obvious that this would be a trivial special case. The method itself is a systematic tree-like construction and is derived from Rudeanu' s method of Section :3«^> The general form of a linear pseudo -Boolean equation Is a l X l +b l X l +a 2 X 2 +b 2 X 2 + **°' +a n X n +b n X n = k ^'^ where a., b. (i = l 9 2 so ..,n) and k are given reals, and a.^b. for all i. If any a.^ or b."' 0, substitute either l l x. - 1 -x„ (for a. <0) (**.l6) or x = 1 - x (for b. <0) (*+.17) into (^-.15) and collect terms,, Tae i-th equation is now written in the "canonical form" c^ x. + c^ x. +C...+ c* x. = d x (^18) 11 2 2 mm where x = x or x ? x„ 9 „ „ . s x„ are the variables of the i-th equation 1 m of the system (of n variables) s and cf > c* >...>. c* > (U.19) X l X 2~ ^ 101 •rl •H -d d c o ii ii •H -p ■ra •r-3 CO , ,H •H 3 2 X c X . • % O d H II II ■ CD II II ^J ■ Cm M II H •— • •H H rH + II C ft •H ? X •H cX , «H , i-l H H cX ?X II 8 •H X CO. M ttO d c -d B 0) •h a; w •H X M X w W G M -H Oi -H H W QQ. C C O cO Ch cu c,-, + CD «n O o •H O o S rH M rH CO < > OS cO ft > CD W , H ^ O e EH ft £3 A •H A| d ,^~. •H E S S d •H -H O II -H tH O *s /\ Al ft •H -H Al 6 o O ft O *\ •H cu •H -H • « CM J" 3 w 11 O • II e\ V CO V d • d H o •H •H C f— ! • II ttj 13 TJ cO O Al rH S • Al O r-\ T-3 •H •H -H CJ A + II + 7? H A ft A ft V E W II rH •H -H rH -rl -H •H ■r3 •H -H -H O ■H -H -H O O d O A| do A •H d T3 C cO o O O O o o fe rH OJ 00 -=]- LT\ 1 H •H -r-l O •rH T3 II •r-3 ? X •r-D •H «H O g W II •r-D H ■H -r-l O 1 •H 'd 11 •r-D •r-D iH -H a g W ti •r-D •H II 1-3 *X •r-D i-l i-l O T"3 r-l II g ?x H II * II H 1>T H II rH I X II H H to O II H ?X CVJ CO All of appearing variables fixed 0) rH ■s -H T3 ^ i-i 0) a o O «Z2 ? a> -p ■*■< -p U H (O 05 -H JO 0) .H « rH W iH a> ra II rH II T-a °f~3 i-l -H •> — a •H v gw'ii •H i-H O some of the variables are fixed. 2. Partially determinate - If there are no determinate equations , those falling into case h would be first treated; in this case, the attack is split into p + 1 cases, each with increased information, 3. Indeterminate - This is case 8, where almost no information is available, and the attack is split into 2 cases (when all of the system equations are indeterminate) . ioU Example : Solve the system of equations -x 1 +i+x +2x 2 -2x 1+ +x 1+ +6x -8x 6 = 5 (U.20.1) x 1 +x 3 -3x 3 -5x 1+ +x 6 -x 6 +2x 7 = -i (U.20.2) -9x' 1 -3x 2 +i+x 2 +i+x 3 +5x 6 -x 7 +x 7 = -k (U.20.3) -3x 1 +2x 1 +7x -2x 1+ +2x ]4 -x 5 +2x 6 = k (U.20.U) The transformations of (H.l6) and (U.17) change system (U.20) to 8x.+6x +5x 1 +3x, +2x = 16 (U.21.1) 5x^+Ur«+2x 6 +2x -hx =8 (U.21.2) 9oc L +7x 2 +5x 6 +^x 3 +25E 7 = 9 (^-21.3) 7x +5x +i+x^+2xV-Hx = 10 (lf.21.U) Equations (U.20) are the "canonical" form of the system., Note that (U.21.3) is the partially determinate case h 9 while all others 105 are in the indeterminate case 8. Thus, there will be p + 1 = 2 possibilities: ( Of ) v = l, x =x^=x =5L,=0, and ( P )x = 0. Case ( a ) : Xj^^x^l, ^ 3 ^=° This will eliminate (4.21.3) and change the other equations to 6x +^ = 6 (4.22.1) 5*^ = 5 (4.22.2) 4x, +x = 1 (4.22.4) From (4.22.2) , x, = 1, which results in x = 1 from (4.22.1) and (4.22.4). Thus, the total solution is x^=x =x.=x =x=l, x =x,.=0, Case ( p ) : x = transforms (4.21) to 8x" 6 +6x +3x^+2x2 = 11 (4.23.1) 5x^+4x +2x 6 +2x_ = 8 (4.23.2) 7i 2 +5x 6 +Ux 3 +25E 7 = 9 (^.23.3) 7x +4x^+2x 6 +x =5 (4.23.4) 106 (^.23.^) is the determinate case 3 (all others are indeter- minate) ; consequently, let x =0 (i.e., x =l) . The system becomes 8x 6 +6x +3x^+2x 2 = 11 (1+.24.1) 5x^+2x^+2x = 1* (U.2U.2) 7x 2 +5x 6 +2x 7 =5 (U.2U.3) Ux^+2x 6 +x =5 (U.2U.U) (U. 2k, 2) and (U.2U.3) are case 3, and (k m 2k.k) is case 7 (note that these cases have the same priority) . Since x. = x, in (^.2^.2) and X l (k.2k.k) , it will he more convenient to treat one of these first, Thus, choosing x, = yields the system 8x 6 +6x +2x 2 = 8 (U.2541) 2x 6 +2x = k (^.25.2) 75^+^+25^ = 5 C^.25.3) 2x 6 +x = 1 (±J25«X) io<7 (4.25.2) is the determinate case 6 which has higher priority than the other equations. Hence, let x^- = x = 1, yielding 6x +2x 2 =8 (4.26.1) 7x 2 = (4.26.3) x = 1 (4.26.4) 5 The values x =1, x_~l. obtained from (4.26.4) and (4.26.3) 5 2 respectively, satisfy (4.26.1) ; therefore, the complete solution is x. = x k =0 > x n =x o =x h~ x f.- x r7-^- - Th e families of solutions found in cases ( QJ ) and ( p ) are summarized in Table 4.2. Table 4.2 X l X 2 X 3 X k X 5 X 6 X 7 110 110 1 Note that there are 2 = 128 possibilities for solutions, and the only two solutions were found directly with no wasted effort. io6 k.h. Summary and Applications As in Section 3, the map method is the most efficient method for normal problems. Ashenhurst's method may be used effectively for very simple systems. Grigor'yan's "set-theory" method is the only one adequate to handle large systems with a great many unknowns, although a computer program may be required. The algorithm for the solution of pseudo -Boolean equations is quite compact and systematic, and is one of the most efficient methods of solution yet devised for problems of this type. The methods for particular solutions of Boolean equations are particularly useful in the design of logic circuits, where the low and high potentials are represented by and 1 levels, respectively, Pseudo-Boolean equations are especially important in linear programming methods of operations research, used to solve all types of problems, and most frequently, those in economics and business. The solutions of these equations are also beneficial to the theory of graphs and flows in networks, as well as in switching algebra . Ivanescu and Rudeanu extend their system to include inequalities. The procedure remains the same: ^ obtain the system in "canonical form," make conclusions based upon determinate, 109 partially determinate, and indeterminate equations to reduce the system, continue the tree-like construction of the solution until all possible solutions are obtained. A special table, similar to the one for equations, is required, but by including inequalities, the power of the method is greatly increased, especially for use in linear programming. (See [8] , pp. 23-52). 110 5. RELATED TOPICS The folio-wing topics are either extensions of the methods of Sections 3 and k, or are related to the solution of simultaneous Boolean equations in a manner -which engenders them as areas of future study „ 5.1 Programmed Methods In -view of the amount of labor which would be required for equations more complex than those given in the examples, programmed methods should be very valuable, Grigor'yan mentions that a program has already been written for his method; moreover, since it was shown that his algorithm is analogous to Ashenhurst ' s, the latter method is also programmable. The map and matrix methods use graphical devices for performing the logical expansion of equations. Since the computer would now do this, these methods would be superfluous; however, it would seem that they too could be easily programmed, and probably with greater ease than the logical algebraic methods. Certainly Ledley's methods would be of great use with a computer manipulating a finite number of designation numbers „ Ivanescu and Rudeanu also mention that their technique is being programmed. Indeed, it would seem that the simultaneous solution of Boolean equations by • computers might become instrumental in the design of new computers. Ill 5.2 Simultaneous Implications In Section 3*6, it was shown that many word- logic problems consist of propositions in the form of implications, i.e., if A, then B. Furthermore, if A-*"B, Ledley's consequence solution stated that #B must have a unit at least in all positions where #A is a unit. Thus, Ledley's solution of general Boolean functional equations can be modified slightly to solve systems of simultaneous equivalences. If f ^ A-^B = g , form the f and g matrices in the K K K. K usual manner. At this point, it is more convenient to think of the remaining process in terms of Svoboda's algorithm. The map of (j) will be formed by placing a only where a cell in f is 1 and the corresponding cell in g is a zero; this is the result K of the implication. The remainder of the solution is unchanged. 5.3 Systems Other Than Binary Throughout this paper, all methods and problems have considered only bivalent variables, since this is the most common case. However, many of the techniques may be extended to systems of ternary variables, quaternary variables, etc. For the strict map methods, such as those of Svoboda and Nadler, the only requirement is the extension of the Veitch chart to the new bases. 112 For example, in a ternary system, there will be 3 possible combinations of n variables. A sample map of three ternary variables is shown below in Figure 23. In this chart, x=l, x=2, x=0. y «= 1 y »= 2 ■= y x 2 = 2 * x 2 Xg * 1 x x = 2 = x 1 X l P 1 Figure 23 It is necessary to define the logical operations of all new bases . For radix three, the logical operations of AND, OR, and NOT are defined as follows : 113 AND 1 2 1 1 1 2 1 2 OR 1 2 1 2 1 1 1 2 2 2 2 2 NOT 1 1 2 2 Defining operations for logic of any base is easily accomplished by noticing that the value of a OR b is the greater of the values of a and b; also, a AND b takes the smaller value of a and b, while NOT permutes the values cyclically. Hence, for (m+l) -valued logic, the logical operations would be defined as AND 123 ...ffl ... 1 1 1 1 ... 1 2 1 2 2 ... 2 3 1 2 3 ... 3 • i .'• r o'.'(»y '*"*'■ ■>.. " a m 1 2 3 ... m OR 1 2 3 . . . m 1 2 3 . . . m 1 1 1 2 3 . . . m 2 2 2 2 3 . . . m 3 3 3 3 3 . . . m • • « m m rn m m . . . m NOT 1 1 2 2 3 3 k * • i m 11^ Having defined the set of logical operations, Ledley's methods may be extended for any new base. For ternary variables, b [x ,x ] would be b [x 1? x 2 J #x = 012 012 012 #x 2 = 000 111 222 Designation numbers are found as usual, but in this case, the new symbol, x, is possible. For example, z = 120 120 120 I = 201 201 201 For Type 2 problems, the solution is unchanged, except the new definitions of logical sum and product are used in the matrix multiplication. For Type 3 problems, a new kind of matrix multiplication must first be defined; this results in antecedence, consequence, and "intercedence" problems, whose solutions are of no greater difficulty than those in the binary system. Type 1 solutions may be found as before by the matrix product; for (m+l) - 115 valued logic, an m is recorded in [(J)] , instead of a unit, as in the "binary system. (For further details, see [lOJ, pp. kY9-kSk.) Extending the logical algebraic methods would simply entail the use of the new symbol x in the equations, and expansion "by means of the newly defined logical operations. 5.U "Physical Mapping" Instead of using a graph, such as a Veitch chart, to evaluate a function for all possible combinations of variables, Postley describes a method using IBM cards. If the 12 rows and 80 columns of a card are regarded as 2 rows of U80 columns, each card could be punched to represent some combination of n (n < ^80) bivalent variables. It has been previously shown that a function may be represented as a sum of minterms. If each "type I" card represents a minterm, then column q is punched in row 1 if x is in the minterm, or in row 2 if x is in the minterm. In this manner, Type I card decks representing each equation may be compiled. Type II cards represent the value of each of the n variables at time t. If at time t, x, is true, row 1 in column k 7 k 7 is punched; if x, is true, row 2 is punched, but in either case, both rows of all other columns are punched. The deck of Type II cards for time t is called the "this time table." 116 If each Type I card is then sighted against the "this time table," this would be equivalent to evaluating the functions and a "next time table" may be formed. This system was devised for the sequential equations of flip-flops, but could be extended, in a manner similar to Grigor'y an ' s algorithm, for the determination of the particular solution of general equations. Represent an equation as the sum of minterms, and let each minterm be represented by the number corresponding to its binary value. The first 256 positions of a card would correspond to all the possible minterms of 8 variables. By punching all positions except those corresponding to the minterms in each equation,' and then sighting the deck of equation cards, the solution is simply the unpunched terms in all equations. This is equivalent to mapping § , and would seem to offer no advantage to a similar mapping on a Veitch chart. 5.5 Boolean Ring Equations It has been shown that a soluable Boolean equation: f(x l5 x 2 ,...,x n ) =0 (5.1) may be expressed as a sum of minterms and corresponding coefficients, as in (5.2) . 117 a l X lV ' 'V a 2 X lV • -V- • - +a 2 n X l X 2- " ' X n = ° (5 ' 2) This is called the "normal form" of (5.1), and the coefficients are called the "discriminants" of the equation. A necessary and sufficient condition for the existence of T?S 1 a unique solution to (5.2), first obtained by Whitehead , is a x a 2 a = (5-3.1) and a a. =0 (i / j) (5.3.2) The elements of a Boolean algebra form a Boolean ring with respect to the operations e and • . The operator " © " is called "ring sum" in this case, and is defined as usual: a © b = ab +ab ( 5 . h) A Boolean ring is a ring with unity in which all elements are idempotent. The following relations are true: a © a = (5.5) a © = a (5.6) 118 From (5.8) , a = 1 © a (5.7) a+b = a © b © ab (5.8) a © (b © c) = (a © b) © c (5.9) a © b = b © a (5-10) a(b © c) = ab © ac (5.11) a+b = a © b iff.'ab = (5.12) Thus, (5.2) may be written as a l X l X 2'" X n ® a 2 X l X 2'" X n ® "* ® a n X l X 2*" X n = ° ^.13) By means of (5-7) , (5.13) may be written as b l X l X 2*" X n ® b 2 X l X 2*" X n-l ® "' ® b n = ° (5.1*0 119 This equation is called the "O-normal ring form" of (5.1) , and the b's are called the "normal coefficients." It is also easy to sho-w that any Boolean equation may be expressed in the forms a lXl x 2 ...x n ea 2 x 1 x 2 ...x n © ... ©a ^^..^ = l (5.15) and P l x l X 2" ,X n ® P 2 X lV * ' X n-1 ® ••• ® 6 n = 1 (5.16) called the "1-normal logical form" and the 7l -normal ring form," respectively. In a lengthy paper , Parker and Bernstein derive numerous conditions for the unique solvability of Boolean ring equations of the forms (5.1*0 and (5.I6) . These criteria give conditions for the normal coefficients and are obtained in several ways: by analogy to the conditions of logical equations, by direct deduction of ring equations, and through the use of determinants or "complexes" (special matrices similar to determinants). No actual methods of solution are given, but the feasibility of solving systems of simultaneous Boolean ring equations is distinctly proven. The particular solutions of simultaneous ring equations may be found by the map method of Section k.2. ,• Each equation is mapped on a Veitch chart, and the intersection of the maps is the required solution. The mapping is done by evaluating the equation for the 120 binary variables of each cell, and placing a unit in each cell which yields an identity (i.e., the equation is true). This is facilitated by considering the ring operator to denote addition modulo 2, and is made still easier if the equations are given in normal logical or normal ring form. 5.6 Sequential Equations Methods for the general and particular solutions of simultaneous Boolean sequential equations have been demonstrated by Phister and Postley, respectively. However, the equations involved were of the most elementary type, i.e., the design [2k'\ equations of common flip-flops. Wang presents a very thorough investigation of means of obtaining a set of explicit functions from an implicit Boolean equation. Wang adds a sequential or time operator d to the ordinary Boolean operators such that x~^x, , dx— ^ x ++i > 2 d x ->• x , , etc. Some properties of this operator are: d(A) = (dA), d(AB) = (dA) (dB) , d(A+B) = (dA)+(dB) (5.17) d k G(A,„..,B) - G(d k A,...,d k B) . (5-l8) 121 In the Boolean equation, H(i,...,j,x,...,y,d ,...,d ,d , . . . ,d ) =0 (5.19) i,....,j are input variables, and x,...,y are output variables. The first problem investigated by Wang is to determine if dx = f(d i ,...,d , i,...,j, x,...,y) dy = g(d , ...,d ,i,...,j,x,...,y) (5.20) may be found. The functionals (5.20) are called "deterministic sequential functionals", and procedures are given for determining their existence, as well as obtaining them explicitly. "Predictive sequential functionals" are effective solutions for d ,...,d which can't be expressed as deterministic functionals. x' y In this case, if they exist, 2 2 Q Q dx = f(i,...,j,x,...,y,d ,...,d ,d I,...,d j,...,d i,...,d j) ■*- J dy = g(i,...,j,x,...,y,d ,...,d ,d i,...,d j,...,d i,o..,d q j) J (5.21) 122 and again, procedures are given for the determination of their existence and for the explicit functionals. Deterministic and predictive sequential functionals both lead to circuit realizations, hut not so the final case. If a solution for (5.19) exists, but there is no effective solution for d ,...,d in terms of predictive functionals, x y this is termed a "noneffective" solution. A procedure involving a "solution table" which determines the existence of the solution and characterizes it is given. Note that all procedures yield general parametric solutions. 123 LIST OF REFERENCES [1] Ashenhurst, R„ L., "Simultaneous Equations in Switching Theory," Report number BL-4, BL-S, Bell Telephone Labs. (Available from Library of Congress) . [2] Boole, G.j George Boole's Collected Logical Works (1859) , Volumes 1 and 2, The Open Court Publishing Company, La Salle, Illinois, 1940. [3] Carvallo, M., Principles et Applications de 1' Analyse Booleene , Gauthier-Vi liars, Paris, 1965, (in French) . [4] Follinger, 0., and Weber, W. , "Boolesche Gleichungen-Losung und Anwendungen , " Elektronische Datenverarbeitung, December, 1963, pp. 251-263, February, I96U, pp. 4-13, April, 1964, pp. 55-66, (in German) . [5] Fortet, R., "Application de l'Algebre de Boole en Recherche Operationnelle," Revue Francaise de Recherche Operationnelle , Paris, Volume 4, number 14, 1964, pp. 17-26, (in French) . [6] Grigor'yan, Y., "An Algorithm for the Solution of Systems of Logical Equations," International Journal of Computer Mathematics, 1, May, 1964, pp. 51-57. [7] Ivanescu, P. , "Systems of Pseudo-Boolean Equations and Inequalities," Bull, l'Academie Polonaise des Sciences , Volume XII, Number 11, I96U, pp. 673-679- [8] Ivanescu, P., and Rudeanu, S., Pseudo-Boolean Methods for Bivalent Programming , Springer-Verlag, Berlin-Heidelberg - New York, 1966. Klir, J., "Solution of Systems of Boolean Equations," Aplikace Matimatiky , 7, 1962, pp. 265-273j (in Czech), Ledley, R., Digital Computer and Control Engineering, McGraw-Hill Book Company, New York, i960. Luce, R., "A Note on Boolean Matrix Theory," Proceedings of American Math. Society, Volume 3, Number 3, 1952, pp. 382- 388. 124 [12] Maitra, K. , "A Map Approach to the Solution of a Class of Boolean Equations," Communications and Electronics, Volume 59> March, 1962, pp. 34-37. [13] Nadler, M. , and Elspas, B., "The Solution of Simultaneous Boolean Equations." IRE Transactions on Circuit Theory (Correspondence), Volume CT-7, September i960, pp. 345-346. [l4] Parker, W. , and Bernstein, B., On Uniquely Solvable Boolean Equations , University of California Press, Berkeley and Los Angeles, 1955. [15] Phister, M. Jr., Logical Design of Digital Computers, Wiley and Sons, New York, 1958. [l6] Postley, J., "A Method for the Evaluation of ft System of Boolean Algebraic Equations," Math. Tables and Other Aids for Compu - tation , Volume 9? 1955 j PP. 5-8. [17] Rouche, N. , "Some Properties of Boolean Equations," IRE Transactions on Electronic Computers , Volume EC-7, Number 4, December 1958, pp. 29I-298. [l8] Rudeanu, S., "Boolean Equations and Their Applications to the Study of Bridge Circuits," I. Bull. Math, de la Soc. Sci Math. Phys. de la R. P. Roumaine, 3(51), 1959, PP. 445-473. [19] Rudeanu, S., "Irredundant Solutions of Boolean and Pseudo -Boolean Equations, " Rev. Roumaine Math. Pures et Appl ., Volume 11, Number 2, 1966, pp. 183-188. [20] Schroeder, E., Algebra der Logik , Volume 1, Teubner Verlags- gesellschaft, Leipzig, 1890. (in German) . [21] Schubert, E. , "Simultaneous Logical Equations," Commun i cat i on s and Electronics, Number 46, January i960, pp. IO8O-IO83. [22] Svoboda, A., "An Algorithm For Solving Boolean Equations, " IEEE Transactions on Electronic Computers , (Correspondence) , Volume EC-12, October, 1963, pp. 557-559- [23] Veitch, E., "A Chart Method for Simplifying Truth Functions," Proc, Conf. Assn. Computing Machinery , May 2-3, 1952, pp. 127-133. 125 [2k] Wang, H., "Circuit Synthesis by Solving Sequential Boolean Equations , " Zeitschrift Math. Logik und Grundlagen d. Math . , Volume 5, 1959, PP. 291-322. [25] Whitehead, A., "Memoir On the Algebra of Symbolic Logic", American Journal of Mathematics, Volume 23, 1901 , pp. 13*+- 165, 297-316. [26] Zemanek, H„, "Die Losung von Gleichungen in der Schaltalgebra", Arch. Elektr. Ubertragung , Volume 12, Number 1, January 1958, PP. 35-kk. (In German) . sun? 2 01359