From SAT to SAT-UNSAT using P systems with dissolution rules

DP is the class of problems that are the differences between two languages from NP. Most difficult problems from DP are called DP-complete problems, that can be seen as the conjunction of an NP-complete problem and a co-NP-complete problem. It is easy to see that the problem P vs NP is equivalent to the problem P vs DP, and therefore DP-complete problems would be better candidates to attack the conjecture, since they seem to be harder than NP-complete problems. In this paper, a methodology to transform an efficient solution of an NP-complete problem into an efficient solution of a DP-complete problem is applied. More precisely, a solution to SAT is given by means of a uniform family of recognizer polarizationless P systems with active membranes with dissolution rules and division rules for both elementary and non-elementary membranes, and later it is transformed into a solution to the problem SAT-UNSAT.


Introduction
Membrane Computing is a computing paradigm introduced by Gh. Păun in 1998 [12]. It gives rise to computing models called P systems or membrane systems, that are inspired by the behavior and structure of living cells. Some different types of P systems exist, the three more popular are: celllike membrane systems, having a hierarchical structure of membranes; tissue-like membrane systems, where cells are connected with other cells and with the environment and can interchange objects between them; and neural-like membrane systems, where neurons are connected as in the brain.
One of the most prominent research lines in this framework is computational complexity theory, where different classes of P systems are analyzed to know which problems can be solved efficiently in them [15]. For this purpose, recognizer membrane systems were introduced in [16], being systems capable of solving decision problems giving a certain answer in the last step of the computation. An efficient solution to a decision problem is usually given by means of an infinite family of P systems in contrast to the solution of a problem by means of a unique Turing machine. The difference between them is that, while in Turing machine, we have access to an infinite tape, with P systems, we are allowed to access only to a finite number of resources. Therefore, we can define a family of P systems = { (u) | u ∈ I X } , being I X the set of instances of the decision problem X.
Inspired by the concept of uniformity in circuits, a uniform family of P systems solving a decision problem X is defined as a family = { (n) | n ∈ ℕ} . Let (cod, s) be an ordered pair of polynomial-time computable functions. We say that each P system (n) solves all the instances u of X such that n = s(u) . Function s thus corresponds to the intuitive concept of size of the instance, while cod(u) represents an encoding of the instance into a multiset of objects, that will be present in the input compartment of the P system at the initial configuration. The instance u ∈ I X will be processed by the P system (s(u)) with input multiset cod(u), denoted by (s(u)) + cod (u) . The family is polynomially bounded, sound and complete with regard to (X, cod, s), being cod the polynomial-time computable encoding of the 1 3 instance (i.e. the input of the system) and s the polynomialtime computable function that "selects" the P system corresponding to the size of the input; that is, the system will return yes if and only if X (u) = 1 , and it will halt in a time bounded by a polynomial.
We denote that a problem X can be efficiently solved by a uniform family of recognizer membrane systems from R by X ∈ R . The class R is closed under complement and under polynomial-time reductions. Let X be a C-complete problem. If X ∈ R , then ∪ − ⊆ R . For more details, see [15].
A computing model is said to be efficient (respectively, presumably efficient) with respect to a computational resource if it has the ability to provide solutions that use a reasonable (i.e. polynomial) amount of the resource. In this work, the computational resource is time, and therefore we will say that a computing model is said to be efficient if it has the ability to provide polynomial-time solutions for intractable problems (resp., NP-complete problems) [7]. The term presumably efficient refers to the fact that, as generally believed, if P ≠ NP then each NP-complete problem is intractable and, consequently, any presumably efficient model would be efficient. The class of problems efficiently solvable by a computing model R is denoted by R . This complexity class is closed under complementary and under polynomial-time reductions [15]. The computing model AM of recognizer P systems with active membranes and electrical charges is presumably efficient [13], as well as the computing model AM 0 (+d, +ne) of recognizer polarizationless P systems with active membranes which makes use of dissolution rules and division for elementary and nonelementary membranes [4]. However, the computing model AM 0 (−d) of recognizer polarizationless P systems with active membranes not making use of dissolution rules is not efficient, even when allowing division rules for elementary and non-elementary membranes [4]. Thus, if R is a presumably efficient computing model of recognizer membrane systems, then ∪ co-NP ⊆ R . Several variants of P systems have been demonstrated to be presumably efficient. A solution to QSAT, a well-known PSPACE-complete problem, has been given in the framework of P systems with active membranes and division rules for elementary and non-elementary membranes but only evolution rules of the RHS limited to length 1 [9]. When creation rules are used instead of division rules as a method of generating an exponential workspace in polynomial time, it is possible to get rid of polarizations to obtain a solution to the QSAT problem [8]. A new research line taking tissue P systems with symport/antiport rules where objects can evolve during the application of the rules has been developed recently. Several results have been obtained, and new solutions to NP-complete and PSPACE-complete problems have been given in this framework [17].
In [18], a methodology to translate solutions of problems X 1 and X 2 to the product problem X 1 ⊗ X 2 is presented. Given an efficient solution to an NP-complete problem by means of a uniform family of recognizer membrane systems, it is easy to obtain a solution to its corresponding co-NPcomplete problem, only by changing the role of objects yes and no through the computation. Therefore, this methodology can be particularly used to transform a solution of an NP-complete problem X into a solution of the DP-problem X ⊗ X . Obtaining this kind of solutions, we can attack the P vs DP problem giving efficiency frontiers between models of membrane systems. Moreover, it is easy to see that this problem is equivalent to the P vs NP problem, since any solution to one of the problems would lead to the same solution in the other one.
In this paper, we apply the methodology explained in that paper to the problem SAT with a uniform family of recognizer polarizationless P systems with active membranes with dissolution rules and division rules for both elementary and non-elementary membranes; that is, the main result of this paper is that ∪ − ⊆ AM 0 (+d,+ne) . This result can be extracted (and an even stronger) result can be extracted from [5] and [6]. The main idea of this protocol is that it can be automated.
The rest of the paper is organized as follows: In Section 2, some concepts will be introduced to make the work self-contained. The complexity class DP is introduced in Section 3. In Section 5, an efficient solution to SAT in AM 0 (+d, +ne) is given, and then the methodology will be applied in Section 6. We finish the work with some conclusions and research lines being investigated.

