Abstract
We will study some properties of Boolean functions based on newly introduced concepts called “Special Decomposition of a Set’’ and “Special Covering of a Set’’. The introduced concepts easily solve the question of how changes in clauses affect the resulting value of a function. They easily determine a clause as well as the literals that can be added to or removed from the clause so that the satisfiability of the function is preserved. The concept of generating a satisfiable function by another satisfiable function through admissible changes in the function's clauses is also introduced. If the generation of a function by another function is defined as a binary relation, then the set of satisfiable functions of n variables, represented in conjunctive normal form with m clauses is partitioned to equivalence classes. Moreover, we prove that any two satisfiable Boolean functions of n variables, represented in conjunctive normal form with m clauses, can be generated from each other in polynomial time.
Keywords
Special Decomposition, Special Covering, Function Generation
1. Introduction
The subject of this article is Boolean functions represented in conjunctive normal form
[3] | Edward R. Scheinerman, Mathematics: A Discrete Introduction, Third Edition 2013. |
[7] | Yves Crama, Peter L. Hammer, Boolean Functions. Theory, Algorithms, and Applications, 2011. |
[3, 7]
. We will study some properties of satisfiable functions
[1] | Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach 2007. |
[1]
.
In generally the field of Boolean functions has long been widely investigated and well-studied
[2] | Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012. |
[3] | Edward R. Scheinerman, Mathematics: A Discrete Introduction, Third Edition 2013. |
[6] | Michael Sipser, Introduction to the Theory of Computation, third edition 2012. |
[2, 3, 6]
. Nevertheless, we obtain important and interesting results in this field using new introduced concepts of special decomposition and special covering of a set and based on them. These concepts are flexible and simple in use, so they enable us to study important problems concerning Boolean functions, including the satisfiability problem.
To create a special decomposition that will uniquely correspond to а Boolean function represented in conjunctive normal form, we treat the function as an ordered set of its clause.
We will show that any Boolean function in conjunctive normal form generates a special decomposition of the set of its clauses, and any special decomposition of a set generates a Boolean function. Moreover, we prove that these generations run in polynomial time
[9] | N. Creignou, S. Khanna, M. Sudan. Complexity Classifications of Boolean Constraint. Satisfaction Problems. Society for Industrial and Applied Mathematics, 2001. |
[9]
.
In addition, we prove that the Boolean function in conjunctive normal form is satisfiable if and only if there is a special covering for the set of clauses of this function.
One of the main goals of this article is to explore the possibilities of the concepts of special decomposition and special covering, using them in relation to satisfiable functions.
Typically, when transforming a Boolean function given in conjunctive normal form, it is not always obvious what impact a change in а clause may have on the satisfiability of the function. Furthermore, it is not always easy to find a clause and determine a literal that can be removed from or added to the clause, in order to preserve the satisfiability of the function.
We introduce the concept of admissible changes in the clauses, which allows us to add a literal to a clause, remove a literal from a clause, or swap negative and positive literals of the same variable of a satisfiable function, so that the resulting function remains satisfiable.
To study the results, we also introduce the concept of generation of а satisfiable function by another satisfiable function. Applying this concept to the function, as a result of any step, new satisfiable function is obtained. We also prove that the procedure for generation of a function by another function has a polynomial time complexity.
Further, defining the generation of a function by another function as a binary relation
[14] | Charles C. Pinter, A Book of Set Theory, 2014. |
[16] | Luke Adams, Universal Totally Ordered Sets, May 11, 2018. |
[14, 16]
, we prove that the set of satisfiable functions of
variables represented in conjunctive normal form with
clauses, is partitioned into equivalence classes
[2] | Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012. |
[3] | Edward R. Scheinerman, Mathematics: A Discrete Introduction, Third Edition 2013. |
[2, 3]
. All functions included in the same class have a common satisfiable assigning tuple.
Moreover, extending the rules of admissible changes, we prove an important result:
If two arbitrary Boolean functions of
variables represented in conjunctive normal form with
clauses, are both satisfiable, then either can be generated by the other using extended admissible changes in polynomial time
[8] | Peter G´acs Boston University and L´aszl´o Lov´asz Yale University, Complexity of Algorithms Lecture Notes, Spring 1999. |
[9] | N. Creignou, S. Khanna, M. Sudan. Complexity Classifications of Boolean Constraint. Satisfaction Problems. Society for Industrial and Applied Mathematics, 2001. |
[11] | Evgeny Dantsin and Edward A. Hirsch, Worst-Case Upper Bounds, copyright 2008. SIAM J. Comput., vol 4, No. 1, March 1975. |
[8, 9, 11]
.
The terminology used in relation to set theory, Boolean functions, complexity theory and matrix theory is well known and is consistent with the terminology in corresponding monographs in the Bibliography. The newly introduced terms are not found in use by other authors and do not contradict to other terms.
2. Basic Concepts
We will deal with different nonempty sets. The elements of these sets will usually be denoted as
,
,.... etc. These sets are assumed to be ordered
[2] | Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012. |
[14] | Charles C. Pinter, A Book of Set Theory, 2014. |
[2, 14]
unless otherwise stated.
Let the nonempty set {, ,..., } be given. Let also for some natural number ,
(,),(,),...,(,)
be
arbitrary ordered pairs
[15] | Thomas Jech, Set Theory, The Third Millennium Edition, 2003. |
[16] | Luke Adams, Universal Totally Ordered Sets, May 11, 2018. |
[15, 16]
of arbitrary subsets of the set
.
It is important to note that the subsets and their pairs are numbered in no particular order.
We will use the notation for an arbitrarily ordered set of these ordered pairs:
={(,),(,),...,(,)}.
The Boolean values and , for ∈ {1,..., }, will be used to denote superscripts of subsets:
=0if=1,and=1if=0.
The tuple of superscripts (,..., ) of subsets will also be called a Boolean tuple.
Definition 1.1. The set will be called a special decomposition of the set , if
∀{1,...,})=∅,(1)
∀{1,...,}(or∅),(2)
Obviously, the same subsets of the set can form different special decompositions.
Definition 1.2. Let the set be a special decomposition of the set .
For any Boolean tuple (, ,..., ) the ordered set
will be called a special covering for the set under the decomposition , if
Note that the subsets and cannot simultaneously belong to the special covering.
Let = {(, ),..., (, )}be an ordered set of arbitrary ordered pairs of subsets of the set . For any 1 ≤ ≤ , an ordered set obtained by permutating the components of arbitrary chosen ordered pairs
,,...,,)
will be called an -transformation of the set . It will be denoted by ,,...,(). Sometimes, if there is no need to mark the numbers of the ordered pairs, we will skip them and use the notation :
=,,...,(,)}.
The ordered pairs of this decomposition are defined as:
(, ) = (, ), if the components of the -th pair are not displaced,
(, ) = (, ), if the components of the -th pair are displaced.
Lemma 1.3. If is an ordered set of ordered pairs of subsets of the set then for any I-transformation I (), the following is true:
i) is a special decomposition of the set if and only if so is the ordered set .
ii) If is a special decomposition of the set , then there exists a special covering for the set under the decomposition if and only if it exists under the decomposition ().
Proof. i) During the transition from the set to the set and vice versa, the contents of the subsets do not change. Only the orders of the components of some ordered pairs change. Therefore, the sets and are either at the same time special decompositions of the set , or at the same time they are not such decompositions.
At the other hand, if under the special decomposition the set = {,..., ( {0, 1}) is a special covering for the set , then it will also be a special covering for the set under decomposition and vice versa.
In what follows, we will distinguish the subsets included in ordered pairs according to the order of their location in these pairs.
Let for some Boolean tuple (,..., ), be a special decomposition:
=,,...,(,)}.
The subsets ,..., will be called the subsets of 0-domain,
The subsets ,..., will be called the subsets of 1-domain.
If the components of an ordered pair (, ) are permuted, then the subset becomes a subset of the -domain, and the subset becomes a subset of the -domain.
For technical convenience, for any {0, 1}, we denote: = and =
= {,..., } and = {,..., }. For any {0, 1}, will be called a set of -components or -domain of the decomposition .
(,..., )s is the set obtained by replacing the subsets ,..., with the subsets ,..., , respectively, in the set . (,..., ) will be called a set of -components of the ordered pairs included in the decomposition (,..., ).
Definition 1.4. If the set of subsets of the -domain is a special covering for the set , then such a covering will be called a special -covering or briefly -covering for the set .
Lemma 1.5. Let = (, ),..., (, )} be a special decomposition of the set .
Then, there exists a special covering for the set under the special decomposition if and only if for some ∈ {0,1} there exists an -covering for the set under some special decomposition .
Proof. Obviously, the procedure for forming the -domain does not violate the Definition 1.2 of a special covering. Therefore, any -covering is also a special covering for the set .
If there exists a special covering for containing subsets included in the -domain, then, obviously, by applying -transformation with respect to ordered pairs containing these subsets, according to Lemma 1.3, we obtain an -covering for the set . .
3. Boolean Functions and Special Decompositions
Let for natural numbers and , (,..., ) be a Boolean function of variables represented in conjunctive normal form () with clauses.
We assume that the clauses of the function are numbered by the numbers 1,..., in some natural order, and we will use the notation for the -th clause of the function. We will also use the notations = and = for ∈ {1,..., } for literals included in clauses.
For simplicity and technical convenience, we assume the following:
a) no variable and its negation are included in any clause simultaneously,
b) if the function contains variables, then for any ∈ {1,..., }, the literal appears in some clauses for some ∈ {0,1}.
Obviously, this assumption does not limit the set of functions being considered.
We say that the clauses of the set {,..., } are satisfiable if there is a Boolean assignment tuple (,...,), such that any of these clauses takes the value 1 when the variables ,..., are assigned the values ,...,, respectively.
3.1. Special Decomposition of Clauses of a Boolean Function
Let () = {, ,..., } be the set of clauses of some function (,..., ).
Based on the clauses of the function (,...,), we form the subsets of the set (). For convenient these subsets will be denoted by capital letters corresponding to the function designation:
For any ∈ {1,..., } and ∈ {0,1} we denote:
={/∈()andcontainstheliteral,(∈{1,...,})}.
={/∈()andcontainstheliteral,(∈{1,...,})}.
Let’s form the following ordered set of ordered pairs of these subsets:
()={(,),(,),...,(,)}.
We will say that the ordered set () is a decomposition of the set () generated by the conjunctive normal form of the function (,...,).
Lemma 2.2. For any function (,..., ), represented in conjunctive normal form, the set () is a special decomposition of the set ().
Proof. Taking into account that the functions under consideration satisfy conditions (a) and (b) set out in the previous paragraph, it is easy to verify that the conditions of the Definition 1.1 of the special decomposition, (
1), (
2) and (
3) are satisfied.
.
If there exists a special covering for the set under the special decomposition then we will denote it by = {, ,..., .
Theorem 2.3. For any Boolean function (,..., ) represented in conjunctive normal form, the following is true:
There is a Boolean assigning tuple (,..., ) such that f (,..., ) = 1 if and only if there is a special covering for the set under the decomposition .
Proof. Let for some tuple (,..., ), (,..., ) =1. We prove, that then , which will mean that the ordered set = {, ,..., } will be a special covering for the set under the decomposition .
It is enough to show that each clause belongs to some subset included in the set .
Suppose that there is a clause ∈ () that does not belong to any of the subset included in . Then, none of the literals , ,..., is included in the clause . Therefore, is the disjunction of some literals of the form . Since 0 for any {1,..., }, then for given values of variables, the clause will take the value 0, which contradicts the assumption that (,,..., ) = 1. So, each clause is included in some subset included in the set .
Let for some tuple of superscripts (, ,..., ), where , the set
={ , ,..., } is a special covering for the set under the decomposition .
By definition, the subset contains clauses that contain the literal . If = 1, then the value of all clauses included in the set will be equal to 1,
That is, for any {1,..., } and {1,..., }, if ( = 1) & () then ( = 1). It is easy to notice that if =, =,...,=, then (,..., ) =1.
3.2. Generation of the Boolean Function Based on a Special Decomposition
Let {, ,..., } be a nonempty set of elements. Based on some special decomposition of the set , we form a Boolean function, represented in conjunctive normal form. Suppose that = {,...,} is a mentioned decomposition.
To form this function, first, for any element , we form the set of literals, denoted by (), based on the positions of the subsets containing the element . That is, for any ∈ {1,..., } and , if ∈ , then we form the literal and add it to the formed set (). It is easy to see, that when forming the literals , the number of variables will be .
In fact, for any element ∈ we will have:
()={/∈,∈{1,...,},}.
Let be the clause formed by the literals of the set (). Obviously, the number of these clauses will be equal to . Then, we form the function denoted by (,..., ) as follows:
We will say that the function (,..., ) is generated by the special decomposition .
Theorem 2.5. If the set = {,..., } is a special decomposition of a set , and (,..., ) is the function generated by this decomposition, then:
There exists a special covering for the set under the decomposition , if and only if there exists a Boolean assignment tuple (,..., ) such that (,..., ) = 1.
Proof. The proof is similar to the proof of Theorem 2.3.
Remark 2.6. In fact, we have established an important relationship between the Boolean satisfiability problem and the problem of finding a special covering for a set:
1. each Boolean function (,..., ) of variables represented in conjunctive normal form with clauses, generates a special decomposition () of the set () of elements.
2. each special decomposition of any set of elements and containing ordered pairs, generates a Boolean function of variables in conjunctive normal form with clauses.
In particular, using the Theorems 2.3 and 2.5, we can assert that any decidability result for any of these problems leads to the same result for the other
[1] | Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach 2007. |
[9] | N. Creignou, S. Khanna, M. Sudan. Complexity Classifications of Boolean Constraint. Satisfaction Problems. Society for Industrial and Applied Mathematics, 2001. |
[11] | Evgeny Dantsin and Edward A. Hirsch, Worst-Case Upper Bounds, copyright 2008. SIAM J. Comput., vol 4, No. 1, March 1975. |
[12] | Thomas J. Schaefer, The complexity of Satisfiability Problems. Department of Mathematics University of California, Berkeley, California 94720. |
[1, 9, 11, 12]
.
4. Some Important Properties of Special Decompositions
We introduce some transformations in the special decomposition by changing the contents of subsets such that the conditions of the special decomposition are preserved.
We assume that the ordered set = {(, ),..., (, )} is a special decomposition for a set , and for some Boolean tuple (,..., ), the ordered set = {,..., } is some special covering for the set under this decomposition.
We will use the notation (, ), meaning that = or = .
Definition 3.1. Let the ordered pairs (, ) and (, ) be included in the special decomposition and let (, ) and (, ).
i) We say that the changes in the contents of the subsets and are admissible under the tuple (,..., ), if the changes are made in accordance with the following points:
a) for an element , the subset is replaced with the set \ {} in the ordered pair (, ), if and ((\ {}) ∪ ) .
b) for an element ∉ ( ∪ ), the subset is replaced with the set ∪ {} in the ordered pair (, ).
c) if the subsets and are both included in , then for an element such that ∈ and ∉ , the subset is replaced with the set \ {} and the subset is replaced with the set ∪ {} in the corresponding ordered pairs, respectively.
ii) We say that the ordered set, denoted by , is generated by the decomposition as a result of admissible changes under the tuple (,..., ), if these changes are made in the components of some ordered pairs of the decomposition , in accordance with points (i.1) - (i.3).
iii) We say that the ordered set, denoted by is generated as a result of admissible changes under the tuple (,..., ) in the special decomposition , if any subset included in it has the same superscript as the corresponding subset in the set .
If it does not lead to ambiguity, we will use the notation for the ordered set which either coincides with the set or is generated by the sets and .
Theorem 3.2. Let for some Boolean tuple (,..., ), the ordered set
be a special covering for the set under the special decomposition .
If the ordered sets and are generated as a result of admissible changes under the tuple (,..., ) in the decomposition , then:
- is also a special decomposition of the set ,
- is a special covering for the set under the decomposition .
Proof. During the admissible changes, the conditions of Definition 1.1 are not violated.
5. Admissible Changes in Clauses of Functions
Consider a Boolean function (,..., ) represented in conjunctive normal form with clauses. Lemma 2.2 states that any Boolean function represented in generates a special decomposition of the set ():
()={(,),(,),...,(,)}.
Theorem 2.3 actually proves that the satisfiable assignment tuple defines the subsets that cover the set (), and vice versa, that is, for a Boolean tuple (,..., ), (,..., ) = 1 if and only if the ordered set = {, ,..., } is a special covering for the set under the special decomposition ().
Also, section 2.4 describes a procedure that, based on any special decomposition, generates a Boolean function in conjunctive normal form.
Definition 4.1. Let (,..., ) be a satisfiable Boolean function represented in conjunctive normal form.
We say that the function (,..., ) is generated by the function (,..., ) as a result of admissible changes under the assignment tuple (,..., ), if the following conditions are met:
- (,..., ) = 1,
- the special decomposition is generated by the function (,..., ),
- the special decomposition is generated by the special decomposition as a result of admissible changes under the assignment tuple (,..., ),
- (,..., ) is generated by the special decomposition .
Theorem 4.2. Let (,..., ) be a Boolean function represented in conjunctive normal form, and let for some assignment tuple (,..., ), (,..., ) = 1.
If the function (,..., ) is generated by the function (,..., ) as a result of admissible changes under the assignment tuple (,..., ), then (,..., ) = 1.
Proof. It is easy to see that under these conditions, according to Theorem 2.3, the ordered set
= {, ,..., } is a special covering for the set under the special decomposition .
Since the function (,..., ) is generated by the function (,..., ) by the admissible changes under the assignment tuple ,..., ), then:
- the special decomposition generates the special decomposition as a result of admissible changes under the assignment tuple (,..., ),
- the decomposition generates the function (,..., ).
According to Theorem 3.2, there is a special covering for the set under the special decomposition . But then, by Theorem 2.5, the function (,..., ) is satisfiable.
Obviously, during these changes in the decomposition the special covering does not lose elements. So, the subsets with superscripts ,..., , respectively, cover the set . Therefore, (,..., ) = 1.
Let's explore the nature of the concept of function generation by a function in general.
For the function (,..., ) and for the satisfying assignment (,..., ) we define the class of functions, denoted as [,..., ], as follows:
1) (,..., ) [,..., ].
2) if the function (,..., ) is generated by the function included in the class
[,..., ] as a result of admissible changes under the assignment tuple (,..., ), then,
(,..., ) [,..., ].
3) the class
[
,...,
] contains only functions satisfying conditions (
1) and (
2).
Theorem 4.3. Let (,..., ) and (,..., ) be Boolean functions of variables represented in conjunctive normal form, each containing clauses.
If there exists a Boolean satisfiable tuple (,..., ) such that (,..., ) = 1 and (,..., ) = 1, then
(,..., ) (,..., ) and
(,..., ) (,..., ).
Proof. Let () = {,..., } and () = {,..., } be ordered sets of clauses of the functions (,..., ) and (,..., ), respectively. By Lemma 2.2 these functions generate special decompositions () and () of the sets () and (), respectively:
()={(,),(,),...,(,)},
()={(,),(,),...,(,)}.
In addition, the following ordered sets
= {, ,..., } and = {, ,..., } are special coverings for the sets () and (), respectively.
Thus, we will proof that the special decompositions () and () are generated by each other as a result of admissible changes under the tuple of superscript (,..., ).
Let for some {1,..., },
={,...,}and={,...,}.=
By the definition of these subsets,
forany{,...,},
forany{,...,}.
Let’s describe a procedure for obtaining the subset instead the subset as a result of admissible changes in the decomposition ().
The procedure consists of applying the points of Definition 3.1 to the subsets included in the decomposition ().
We will assume that none of the subsets included in the set is empty, otherwise we can add an element to this subset according to admissible changes. This does not affect the estimation of the complexity of the entire procedure.
a) We sequentially remove all elements from subsets not included in the set . As a result, any ordered pair (, ) will take the form
(,∅),ifor(∅,),if.
We can do this applying the point (i.1) of the Definition 3.1. It is easy to see, that as a result of these operations some clauses of the function are change, so the function is changed. At the same time, the resulting function is satisfiable since all changes are made in accordance with the admissible changes under the same assignment tuple.
b) let’s consider the following cases for the clauses of the subsets
={,...,}and={,...,}.
Recall that our goal is to obtain the clauses of the set instead of the set in the decomposition () using the admissible changes.
1) suppose that = . In this case, we proceed as follows:
For any number {,..., }, we compare the pairs of clauses and :
- if and are the same, we will assume that and compare other pairs.
- if there is a literal, let it be , such that and , then we add to the clause . Recall that adding the literal to the clause means adding the clause to the subset , which is possible if (point (i.2), of the Definition 3.1).
To show that the clause can be added to the subset , we consider two cases:
- . In this case = , therefore we can add to the subset which will mean that the literal is added to the clause .
- . Then and = . So, we will add to the empty subset . In this case, if is included in , we can remove it in accordance to the point (i.3) of the Definition 3.1, since is also included in another subset of the set .
Thus, in case b.1) by means of admissible changes, we can add all clauses included in the subset to the subset .
2) if , then we use the point (i.3) and add clauses to the subset such that the number of clauses in it will be equal to the number of clauses in the subset .
As a result, we will get the case b.1).
3) if , then using the point (i.3), we move some clauses from the subset to other subsets such that the number of clauses in it will be equal to the number of clauses in the subset . As a result, we again get the case b.1).
c) after adding all the literals of the clause to the clause , we proceed to remove from the clause literals that are not included in the clause , as follows:
Let and .
Removing from means removing from the subset . Note that we can do this using the point (i.3) of the Definition 3.1, since is also included in the subset .
Repeating the procedure according to described points for all {1,..., }, we obtain the set instead of the set .
d) by applying the point (i.2) we do the following. For any subset , which is not included in the special covering , all clauses included in it are sequentially added to the subset .
It is easy to see, that as a result, we obtain the special decomposition (). Therefore, we can assert that first side of the theorem is valid, that is, (,..., ) (,..., ).
Similarly, (,..., ) (,..., ).
Obviously, as a result of any step of the described procedure we obtain a new special decomposition of the set and a new special covering for the set under the obtained decomposition. Then, as a result of any step of the procedure, a satisfiable function is generated.
Applying the admissible changes to the subsets included in the special decomposition (), actually means performing the following operations with the clauses of the function :
- the clause is removed from the subset . This means the removing of the literal from the clause ,
- the clause is added to the subset . This means adding the literal to the clause ,
- the clause is moved from the subset , to the subset, . This means remove the literal from the clause and add the literal to the obtained clause.
Thus, adding a literal to a certain clause, removing a literal from the certain clause or changing a literal with another literal according to conditions of admissible changes, we obtain a satisfiable function.
Using the theorems 4.2 and 4.3, it is easy to proof the equivalence theorem.
First, let’s define a binary relation over the Boolean functions of variables and represented in conjunctive normal form with clauses. We will denote this relation by [,..., ] where (,..., ) is a Boolean assignment tuple.
Suppose that (,..., ) and (,..., ) are Boolean function of variables, both in conjunctive normal form with clauses.
(, ) will denote the ordered pair of these functions.
We say that (, ) [,..., ], if the following conditions are satisfied:
- (,..., ) = 1,
- the function (,..., ) is generated by the function (,..., ) as a result of admissible changes under the satisfying assignment (,..., ).
Theorem 4.4. For any Boolean assignment (,..., ), the relation [,..., ] is an equivalence relation over the satisfiable Boolean functions of variables represented in conjunctive normal form with clauses.
Proof. Based on description of the relation
[
,...,
] and the definition of admissible changes, it is easy to prove that
[
,...,
] is a reflexive, symmetric and transitive relation
[2] | Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012. |
[2]
over the satisfiable Boolean functions. That is:
- if (,..., ) = 1, then (, ) [,..., ].
- if (, ) [,..., ] then (, ) [,..., ].
- if (, ) [,..., ] and (, ) [,..., ] then (, ) [,..., ].
6. Complexity Estimations
In the previous sections we described the procedures that implement the proofs of theorems, so an important issue is to estimate the complexity of these procedures. They are as follows:
a) A procedure for generating a special decomposition of the set of clauses of the given Boolean function in conjunctive normal form.
b) A procedure for generating a Boolean function in conjunctive normal form based on a given special decomposition of a certain set.
c) A procedure for generating a satisfiable function from another satisfiable function by admissible changes under some satisfying assignment.
Data Representations.
Let
,...,
be the clauses of the function 𝑓(
,...,
). We will represent the function 𝑓(
,...,
) as an (
) matrix
[13] | Fuzhen Zhang, Matrix Theory, Basic Results and Techniques, Second Edition, 2011. |
[13]
, with elements 0, -1, 1. It will be denoted as (
)cnf.
The rows of the matrix will represent the clauses of the function, and the none-zero elements of the rows will represent the literals included in the clauses.
()cnf(, ) = -1, if the negative literal is included in the clause ,
()cnf(, ) = 0, if none of the literals and is included in the clause ,
()cnf(, ) = 1, if the positive literal is included in the clause .
Obviously, for any {1,..., }, the -th row of the matrix ()cnf is uniquely determined by the clause of the function. Also, for any {1,..., }, the clause of the function is uniquely determined by the -th row of the corresponding matrix ()cnf.
In addition, any Boolean function (,..., ) represented in conjunctive normal form is uniquely determined by the corresponding matrix ()cnf,
It is easy to see, that an ()-matrix with elements 0, -1, 1 only, represents a Boolean function if and only if it does not contain a row with only zeros and a column with only zeros.
Let be a special decomposition of the nonempty set = {,..., }:
={(,),...,,)}.
We will consider
as an ordered set
[2] | Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012. |
[16] | Luke Adams, Universal Totally Ordered Sets, May 11, 2018. |
[2, 16]
. Obviously, it will not lead to any ambiguity.
Similar to the case of Boolean functions, it is technically convenient to represent the special decomposition of the set using an ordered pair of (0,1)-matrices, each of size ().
We will denote these matrices by and , respectively. They will be formed based on the decomposition as follows. For {1,..., } and {1,..., },
(,)=(,)=.
We will say that the ordered pair (, ) corresponds to the special decomposition .
On the other hand, the special decomposition is determined by the corresponding ordered pair of matrices (, ). For any {1,..., },
={/0(,)=1}and={/(,)=1},
Thus, any row of the matrices 0 and corresponds to some subset included in the ordered pairs of a special decomposition. The ordered pair (, ) of the decomposition will be determined by ordered pair of -th rows of the matrices and .
We will say that the pair of (0,1)-matrices (, ) is generated by the Boolean function 𝑓(,..., ), if this pair corresponds to the special decomposition ().
Recall that for any ∈ {1,..., } the subsets and are composed as follows:
={/∈()andcontainstheliteral,(∈{1,...,})},
={/∈()andcontainstheliteral,(∈{1,...,})}.
is a -th clause of the function (,..., ).
According to Lemma 2.2, the ordered set of the ordered pairs of these subsets compose the special decomposition ().
Let’s denote by ((), ()) the pair of (0,1)-matrices, which is formed as follows:
()(,)=()(,)=.
We will say that the pair of (0,1)-matrices ((), ()) corresponds to the special decomposition (). On the other hand, if the literal is included in the clause . So,
()(,)=()(,)=.
In addition, we will use the following notation for any {1,..., }:
()()=(()(,),...,()(,))
()()=(()(,),...,()(,)).
It is obvious, that the ordered pair (()(), ()()) is the ordered pair of -th rows of the matrices () and (), respectively.
The Complexity of the Described Procedures
[1] | Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach 2007. |
[4] | Cook, S. A., The complexity of theorem - proving procedures. in Conference Record of. Third Annual ACM Symposium on Theory of Computing (1971), 151–158. |
[5] | Karp, R. M., Reducibility among combinatorial problems. In Complexity of Computer, Computations, (1972), R. E. Miller and J. W. Thatcher, Eds., Plenum Press, 85–103. |
[8] | Peter G´acs Boston University and L´aszl´o Lov´asz Yale University, Complexity of Algorithms Lecture Notes, Spring 1999. |
[1, 4, 5, 8]
.
Let we are given a special decomposition , and let (, ) be a pair of (0,1)-matrices corresponding to this special decomposition.
Also, let we are given a Boolean function (,..., ) in conjunctive normal form, and let ()cnf be the corresponding matrix with the elements 0, -1 and 1.
We often identify a special decomposition of a nonempty set of elements containing ordered pairs of subsets with the corresponding pair of (0,1)-matrices of the size ().
We will also identify a Boolean function of variables, in conjunctive normal form with clauses, with the corresponding ()-matrix with the elements 0, -1 and 1.
Definition 5.1. (i) The total number of 1s in the matrices and will be called the length of the input data of the special decomposition .
(ii) The total number of non-zero elements included in the matrix ()cnf will be called the length of input data of the function (,..., ).
Definition 5.2. The following operations will be called elementary:
- assigning a value to a function variable or assigning a value to an array element,
- addition and subtraction of numbers,
- comparison of two numbers.
Proposition 5.3. If (,..., ) is a Boolean function represented in conjunctive normal form with clauses, then the number of elementary operations required to obtain the pair of matrices ((), ()) does not exceed the number for some constant .
Proof. We will form the matrices () and () based on the corresponding matrix ()cnf and using the formulas described in the previous section.
For any {1,..., }, we sequentially consider all the elements of the th row of the matrix ()cnf and proceed as follows:
if ()cnf(, ) = -1, we assign 1 to the element ()(, ),
if ()cnf(, ) = 1, we assign 1 to the element ()(, )
if ()cnf(, ) = 0, we assign 0 to the elements ()(, ) and ()(, ).
Recall that this corresponds to considering all the literals of any clause.
Obviously, all operations in the described procedure are elementary, and the number of these operations does not exceed the number () for some constant .
Proposition 5.4. Let = {,..., } be an ordered set, and
={,...,},
be a special decomposition of the set .
The number of elementary operations required to obtain the Boolean function generated by the special decomposition does not exceed the number for some constant .
Proof. Let (,..., ) denote the function that is generated by the decomposition .
We will form the matrix ()cnf, which will correspond to the function (,..., ), based on the pair of matrices (, ) corresponding to the special decomposition .
We will use the procedure described in the section 2.4. Recall that
(, ) = 1, if ∈ and (, ) = 1, if ∈ .
For any ∈ {1,..., }, we consider all elements of the -th row of the matrix and all elements of the -th row of the matrix , and do the following for any ∈ {1,..., }:
We assign ()cnf(, ) = -1 if (, ) = 1,
We assign ()cnf(, ) = 1 if (, ) = 1,
We assign ()cnf(,) = 0 if (, ) = 0 and (, ) = 0.
Obviously, the resulting matrix ()cnf(, ) is formed correctly, and the number of required elementary operations does not exceed the number for some constant .
The Propositions 5.3 and 5.4 prove the following:
Any Boolean function in conjunctive normal form generates a special decomposition in polynomial time, and any special decomposition of a set generates a Boolean function in conjunctive normal form in polynomial time.
Using Theorems 2.3 and 2.5, as well as Remark 2.6, one can state that any decidability procedure for the Boolean satisfiability problem leads to a decidability procedure for finding a special cover for a set, and vice versa.
[5] | Karp, R. M., Reducibility among combinatorial problems. In Complexity of Computer, Computations, (1972), R. E. Miller and J. W. Thatcher, Eds., Plenum Press, 85–103. |
[5]
.
The Complexity of the Generating Procedure
[1] | Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach 2007. |
[4] | Cook, S. A., The complexity of theorem - proving procedures. in Conference Record of. Third Annual ACM Symposium on Theory of Computing (1971), 151–158. |
[5] | Karp, R. M., Reducibility among combinatorial problems. In Complexity of Computer, Computations, (1972), R. E. Miller and J. W. Thatcher, Eds., Plenum Press, 85–103. |
[8] | Peter G´acs Boston University and L´aszl´o Lov´asz Yale University, Complexity of Algorithms Lecture Notes, Spring 1999. |
[10] | Armin Biere, Marijn Heule, Hans van Maaren and Toby Walsh, Handbook of Satisfiability. IOS Press, 2008. |
[1, 4, 5, 8, 10]
.
Theorem 5.5. Let the function (,..., ) be represented in CNF with clauses, and let (,..., ) be a Boolean assignment tuple such that (,..., ) = 1.
If (,..., ) is generated by the function (,..., ) as a result of admissible changes under the tuple (,..., ), then the number of elementary operations to perform the generating procedure does not exceed the number for some constant .
Proof. According to Theorem 4.2, (,..., ) = 1.
In addition, the following conditions are satisfied by the Definition 4.1:
- the function (,..., ) generates the special decomposition by Lemma 2.2,
- the special decomposition generates the special decomposition as a result of admissible changes under the assignment tuple (,..., ),
- the special decomposition generates the function (,..., ).
Thus, it is enough to estimate the number of required elementary operations for each of these procedures. According to Proposition 5.3, the number of elementary operations required to obtain the pair of (0,1)-matrices ((), ()) generated by the function (,..., ) does not exceed the number for some constant .
According to Proposition 5.4, the number of elementary operations required to obtain the Boolean function generated by an ordered pair of (0,1)-matrices ((), ()), does not exceed the number for some constant .
Thus, we need to estimate the number of elementary operations for generating the special decomposition based on the special decomposition .
For convenience, here we will use () instead of the notation for the decomposition that generate the function (,..., ).
We will use the pairs of (0,1)-matrices ((), ()) and ((), ()) that correspond to the special decompositions () and (), respectively.
Since the subsets and correspond to the rows ()() and ()(), respectively, then the ordered sets = {,..., } and = {,..., }, correspond respectively to the following ordered sets of the rows:
{()(),...,()()}and{()(),...,()()},
Thus, we will estimate the maximum number of elementary operations required to generate the pair of (0,1)-matrices ((), ()) based on the pair of (0,1)-matrices ((), ()) using admissible changes under the tuple (,..., ).
We will use the procedure similar to the procedure described in the Theorem 4.3.
Let’s note that we will consider the case when none of the rows included in the set
{()(),()(),...,()()}
consist only of zeros, otherwise, we can assign 1 to any suitable element of this row in accordance with admissible changes. This does not affect the estimation of the complexity of the entire procedure. The procedure described in the Theorem 4.3 actually consists of the following points:
a) removal of all subsets that are not included in the special covering .
This means sequentially assign zeros to all elements of the rows
()(),()(),...,()().
That is, the elements of any row not included in the set corresponding to the special covering are assigned zero. Since the number of elements of any row does not exceed , then the number of elementary operations for this point does not exceed the number ().
b) for any {1,..., } we add all clauses included in the subset to the subset . That is, for any {1,..., }, we compare the elements of the rows
()()={()(,),...,()(,)},
()()={()(,),...,()(,)},
corresponding to the subsets and , respectively, and proceed as follows:
For any ∈ {1,..., }, we assign ()(, ) = 1, if ()(, ) = 1. Obviously, the number of elementary operations for this point also does not exceed the number ().
c) for any {1,..., }, all clauses included in the subset and not included in will be removed from the subset . That is, if for some ∈ {1,..., },
()(, ) = 1 and ()(, ) = 0, then we will assign ()(, ) = 0, which means removing the j-th clause from the subset .
It is easy to see (recall the arguments of the proof of Theorem 4.3), that the assignment operation ()(, ) = 0 corresponds to an admissible change, since for the same value of and for another value of , ()(, ) = 1. This also means that will not lose an element.
Thus, by this point the procedure performs the following operations:
For any {1,..., }, it runs over the -th row of the matrix () and considers the values of its elements
()() = {()(, ),..., ()(, )}.
If for some {1,..., } and ∈ {1,..., },
()(, ) = 0 and ()(, ) = 1
then the element ()(, ) of the matrix () is assigned the value 0. It is easy to see that the described procedure requires no more than elementary operations for some constant .
d) for any pair of rows ()() and ()(),
()(){()(),()(),...,()()},
()(){()(),()(),...,()()},
the elements of the row ()() are assigned by the corresponding elements of the row ()(). So, the procedure for performing this point requires no more than () elementary operation. Thus, as a result of the procedures described in points a), b), c) and d) we obtain the pair of (0,1) matrices ((), ()) based on the pair of (0,1)-matrices ((), ()) using admissible changes under the assignment tuple (,..., ).
Obviously, the number of all elementary operations for all described procedures does not exceed the number for some constant . ∇
Combining the results of the theorems 4.3 and 5.5, we can formulate the following:
Theorem 5.6. Let (,..., ) and (,..., ) be arbitrary Boolean functions, both represented in conjunctive normal form with clauses. If there exists a Boolean assignment tuple (,..., ) such that
(,..., ) = 1 and (,..., ) = 1,
then the function (,..., ) generates the function (,..., ) as a result of admissible changes under the assignment tuple (,..., ) in no more than () elementary operations, for some constant .
Proof. The proof follows directly from the Theorems 4.3 and 5.5. ∇.
7. Extension of Admissible Changes
In previous sections we studied admissible changes that are made only using elements from different subsets. We will extend this concept by adding a new operation to the operations defined in 3.1. The new operation will deal with ordered pairs of special decomposition.
Let’s consider the Boolean functions and the special decompositions generated by them.
Suppose that (,..., ) is a Boolean function in conjunctive normal form, and the set
()={(,),...,(,)}
is a special decomposition of the set of clauses of this function.
Recall that (,..., )(()) is a decomposition obtained as a result of permuting the components of the ordered pairs {(, ),..., (, )} in the special decomposition ().
According to Lemma 1.3, (,..., )(()) is a special decomposition of the set ().
Theorem 6.1. If the function (,..., ) is generated by the special decomposition
(,..., )(()), then (,..., ) is satisfiable if and only if (,..., ) is satisfiable.
Proof. Let (,..., ) be a satisfiable function, and let the set of ordered pairs
()={(,),...,(,)}
be a special decomposition of the set . Then, according to Theorem 2.3, there is a special covering for the set under the special decomposition (()). Let it be the set
The special decomposition (,..., )(()) is obtained by permuting components of the ordered pairs
{(,),...,(,)}
in the decomposition (). So, by definition
(,...,)(())={(,),...,(,)},
for.
But then, according to Lemma 1.3 there is a special covering for the set also under the special decomposition (,..., )(()). Obviously, the following ordered set {,..., },
for,
will be a special covering for the set under the special decomposition (,..., )(()).
In addition, obviously, (,..., ) = 1. ∇
Let's now find out how the clauses of a new function (,..., ) differ from the clauses of the given function (,..., ) when permuting the components of some ordered pair, let it be (, ), of the special decomposition .
Suppose that = {,..., } and = {,..., }. By the definition of these subsets,
- the literal is included in all clauses of the set ,..., },
- the literal is included in all clauses of the set {,..., }.
- the literals and are not included in any other clauses.
When permuting the components of the ordered pair (, ), we obtain the special decomposition ()(()), in which the -th ordered pair has the form (, ). The remaining ordered pairs coincide with the corresponding ordered pairs of ().
()(())={(,),...,(,),...,(,)}.
Let’s consider the procedure for generating the function (,..., ) in accordance with Section 2.4 based on the special decomposition ()(()).
Recall that, having a special decomposition of a set, for any element of this set we form a clause corresponding to this element, based on the positions of the subsets containing this element.
The ordered sets ()) and ()(()) differ only in the -th ordered pair. That is,
= {,..., } is located in the 1-domain,
= {,..., } is located in the -domain, of the resulting decomposition.
Let’s denote the clauses of the function (,..., ) as ,..., , () = {,..., }.
Since (,..., ) is generated by the decomposition ()(()), it is easy to see that:
- for any ∈ {,..., }, the corresponding new clause will contain the literal .
- for any ∈ {,..., }, the corresponding new clause will contain the literal .
Denoting by () = {(, ),..., (, )} the special decomposition ()(()), which generates the function (,..., ), according to the formation procedure we obtain:
- the literal is included in any of the clauses included in ,
- the literal is included in any of the clauses included in .
At the same time, the clauses of the function (,..., ), not included in the subsets or , coincide with the corresponding clauses of the function (,..., ).
Thus, the function (,..., ) is obtained by replacing the literal with the literal and the literal with the literal in all clauses of the function (,..., ) containing these literals.
Let’s now study the properties of extended changes in a special decomposition.
Consider a special decomposition of a set ,
={,...,(,)}
such that for some Boolean tuple (,..., ), = {,..., } is a special covering for .
Definition 6.2. We say that the ordered set is generated by the decomposition as a result of extended admissible changes if it is formed in accordance with the following steps:
- in addition to the admissible changes, a permutation procedure is also applied to some ordered pairs of the decomposition ,
- if admissible changes are performed under some tuple of superscripts (,..., ), and the permuting operation is applied to some -th ordered pair of the decomposition under consideration, then admissible changes are continued under the tuple of superscripts (,..., ,..., ).
It is easy to notice that adding a new operation to the operations of admissible changes actually means admitting -thansformations in the special decomposition.
According to Lemma 1.3, this means that as a result of applying the new operation, the conditions of the special decomposition and special covering are preserved.
Definition 6.3. Let the function (,..., ) be represented in conjunctive normal form with clauses. In addition, there is an assignment tuple (,..., ) such that
(,..., ) = 1.
We will say that the function (,..., ) is generated by the function (,..., ) as a result of extended admissible changes, if:
- the special decomposition () is generated as a result of extended admissible changes in the decomposition (),
- the function (,..., ) is generated by the special decomposition ().
Theorem 6.4. Let (,..., ) be a satisfiable Boolean function represented in conjunctive normal form with clauses.
If the function (,..., ) is generated by the function (,..., ) as a result of extended admissible changes, then (,..., ) is a satisfiable function.
Proof. Let () be a special decomposition generated by the function (,..., ). Since (,..., ) is a satisfiable function, then there is some Boolean assignment tuple (,..., ) such that (,..., ) = 1. At the same time, according to Theorem 2.3, the ordered set
is a special covering for the set () under the decomposition ().
We will show that as a result of applying any operation of extended admissible change, we obtain a special decomposition in which there will exist a special covering for the set ().
Let’s consider two cases:
a) the permuting operation is not applied during these changes.
In this case, according to Theorem 4.2, as a result of any operation we obtain a new special decomposition in which there exists a special covering for the set ().
In addition, the subsets included in the special covering have the same superscripts as in the original covering, (,..., ). By Theorem 2.3, this means that as a result
b) during the extended admissible changes, we apply the permutation procedure to the -th ordered pair of the current decomposition. Let (,..., ,..., ) be the tuple of superscripts of the subsets make up the current special covering.
By definition, after the permutation, (,..., ,..., ) will be the tuple of superscripts of the subsets in the special covering.
According to Theorem 2.3, this means that the function generated by this special decomposition takes the value 1 if the variables are assigned the values (,..., ,..., ).
It is easy to see, that the final tuple of superscripts of the subset in the special covering will be a satisfying assignment for the function (,..., ). ∇
Theorem 6.5. Let (,..., ) and (,..., ) be arbitrary Boolean functions both represented in conjunctive normal form with clauses. Let there also exist Boolean assignment tuples (,..., ) and (,..., ) such that (,..., ) = 1 and (,..., ) = 1.
Then, the function (,..., ) is generated by the function (,..., ), and the function (,..., ) is generated by the function (,..., ), as a result of extended admissible changes.
Proof. Let the ordered sets
()={(,),...,(,)}and
()={(,),...,(,)}
be special decompositions of the sets and (), respectively.
The functions (,..., ) and (,..., ) are satisfiable, hence the ordered sets
={,...,}and={,...,}
will be special coverings for the sets () and (), respectively, under these decompositions.
We will prove that the function (,..., ) is generated by the function (,..., ) as a result of extended admissible changes.
Consider the tuples (,..., ) and (,..., ), which also are the tuples of superscripts of the subsets included in and , respectively.
We compare whether these tuples are the same.
- if (,..., ) coincides with (,..., ), then we use the procedure described in Theorem 4.3 to obtain the function (,..., ).
- if these tuples do not match, we compare their elements in pairs:
For any ∈ {1,..., }, if , we assign the value to the element .
It is easy to see that this operation is equivalent to the permutation of the components of the ordered pair (, ), which is an admissible change. Therefore, we also permute the components of this ordered pair.
As a result of all these operations the special decomposition () turns out to another special decomposition. In addition, there exists a special covering under this decomposition such that (,..., ) will be the tuple of superscripts of the subsets included in it.
On the other hand, the function generated by this special decomposition takes the value 1 if the variables are assigned the values (,..., ).
Let’s denote this function by (,..., ). Since the function (,..., ) is generated by the function (,..., ), then using the Theorem 4.4, it is enough to proof that the function (,..., ) is generated by the function (,..., ).
Thus, we obtained that ,..., ) is a satisfying assigning tuple for the functions
(,...,)and(,...,):
(,...,)=1and(,...,)=1.
Obviously, the conditions of the Theorem 4.3 are satisfied for the functions (,..., ) and (,..., ).
Thus, the function (,..., ) is generated by the function (,..., ). Therefore, the function (,..., ) is also generated by the function (,..., ). In a similar way we prove that the function (,..., ) is generated by the function (,..., ). ∇
Theorem 6.6. Let (,..., ) and (,..., ) be arbitrary Boolean functions both represented in conjunctive normal form with clauses. Let there also exist Boolean assignment tuples (,..., ) and (,..., ) such that
(,...,)=1and(,...,)=1.
Then, the function (,..., ) generates the function (,..., ) as a result of extended admissible changes in no more than () elementary operations, for some constant .
Proof. Suppose that the pair of (0,1)-matrices ((), ()) corresponds to the special decomposition (). According to Proposition 5.3, the pair of matrices can be generated by the function (,..., ) in no more than () elementary operations for some constant .
We will use the procedure described during the proof of Theorem 6.5.
So, let (,..., ) be a function which takes the value 1 if the variables are assigned the values ,..., . Recall that (,..., ) is the function generated by the ordered pair of matrices that is obtained as a result of permutation of some ordered pairs of rows included in the ordered pair of (0,1)-matrices ((), ()).
Obviously, the maximum number of elementary operations required for permuting the components of an ordered pair of rows included in ((), ()) does not exceed the number for some constant .
Hence, maximum number of elementary operations required for permuting the components of all needed ordered pairs does not exceed the number ().
Since (,..., ) = 1 and (,..., ) = 1, then according to Theorem 5.6, the function (,..., ) generates the function (,..., ) as a result of admissible changes under the assignment tuple (,..., ) in no more than () elementary operations, for some constant . Combining these results, we can state:
Under the conditions of the theorem, the function (,..., ) generates the function
(,..., ) as a result of extended admissible changes in no more than () elementary operations, for some constant . ∇
Thus, using the concept of admissible changes we can state the following:
- for any natural numbers and , the set of satisfiable functions of variables, represented in conjunctive normal form with clauses, is partitioned into equivalence classes,
- the functions included in the same class have a common satisfiable assigning tuple.
- for any function included in a certain class, as a result of applying any admissible operation on this function, another satisfiable function included in the same class is obtained.
- any function of any equivalency class can be generated by an arbitrary function of the same class in polynomial time.
Extending the rules of the admissible changes, we obtained an interesting result.
For any natural numbers and , all satisfiable functions of variables, represented in conjunctive normal form with clauses, are generated by each other in polynomial time, creating a chain of satisfiable functions in parallel.
Author Contributions
Stepan Margaryan is the sole author. The author read and approved the final manuscript.
Conflicts of Interest
The authors declare no conflicts of interest.
References
[1] |
Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach 2007.
|
[2] |
Kenneth H. Rosen, Discrete Mathematics and its Applications, seventh edition, 2012.
|
[3] |
Edward R. Scheinerman, Mathematics: A Discrete Introduction, Third Edition 2013.
|
[4] |
Cook, S. A., The complexity of theorem - proving procedures. in Conference Record of. Third Annual ACM Symposium on Theory of Computing (1971), 151–158.
|
[5] |
Karp, R. M., Reducibility among combinatorial problems. In Complexity of Computer, Computations, (1972), R. E. Miller and J. W. Thatcher, Eds., Plenum Press, 85–103.
|
[6] |
Michael Sipser, Introduction to the Theory of Computation, third edition 2012.
|
[7] |
Yves Crama, Peter L. Hammer, Boolean Functions. Theory, Algorithms, and Applications, 2011.
|
[8] |
Peter G´acs Boston University and L´aszl´o Lov´asz Yale University, Complexity of Algorithms Lecture Notes, Spring 1999.
|
[9] |
N. Creignou, S. Khanna, M. Sudan. Complexity Classifications of Boolean Constraint. Satisfaction Problems. Society for Industrial and Applied Mathematics, 2001.
|
[10] |
Armin Biere, Marijn Heule, Hans van Maaren and Toby Walsh, Handbook of Satisfiability. IOS Press, 2008.
|
[11] |
Evgeny Dantsin and Edward A. Hirsch, Worst-Case Upper Bounds, copyright 2008. SIAM J. Comput., vol 4, No. 1, March 1975.
|
[12] |
Thomas J. Schaefer, The complexity of Satisfiability Problems. Department of Mathematics University of California, Berkeley, California 94720.
|
[13] |
Fuzhen Zhang, Matrix Theory, Basic Results and Techniques, Second Edition, 2011.
|
[14] |
Charles C. Pinter, A Book of Set Theory, 2014.
|
[15] |
Thomas Jech, Set Theory, The Third Millennium Edition, 2003.
|
[16] |
Luke Adams, Universal Totally Ordered Sets, May 11, 2018.
|
Cite This Article
-
APA Style
Margaryan, S. (2025). Special Coverings of Sets and Boolean Functions. American Journal of Mathematical and Computer Modelling, 10(3), 84-97. https://doi.org/10.11648/j.ajmcm.20251003.11
Copy
|
Download
ACS Style
Margaryan, S. Special Coverings of Sets and Boolean Functions. Am. J. Math. Comput. Model. 2025, 10(3), 84-97. doi: 10.11648/j.ajmcm.20251003.11
Copy
|
Download
AMA Style
Margaryan S. Special Coverings of Sets and Boolean Functions. Am J Math Comput Model. 2025;10(3):84-97. doi: 10.11648/j.ajmcm.20251003.11
Copy
|
Download
-
@article{10.11648/j.ajmcm.20251003.11,
author = {Stepan Margaryan},
title = {Special Coverings of Sets and Boolean Functions
},
journal = {American Journal of Mathematical and Computer Modelling},
volume = {10},
number = {3},
pages = {84-97},
doi = {10.11648/j.ajmcm.20251003.11},
url = {https://doi.org/10.11648/j.ajmcm.20251003.11},
eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajmcm.20251003.11},
abstract = {We will study some properties of Boolean functions based on newly introduced concepts called “Special Decomposition of a Set’’ and “Special Covering of a Set’’. The introduced concepts easily solve the question of how changes in clauses affect the resulting value of a function. They easily determine a clause as well as the literals that can be added to or removed from the clause so that the satisfiability of the function is preserved. The concept of generating a satisfiable function by another satisfiable function through admissible changes in the function's clauses is also introduced. If the generation of a function by another function is defined as a binary relation, then the set of satisfiable functions of n variables, represented in conjunctive normal form with m clauses is partitioned to equivalence classes. Moreover, we prove that any two satisfiable Boolean functions of n variables, represented in conjunctive normal form with m clauses, can be generated from each other in polynomial time.},
year = {2025}
}
Copy
|
Download
-
TY - JOUR
T1 - Special Coverings of Sets and Boolean Functions
AU - Stepan Margaryan
Y1 - 2025/07/23
PY - 2025
N1 - https://doi.org/10.11648/j.ajmcm.20251003.11
DO - 10.11648/j.ajmcm.20251003.11
T2 - American Journal of Mathematical and Computer Modelling
JF - American Journal of Mathematical and Computer Modelling
JO - American Journal of Mathematical and Computer Modelling
SP - 84
EP - 97
PB - Science Publishing Group
SN - 2578-8280
UR - https://doi.org/10.11648/j.ajmcm.20251003.11
AB - We will study some properties of Boolean functions based on newly introduced concepts called “Special Decomposition of a Set’’ and “Special Covering of a Set’’. The introduced concepts easily solve the question of how changes in clauses affect the resulting value of a function. They easily determine a clause as well as the literals that can be added to or removed from the clause so that the satisfiability of the function is preserved. The concept of generating a satisfiable function by another satisfiable function through admissible changes in the function's clauses is also introduced. If the generation of a function by another function is defined as a binary relation, then the set of satisfiable functions of n variables, represented in conjunctive normal form with m clauses is partitioned to equivalence classes. Moreover, we prove that any two satisfiable Boolean functions of n variables, represented in conjunctive normal form with m clauses, can be generated from each other in polynomial time.
VL - 10
IS - 3
ER -
Copy
|
Download