Full Text
G. A. Shestopal
ON THE NUMBER OF SIMPLE BASES OF BOOLEAN FUNCTIONS
(Presented by Academician P. S. Novikov on 28 IV 1961)
- We consider the set of all Boolean functions, i.e., the set of all functions that take only the values 0 and 1, of arguments that take the same values. A system of Boolean functions is called complete if, by means of superposition of the functions of this system, any Boolean function can be expressed. A complete system is called a basis if none of its subsystems is a complete system.
As is known, a criterion for completeness of a system of functions is given by the following Post theorem. In order that a system of functions be complete, it is necessary and sufficient that it contain:
a) at least one function not preserving zero;
b) at least one function not preserving one;
c) at least one non-self-dual function;
d) at least one nonlinear function;
e) at least one nonmonotone function.
For a proof of this theorem, see (¹); there it is also shown that no basis can contain more than 4 functions.
We shall call a basis a simple basis if no function belonging to it can, by identifying some of its variables, be replaced by one or several functions of a smaller number of variables in such a way that the system of functions obtained as a result of this replacement remains complete. The question considered is that of the number of all simple bases.
- Let us first show that the total number of all bases is infinite. For this purpose we consider the question of the number of all bases consisting of a single function. The functions constituting such a basis are called Sheffer functions.
It is easy to see that, for a function to be a Sheffer function, it is necessary and sufficient that it preserve neither zero nor one and be non-self-dual. On this basis one can compute the total number of Sheffer functions of \(n\) variables:
\[ N(n)=2^{2^n-2}-2^{2^{n-1}-1}. \]
The limit of the ratio of this number to the total number of all Boolean functions of \(n\) variables is \(1/4\); this number gives an idea of the asymptotic behavior of the number of Sheffer functions.
Thus it has been shown that the total number of all Sheffer functions, and hence all bases, is infinite.
- A function will be called simple with respect to a certain property if it possesses this property, but is such that any identification of its variables entails the loss of this property. A function that is simple with respect to at least one of the properties a), b), c), d), or e) of Post’s theorem will be called (where we are not interested in its particular properties) a simple function.
It follows from the very definition of a simple function:
Theorem 1. A simple basis can consist only of simple functions.
- Let us prove that the total number of simple functions is finite. To this end, let us consider the properties of various simple functions.
Theorem 2. If \(f(x_1x_2\ldots x_n)\) is a function of \(n>1\) variables that does not preserve zero (one), then the identification of any number of variables with one another leads to a function of a smaller number of variables that also does not preserve zero (one).
Corollary 2, 1. The only functions that are simple with respect to non-preservation of zero (one) are the functions of one variable possessing this property.
Theorem 3. If \(f(x_1x_2\ldots x_n)\) is a non-self-dual function of \(n>2\) variables, then the variables can always be identified in such a way that the given function becomes a non-self-dual function of no more than 2 variables.
The proof of the theorem is based on the fact that for every non-self-dual function there exists at least one pair of opposite tuples of variables on which the function assumes equal values.
Corollary 3, 1. The only functions that are simple non-self-dual (with respect to non-self-duality) are the two constants and those non-self-dual functions of two variables which either preserve both zero and one, or preserve neither zero nor one.
Corollary 3, 2. There exist only two simple Sheffer functions, \(x_1\cdot x_2\) and \(x_1\vee x_2\).
Theorem 4. Every nonlinear function of \(n>3\) variables can, by identification of variables, be brought to a nonlinear function of no more than 3 variables.
The proof of the theorem is carried out by induction.
First, representing an arbitrary nonlinear function of 4 variables in the form of a Zhegalkin polynomial, we prove (by checking the various possible cases) that its variables can always be identified in such a way that this function becomes a nonlinear function of 3 variables. Suppose then that a nonlinear function of \(k>3\) variables can be reduced, by identifying variables, to a nonlinear function of no more than \(k-1\) variables, and let us prove that then a nonlinear function of \(k+1\) variables can be reduced to a nonlinear function of no more than \(k\) variables.
For the proof, represent an arbitrary nonlinear function of \(k+1\) variables in the form
\[ f(x_1,x_2\ldots x_kx_{k+1})=x_{k+1}\varphi(x_1x_2\ldots x_k)+\psi(x_1x_2\ldots x_k), \]
where
\[ \varphi(x_1x_2\ldots x_k)=f(x_1x_2\ldots x_k,1)+f(x_1x_2\ldots x_k,0), \]
\[ \psi(x_1x_2\ldots x_k)=f(x_1x_2\ldots x_k,0). \]
Consideration of the various possibilities for the form of the function \(\varphi(x_1x_2\ldots x_k)\) proves the theorem.
In order that a nonlinear function of 3 variables be a simple nonlinear function (with respect to nonlinearity), it is necessary and sufficient that its representation in the form of a Zhegalkin polynomial have the form: \(x_1x_2+x_1x_3+x_2x_3+c_1x_1+c_2x_2+c_3x_3+d\).
Corollary 4, 1. The simple nonlinear functions are all nonlinear functions of 2 variables and those, and only those, functions of 3 variables whose representation in the form of a Zhegalkin polynomial has the form
\[
x_1x_2+x_1x_3+x_2x_3+c_1x_1+c_2x_2+c_3x_3+d.
\]
Theorem 5. If \(f(x_1x_2\ldots x_n)\) is a nonmonotone function of \(n>3\) variables, then the variables can be identified in such a way that this function becomes a nonmonotone function of no more than 3 variables.
The proof of the theorem is based on the fact that for every nonmonotone function there exists at least one pair of adjacent tuples of variables such that on the larger tuple the function assumes the value zero, and on the smaller one, one.
Corollary 5.1. The simple nonmonotone (with respect to nonmonotonicity) functions are the simple nonmonotone functions of 1 and 2 variables, as well as those and only those nonmonotone functions of 3 variables that preserve zero and one.
- On the basis of the corollaries of Theorems 2, 3, 4, and 5, tables of all simple functions can be compiled. In doing so, one may not distinguish functions that can be obtained from one another by a renaming of variables.
Functions simple with respect to non-preservation of zero:
1) \(1\); 2) \(\overline{x}\).
Functions simple with respect to non-preservation of one:
1) \(0\); 2) \(\overline{x}\).
Simple non-self-dual functions:
1) \(0\); 2) \(1\); 3) \(x_1x_2\); 4) \(x_1 \vee x_2\); 5) \(\overline{x}_1\overline{x}_2\); 6) \(\overline{x}_1 \vee \overline{x}_2\).
Simple nonlinear functions:
1) \(x_1x_2\); 2) \(x_1 \vee x_2\); 3) \(x_1\overline{x}_2\); 4) \(x_1 \vee \overline{x}_2\); 5) \(\overline{x}_1\overline{x}_2\); 6) \(\overline{x}_1 \vee \overline{x}_2\);
7) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + x_3\); 8) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1\);
9) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + x_3 + 1\); 10) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + 1\);
11) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2\); 12) \(x_1x_2 + x_1x_3 + x_2x_3\);
13) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + 1\); 14) \(x_1x_2 + x_1x_3 + x_2x_3 + 1\).
Simple nonmonotone functions:
1) \(\overline{x}\); 2) \(x_1\overline{x}_2\); 3) \(x_1 \vee \overline{x}_2\); 4) \(x_1 + x_2\); 5) \(x_1 + x_2 + 1\);
6) \(x_1x_2x_3 + x_1x_2 + x_1x_3 + x_2x_3 + x_1\); 7) \(x_1x_2x_3 + x_1x_2 + x_1x_3 + x_1 + x_2\)
8) \(x_1x_2x_3 + x_1x_2 + x_1x_3 + x_2 + x_3\); 9) \(x_1x_2x_3 + x_1x_2 + x_1 + x_2 + x_3\);
10) \(x_1x_2x_3 + x_1x_2 + x_1\); 11) \(x_1x_2x_3 + x_1 + x_2\);
12) \(x_1x_2 + x_1x_3 + x_1 + x_2 + x_3\);
13) \(x_1x_2 + x_1x_3 + x_1\); 14) \(x_1x_2 + x_1x_3 + x_2\); 15) \(x_1x_2 + x_2 + x_3\);
16) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2\); 17) \(x_1 + x_2 + x_3\).
- From the facts established above and Theorem 1 there follows immediately the following
Main Theorem. There exists a finite number of simple bases.
To obtain the complete table of simple bases it is necessary to consider those and only those cases of combining simple functions with one another in which the resulting system forms a simple basis. Carrying out such a combination, we obtain the following table, representing all simple bases. The total number of such bases is 48.
Simple bases
I. Bases consisting of one function:
-
\(\overline{x}_1 \cdot \overline{x}_2\).
-
\(x_1 \vee \overline{x}_2\).
II. Bases consisting of two functions:
3—8. 1) a) \(x_1x_2\); b) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1\);
c) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + x_3\);
2) a) \(\overline{x}\); b) \(1\).
9—14. 1) a) \(x_1 \vee \overline{x}_2\); b) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + 1\);
c) \(x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + x_3 + 1\).
2) a) $\overline{x}$; b) $0$.
15—22. 1) a) $x_1x_2 + x_1x_3 + x_2x_3 + 1$; b) $x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2 + 1$;
2) a) $0$; b) $1$; c) $x_1x_2$; d) $x_1 \vee x_2$.
23—24. 1) a) $x_1x_2$; b) $x_1 \vee x_2$;
2) $\overline{x}$.
III. Bases consisting of 3 functions:
25—34. 1) a) $x_1x_2x_3 + x_1x_2 + x_1x_3 + x_2x_3 + x_1$;
b) $x_1x_2x_3 + x_1x_2 + x_1x_3 + x_1 + x_2$;
c) $x_1x_2x_3 + x_1x_2 + x_1x_3 + x_2x_3$;
d) $x_1x_2x_3 + x_1x_2 + x_1 + x_2 + x_3$;
e) $x_1x_2x_3 + x_1x_2 + x_1$; f) $x_1x_2x_3 + x_1 + x_2$;
g) $x_1x_2 + x_1x_3 + x_1 + x_2 + x_3$; h) $x_1x_2 + x_1x_3 + x_1$;
i) $x_1x_2 + x_2 + x_3$; j) $x_1x_2 + x_1x_3 + x_2$;
2) $0$;
3) $1$.
35—37. 1) $x_1 + x_2$;
2) $1$;
3) a) $x_1x_2$; b) $x_1 \vee x_2$; c) $x_1x_2 + x_1x_3 + x_2x_3$.
38—40. 1) $x_1 + x_2 + 1$;
2) $0$;
3) a) $x_1x_2$; b) $x_1 \vee x_2$; c) $x_1x_2 + x_1x_3 + x_2x_3$.
41—44. 1) $x$;
2) a) $x_1x_2 + x_1x_3 + x_2x_3$; b) $x_1x_2 + x_1x_3 + x_2x_3 + x_1 + x_2$;
3) a) $0$; b) $1$.
- 1) $x_1x_2 + x_1x_2 + x_2x_3 + x_1 + x_2$;
2) $0$;
3) $1$.
IV. Bases consisting of 4 functions:
46—47. 1) a) $x_1x_2$; b) $x_1 \vee x_2$;
2) $0$;
3) $1$;
4) $x_1 + x_2 + x_3$.
- 1) $0$;
2) $1$;
3) $x_1 + x_2 + x_3$;
4) $x_1x_2 + x_1x_3 + x_2x_3$.
Thus, there are 2 bases consisting of 1 function; 22 consisting of 2 functions; 23 consisting of 3 functions; 3 consisting of 4 functions. In all there are 48 simple bases.
Moscow State Pedagogical Institute
named after V. I. Lenin
Received
20 IV 1961
CITED LITERATURE
- S. V. Yablonskii, Tr. Mat. Inst. im. V. A. Steklova, 51, 5 (1958).