Preliminaries
Some concepts will be introduced for making the work self-contained.
An alphabet is a non-empty set whose elements are called symbols. A string u over an alphabet is an ordered finite sequence of symbols. The length of a string u, denoted by |u|, is the number of occurrences of symbols that it contains. The empty string (with length 0) contains no symbols, and it is denoted by . The set of all strings over an alphabet is denoted by * . A language over is a subset of * . If L 1 , L 2 are languages over , the set-theoretic difference of L 1 and L 2 (in this order), denoted by L 1 ⧵ L 2 , is defined as follows: A multiset m over an alphabet is a mapping from onto the set ℕ of natural numbers. A multiset m over is finite (respectively, empty) if the set {x ∈ | m(x) > 0} is a finite (respectively, empty) set. If m, m ′ are multisets over , then the union of m and m ′ , denoted by m + m � , is the multiset over defined as follows:

The Cantor pairing function
The Cantor pairing function is the mapping from ℕ × ℕ onto ℕ defined as follows: the natural number Cantor pairing function is a primitive recursive function and bijective from ℕ × ℕ onto ℕ . Consequently, for each natural number t, there exists a unique pair of natural numbers t 1 , t 2 such that t = ⟨t 1 , t 2 ⟩.

Decision problems and languages
A decision problem X is an ordered pair (I X , X ) , where I X is a language over a finite alphabet X and X is a total boolean function over I X . The elements of I X are called instances of the problem X. If X (u) = 1 (respectively, X (u) = 0 ) then we say that the answer of the problem for instance u is "yes" (respectively, "no"). Each decision problem X has associated a language L X over X : the set of instances whose answer is "yes". Conversely, every language L over an alphabet has associated a decision problem whose set of instances is * , and for each u ∈ * the answer of the problem is "yes" if and only if u ∈ L.
The complement problem X of a decision problem X = (I X , X ) is the decision problem with the same set of instances, characterized by the following property: for each instance u ∈ I X , the answer of X for u is "yes" if and only if the answer of X for u is "no". Obviously, X = X .
The class P (respectively, NP) is the class of decisions problems efficiently solvable by deterministic (resp., nondeterministic) Turing machines. The class co-NP is the class of decision problems such that if X ∈ − , then the complementary problem X is in NP.
In accordance with this definition, a problem X is an NPcomplete problem if and only if its complement problem X is a co-NP-complete problem.

The satisfiability problem
Let us recall that the set of propositional Boolean variables VP is a countably infinite set {x 1 , x 2 , … } such that each of their elements can take only two possible Boolean values (truth values) from {0, 1} . Boolean expressions are captured through the recursive definition of the minimal set BE verifying: (a) any propositional Boolean variable is in BE; (b) if is in BE then its negation ¬ is also in BE; and (c) if 1 and 2 are in BE, then its disjunction 1 ∨ 2 is also in BE. Also, if 1 and 2 are in BE then its conjunction 1 ∧ 2 is also in BE. Every Boolean expression has a finite number of Boolean variables associated with it, being denoted by Var( ) . A truth assignment for a Boolean expression is a mapping from Var( ) onto the set {0, 1} . According to the classical definition of truth tables for negation and disjunction, every truth assignment for a Boolean expression provides a unique Boolean value to it. If the associated truth value is 1, then it is said that makes the Boolean expression true.
A literal is a Boolean variable or the negation of a Boolean variable. A clause is a finite disjunction of literals. Moreover, a Boolean expression is in conjunctive normal form if it is a finite conjunction of clauses. We say that a Boolean expression is in a simplified conjunctive normal form if it is in conjunctive normal form, literals are not repeated in each clause, and a literal and its negation do not appear in the same clause. We say that a Boolean expression is satisfiable if and only if there exists a truth assignment for making such an expression true. Let us recall that the satisfiability problem, denoted by SAT, is the problem of deciding whether a given Boolean formula in a simplified conjunctive normal form is satisfiable. The complement problem is denoted by : determining whether or not a Boolean expression in a simplified conjunctive normal form is unsatisfiable. That is, given a Boolean expression in a simplified conjunctive normal form, determines whether all truth assignments for make it false. It is well known that the SAT problem is an NP complete problem [3]. Thus, the UNSAT problem is a co-NP complete problem.

The complexity class DP
The complexity class DP was introduced by C.H. Papadimitriou and M. Yannakis in 1982 [10] as follows: Definition 1 A language L is in the class DP if and only if there are two languages L 1 and L 2 such that L 1 , L 2 ∈ and The complexity class DP can be easily characterized by the following property: a language L is in DP if and only if there exist two languages L 1 and L 2 in NP such that L = L 1 ∩ L 2 . Class DP is the second level in the Boolean hierarchy. Besides, classes in the Boolean hierarchy can be described by finite unions of DP sets (or by finite intersections of co-DP sets). For more details, see [2,19].
The complexity class DP can also be expressed in terms of decision problems as follows: a decision problem X is in class DP if and only if the language L X associated with it belongs to class DP; that is, if there are two decision problems X 1 = (I X 1 , X 1 ) and X 2 = (I X 2 , X 2 ) such that L X 1 , L X 2 are languages in NP and L X = L X 1 ∩ L X 2 . It is easy to prove that ∪ co-NP ⊆ ∩ co-DP. Next, we define the product of two decision problems and some properties of the new concept are analyzed. Definition 2 Let X 1 = (I X 1 , X 1 ) and X 2 = (I X 2 , X 2 ) be two decision problems. The product problem of X 1 and X 2 , denoted by X 1 ⊗ X 2 , is the decision problem (I X 1 ⊗X 2 , X 1 ⊗X 2 ) defined as follows: I X 1 ⊗X 2 = I X 1 × I X 2 , and for each (u 1 , u 2 ) ∈ I X 1 ⊗X 2 we have X 1 ⊗X 2 (u 1 , u 2 ) = 1 if and only if X 1 (u 1 ) = 1 and X 2 (u 2 ) = 1.
A product problem Y X can be naturally associated to a problem X. This problem Y X is the product problem, defined as follows: According to these definitions, the following results concerning to the product of two decision problems are obtained.
Proposition 1 Let X 1 , X 2 be decision problems.
-If X 1 ∈ and X 2 ∈ co-NP then X 1 ⊗ X 2 ∈ . -If X 1 is an NP complete problem and X 2 is a co-NP complete problem then X 1 ⊗ X 2 is a DP complete problem. -If X 1 is an NP complete problem then the product problem X 1 ⊗ X 1 is a DP complete problem.
Since the SAT problem is an NP complete problem we deduce that the product problem ⊗ is a DP complete problem. This problem is referred as the SAT-UNSAT problem [11] and can be expressed as follows: given two Boolean expressions 1 , 2 in simplified conjunctive normal forms, determine whether or not 1 is satisfiable and 2 is unsatisfiable.

Recognizer polarizationless P systems with active membranes
Polarizationless P systems with active membranes were introduced as a weaker version of P systems with active membranes, where no polarizations (or only one polarization) are taken into account. A recognizer P system with active membranes of degree q ≥ 1 is a tuple = ( , , , H, M 1 , … , M q , R, i in , i out ) , where: 1. is a finite (working) alphabet.
3. is a rooted tree whose nodes are bijectively labelled by elements of the set H = {1, … , q}. 4. M i , 1 ≤ i ≤ q are multisets over . 5. R is the set of rules over of the following forms:

i in ∈ H, i out = env.
A configuration of a P system is given by the state of the system at a certain moment, that is formed by the multisets of objects in each region (both membranes and the environment), and the current membrane structure. A (finite) sequence of configurations (C 0 , C 1 , … , C n ) is called a computation, given that: (a) The first configuration C 0 is given by the objects from the initial multisets and the input and (b) for each configuration C t+1 , t ∈ ℕ , C t+1 can be obtained from C t by the application of rules by the semantics given in [14]. A solution to a certain decision problem X by means of a uniform family of P systems from R is given by ( , cod, s) , such that for each n ∈ ℕ , there exists (n) ∈ that solves all the instances of X of size n. In this sense, a solution is characterized by two main keypoints: (a) All the computations halt; and (b) if x (u) = 1 , then the P system (s(u)) + cod(u) will halt and will send an object yes to the environment at the last step of the computation; otherwise, it will return an object no to the environment.
For a broader definition of recognizer membrane systems and polarizationless P systems with active membranes, we refer the reader to [14].

A solution to SAT in AM 0 (+d)
Let ⟨x, y⟩ be the Cantor pairing function. Then, is a recognizer P system with active membranes, with dissolution rules and division rules for elementary and nonelementary membranes that solves the instances with n variables and p clauses, where: M k = �, 3 ≤ k ≤ 2n + p + 2; 6. The set R contains the following rules: 6.1. Rules to generate the 2 n possible truth assignments: 6.2 Rules to check which clauses are satisfied: 7. i in = p + 2 and i out = env.

An instance with n variables and p clauses from
SAT is defined as follows: Let Var( ) = {x 1 , … , x n } . Then, = C 1 ∧ … ∧ C p , w h e r e C j = l j,1 ∨ … ∨ l j,r j , l j,k ∈ {x i , ¬x i }, x i ∈ Var( ) . cod(u) is the set that contains x i,j if the variable x i appears in the clause C j and x i if ¬x i appears in the clause C j .

A glance to the computation
The computation is divided into four stages.
1. Generation of truth assignments: In this stage, 2 n membranes with label 2n + p + 2 are generated. Each object a i,i−1 generates two new membranes each two steps with rules from 6.1, one of them with an object t i and the other with an object f i , representing the value acquired of the corresponding variable i. This stage takes 2n computational steps. 2. First checking stage: In this stage, rules from 6.2 will be used to check which clauses of are satisfied. For this, objects t i , x i,j and x i,j will interact in membranes 2 + p + 2i and 2 + p + 2i − 1 to return an object c j in the case that the literal i satisfies the clause j. Each variable is checked in 3 computational steps. Therefore, this stage takes 3n computational steps. In the Figure 1, each possible configuration can be observed. 3. Second checking stage: In this stage, with rules from 6.3, objects c j dissolve the corresponding membrane labelled by 2 + j . If membrane 3 is dissolved, the corresponding truth assignment makes true the whole formula, and an object p appears in membrane 2. 4. Output stage: If an object p is present in membrane labelled by 2 in the configuration C 5n+p , there is at least one truth assignment that makes true the formula . Therefore, an object will be sent to the environment. Otherwise, rules from 6.4 will transform the object d 5n+p+1 in an object , that will be sent to the environment. This stage takes 2 steps in the affirmative case and 3 steps in the negative case. This process can be observed in Figure 2.

Application of the methodology to an NP-complete problem
Let be a recognizer polarizationless P system with dissolution rules that solve the instances of SAT of n 1 variables and p 1 clauses as described above. We can define a recognizer polarizationless P system with dissolution rules (2) (⟨n 2 , p 2 ⟩) = ( (2) , (2) , (2) , H (1) , M (2) 2n 1 +p 1 +4 , … , M (2) 2n 1 +p 1 +2n 2 +p 2 +6 , that solves the instances of of n 2 variables and p 2 clauses as follows: Since (i) (t i ) should be disjoint, (2) (t 2 ) will consist of the symbols from (1) (t 1 ) in capital letters. All the rules are changed according to this. To make H (1) and H (2) disjoint, given n 1 , n 2 , p 1 , p 2 > 0 , we change the label i r 8,i , r 12,i,j r 9,i , r r14,i,j r 10,i Fig. 1 Possible evolution of checking a single variable i. The membrane shown in each step corresponds with the last non-dissolved membrane of the branch. For instance, in the top row, object t i dissolves membrane 2i in the first step, and therefore a membrane labelled by 2i − 1 would be the last non-dissolved membrane of that branch. Some renaming steps are made for synchronisation, so that the checking takes always 3 computational steps, for each one of the four cases. Each row corresponds to a different possibility of assignment: The first row, the behaviour of a positive literal with a positive assignment; the second row, it is the case of a negative literal with a positive assignment; the third row corresponds to a positive literal with a negative assignment; and in the fourth row there exists a negative literal with a negative assignment  Fig. 2 Above, in the positive case, object p dissolves the membrane 2 in the first step, stopping the evolution of the object d 5n+p+1 . Below, this object resides in the membrane 2 in the configuration C 5n+p+1 , dissolving that membrane and transforming into an object of H (2) to 2n 1 + p + 3 + i . In (i) we change objects and by i and i , respectively. Let t i = ⟨n i , p i ⟩ , and t = ⟨t 1 , t 2 ⟩ . Let q i = t i and d i = 2n i + p i + 3 . L e t p i (|u i |) = 5n i + p i + 3 . L e t m i = q i + d i + 2 = t i + 2n i + p i + 5 and n = max{d i + q i + p i (|u i |)} = max{t 1 + 2n 1 + p 1 + 5, t 2 + 2n 2 + p 2 + 5}.
Now we can define a recognizer P system that solves the problem ⊗ , defined as follows: An instance of the problem ⊗ is a pair of formulas ( 1 , 2 ) and We define a recognizer polarizationless P system with dissolution rules where: where: w h e r e h 1 = 2n 1 + p 1 + 3 , h 2 = 2n 1 + p 1 + 4 a n d h 3 = 6 + 2n 1 + 2n 2 + p 1 + p 2 . - is the set of rules of (i) (t i ) , for i = 1, 2 , obtained through the replacement of objects yes and no by objects i and i , respectively, in each rule. R * t is the following set of rules: 1 Rules for simultaneously transporting cod i (u i ) from r ′′ t to h (i) (t i ) , for i = 1, 2 and transforming it into cod i (u � i ) : 3 Rules for synchronizing the simulation of (i) (t i ) + cod i (u i ) in order to start at the (m i + 2)-th tran- ] 2n 1 +p 1 +2n 2 +p 2 +6 for 1 ≤ i ≤ n 2 4 R u l e s f o r s y n c h r o n i z i n g t h e i n s t a n t n = 2 + max{d i + q i + p i (|u i |) ∶ 1 ≤ i ≤ 2} in which the answers of (1) (t 1 ) + cod 1 (u 1 ) and (2) Rules for the output of the system (t) + cod(u 1 , u 2 ) : Apart from these rules, rules from R (1) (t 1 ) and R (2) (t 2 ) are present in the set of rules R i in = r �� t and i out = env.

Theorem 1 ⊗ ∈
AM 0 (+d,+ne) Proof It can be seen from the previous family of P systems that the previous P system takes an instance of the problem ⊗ , ( 1 , 2 ) , and it returns an object if and only if 1 is satisfiable and 2 is unsatisfiable. This system will return an object or an object , but not both, only in the last step of the computation. Taking into account the definition of n from above, the computation will take n + 4 computational steps in the affirmative case and n + 3 steps in the negative case.

Conclusion
In previous works, several solutions to NP-complete problems have been given, but while some of them this solution is non-uniform, in other there is a solution to other problem different than SAT. Since this work was though as a SAT-UNSAT solver, an efficient solution to SAT has been given in this paper by means of a uniform family of recognizer membrane systems from AM 0 (+d, +ne).
In [18], a methodology for transforming an efficient solution for an NP-complete problem into an efficient solution for a DP-complete problem was given. In this paper, we have applied this methodology to make easier to understand how can it be used to obtain efficient solutions for harder problems. The final result is that, given the fact that ∈ AM 0 (+d,+ne) , and we can apply the methodology to that solution (since it has dissolution rules, one of the main ingredients of this methodology), then ∪ − ⊆ AM 0 (+d,+ne) . From [1], we know that ⊆ AM 0 (+d,+ne) , so it seems to be a non-surprising result, since ⊆ . But the main contribution of this paper is to provide an example of the application of the methodology presented in [18], in such a way that every solution to a NP-complete problem can be transformed into a solution to its corresponding DP-complete problem. It is really interesting as the P vs NP problem is equivalent to the P vs DP problem. As DP-complete problems are supposed to be harder than NP-complete problems, they are better candidates to find a solution to the conjecture. Therefore, it is interesting to find borderlines between nonefficient computing models and models capable of efficiently solving DP-complete problems.
The most interesting research lines that arise from here is to create methodologies for different variants of P systems, such as tissue P systems with symport/antiport rules and other types of cell-like membrane systems. In general, we think that this process can be translated to any type of membrane system that has some minimum requirements. Another interesting research line is to apply the methodology to different solutions of decision problems, since a natural extension to the parallel resolution of n problems can arise from this protocol.