Logarithmic Space Veriﬁers on NP-complete

P versus NP is considered as one of the most important open problems in computer science. This consists in knowing the answer of the following question: Is P equal to NP? A precise statement of the P versus NP problem was introduced independently by Stephen Cook and Leonid Levin. Since that date, all eﬀorts to ﬁnd a proof for this problem have failed. NP is the complexity class of languages deﬁned by polynomial time veriﬁers M such that when the input is an element of the language with its certiﬁcate, then M outputs a string which belongs to a single language in P. Another major complexity classes are L and NL. The certiﬁcate-based deﬁnition of NL is based on logarithmic space Turing machine with an additional special read-once input tape: This is called a logarithmic space veriﬁer. NL is the complexity class of languages deﬁned by logarithmic space veriﬁers M such that when the input is an element of the language with its certiﬁcate, then M outputs 1. To attack the P versus NP problem, the NP-completeness is a useful concept. We demonstrate there is an NP-complete language deﬁned by a logarithmic space veriﬁer M such that when the input is an element of the language with its certiﬁcate, then M outputs a string which belongs to a single language in L.


Preliminaries
In 1936, Turing developed his theoretical computational model [12].The deterministic and nondeterministic Turing machines have become in two of the most important definitions related to this theoretical model for computation [12].A deterministic Turing machine has only one next action for each step defined in its program or transition function [12].A nondeterministic Turing machine could contain more than one action defined for each step of its program, where this one is no longer a function, but a relation [12].Let Σ be a finite alphabet with at least two elements, and let Σ * be the set of finite strings over Σ [3].A Turing machine M has an associated input alphabet Σ [3].For each string w in Σ * there is a computation associated with M on input w [3].We say that M accepts w if this computation terminates in the accepting state, that is M (w) = 1 (when M outputs 1 on the input w) [3].Note that M fails to accept w either if this computation ends in the rejecting state, that is M (w) = 0, or if the computation fails to terminate, or the computation ends in the halting state with some output, that is M (w) = y (when M outputs the string y on the input w) [3].
Another relevant advance in the last century has been the definition of a complexity class.A language over an alphabet is any set of strings made up of symbols from that alphabet [5].A complexity class is a set of problems, which are represented as a language, grouped by measures such as the running time, memory, etc [5].The language accepted by a Turing machine M , denoted L(M ), has an associated alphabet Σ and is defined by: We denote by t M (w) the number of steps in the computation of M on input w [3].For n ∈ N we denote by T M (n) the worst case run time of M ; that is: where Σ n is the set of all strings over Σ of length n [3].We say that M runs in polynomial time if there is a constant k such that for all n, T M (n) ≤ n k + k [3].In other words, this means the language L(M ) can be decided by the Turing machine M in polynomial time.Therefore, P is the complexity class of languages that can be decided by deterministic Turing machines in polynomial time [5].A verifier for a language L 1 is a deterministic Turing machine M , where: We measure the time of a verifier only in terms of the length of w, so a polynomial time verifier runs in polynomial time in the length of w [3].A verifier uses additional information, represented by the symbol c, to verify that a string w is a member of L 1 .This information is called certificate.N P is the complexity class of languages defined by polynomial time verifiers [10].
Lemma 1.Given a language L 1 ∈ P , a language L 2 is in N P if there is a deterministic Turing machine M , where: and M runs in polynomial time in the length of w.In this way, N P is the complexity class of languages defined by polynomial time verifiers M such that when the input is an element of the language with its certificate, then M outputs a string which belongs to a single language in P .
Proof.If L 1 can be decided by the Turing machine M in polynomial time, then the deterministic Turing machine M (w, c) = M (M (w, c)) will output 1 when w ∈ L 2 .Consequently, M is a polynomial time verifier of L 2 and thus, L 2 is in N P .
If L 1 is a language such that L ≤ p L 1 for some L ∈ NP-complete, then L 1 is NP-hard [5].Moreover, if L 1 ∈ N P , then L 1 ∈ NP-complete [5].A principal NP-complete problem is SAT [6].An instance of SAT is a Boolean formula φ which is composed of: 1. Boolean variables: x 1 , x 2 , . . ., x n ; 2. Boolean connectives: Any Boolean function with one or two inputs and one output, such as ∧(AND), ∨(OR), (NOT), ⇒(implication), ⇔(if and only if); 3. and parentheses.
A truth assignment for a Boolean formula φ is a set of values for the variables in φ.A satisfying truth assignment is a truth assignment that causes φ to be evaluated as true.A formula with a satisfying truth assignment is a satisfiable formula.The problem SAT asks whether a given Boolean formula is satisfiable [6].We define a CN F Boolean formula using the following terms: A literal in a Boolean formula is an occurrence of a variable or its negation [5].A Boolean formula is in conjunctive normal form, or CN F , if it is expressed as an AND of clauses, each of which is the OR of one or more literals [5].A Boolean formula is in 3-conjunctive normal form or 3CN F , if each clause has exactly three distinct literals [5].
For example, the Boolean formula: is in 3CN F .The first of its three clauses is ( ), which contains the three literals x 1 , x 1 , and x 2 .Another relevant NP-complete language is 3CN F satisfiability, or 3SAT [5].In 3SAT , it is asked whether a given Boolean formula φ in 3CN F is satisfiable.
A logarithmic space Turing machine has a read-only input tape, a write-only output tape, and read/write work tapes [12].The work tapes may contain at most O(log n) symbols [12].In computational complexity theory, L is the complexity class containing those decision problems that can be decided by a deterministic logarithmic space Turing machine [10].N L is the complexity class containing the decision problems that can be decided by a nondeterministic logarithmic space Turing machine [10].
A logarithmic space transducer is a Turing machine with a read-only input tape, a write-only output tape, and read/write work tapes [12].The work tapes must contain at most O(log n) symbols [12].A logarithmic space transducer M computes a function f : Σ * → Σ * , where f (w) is the string remaining on the output tape after M halts when it is started with w on its input tape [12].We call f a logarithmic space computable function [12].We say that a language L 1 ⊆ {0, 1} * is logarithmic space reducible to a language L 2 ⊆ {0, 1} * , written L 1 ≤ l L 2 , if there exists a logarithmic space computable function f : {0, 1} * → {0, 1} * such that for all x ∈ {0, 1} * , The logarithmic space reduction is frequently used for L and N L [10].A Boolean formula is in 2-conjunctive normal form, or 2CN F , if it is in CN F and each clause has exactly two distinct literals.There is a problem called 2SAT , where we asked whether a given Boolean formula φ in 2CN F is satisfiable.2SAT is complete for N L [10].Another special case is the class of problems where each clause contains XOR (i.e.exclusive or) rather than (plain) OR operators.This is in P , since an XOR SAT formula can also be viewed as a system of linear equations mod 2, and can be solved in cubic time by Gaussian elimination [9].We denote the XOR function as ⊕.The XOR 2SAT problem will be equivalent to XOR SAT, but the clauses in the formula have exactly two distinct literals.XOR 2SAT is in L [2], [11].
We can give a certificate-based definition for N L [3].The certificate-based definition of N L assumes that a logarithmic space Turing machine has another separated read-only tape [3].On each step of the machine the machine's head on that tape can either stay in place or move to the right [3].In particular, it cannot reread any bit to the left of where the head currently is [3].For that reason this kind of special tape is called "read once" [3].Definition 2. A language L 1 is in N L if there exists a deterministic logarithmic space Turing machine M with an additional special read-once input tape polynomial p : N → N such that for every x ∈ {0, 1} * , where by M (x, u) we denote the computation of M where x is placed on its input tape and u is placed on its special read-once tape, and M uses at most O(log |x|) space on its read/write tapes for every input x where | . . .| is the bit-length function [3].M is called a logarithmic space verifier [3].
We state the following Hypothesis: Hypothesis 3. Given a language L 1 ∈ L, there is a language L 2 in NP-complete with a deterministic Turing machine M , where: when M runs in logarithmic space in the length of w, u is placed on the special read-once tape of M , and u is polynomially bounded by w.In this way, there is an NP-complete language defined by a logarithmic space verifier M such that when the input is an element of the language with its certificate, then M outputs a string which belongs to a single language in L.

Motivation
The P versus N P problem is a major unsolved problem in computer science [4].This is considered by many to be the most important open problem in the field [4].It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a US$1,000,000 prize for the first correct solution [4].It was essentially mentioned in 1955 from a letter written by John Nash to the United States National Security Agency [1].However, the precise statement of the P = N P problem was introduced in 1971 by Stephen Cook in a seminal paper [4].In 2012, a poll of 151 researchers showed that 126 (83%) believed the answer to be no, 12 (9%) believed the answer is yes, 5 (3%) believed the question may be independent of the currently accepted axioms and therefore impossible to prove or disprove, 8 (5%) said either do not know or do not care or don't want the answer to be yes nor the problem to be resolved [7].It is fully expected that P = N P [10].Indeed, if P = N P then there are stunning practical consequences [10].For that reason, P = N P is considered as a very unlikely event [10].Certainly, P versus N P is one of the greatest open problems in science and a correct solution for this incognita will have a great impact not only in computer science, but for many other fields as well [1].Whether P = N P or not is still a controversial and unsolved problem [1].In this work, we show some results that might help us to solve one of the most important open problems in computer science.This work is implemented into a GitHub Project programmed in Scala [13].In this GitHub Project, we use the Assertion on the properties of the instances of each problem and the Unit Test for checking the correctness of every reduction [13].

Problems
These are the problems that we are going to discuss:

Definition 4. MONOTONE NAE 3SAT
INSTANCE: A Boolean formula φ in 3CN F such that each clause has no negation variables.
QUESTION: Is there a truth assignment for φ such that each clause has at least one true literal and at least one false literal?REMARKS: This is equivalent to the special case of the NP-complete problem known as SET SPLITTING when the sets in the input have exactly three elements and therefore, MONOTONE NAE 3SAT ∈ NP-complete [6].

Definition 5. MINIMUM EXCLUSIVE-OR 2-SATISFIABILITY INSTANCE: A positive integer K and a Boolean formula φ that is an instance of XOR 2SAT such that each clause has no negation variables.
QUESTION: Is there a truth assignment in φ such that at most K clauses are unsatisfiable?
REMARKS: We denote this problem as M IN ⊕ 2SAT .

Definition 6. K EXACT COVER-2 INSTANCE:
A positive integer K, a "universe" set U of natural numbers and a family of n sets S i ⊆ U with the property that every element in U appears at most twice in the list S 1 , . . ., Sn.
QUESTION: Is it the case there is a subfamily S 1 , . . ., S m with m ≤ n after removing K different numbers in U from the whole list S 1 , . . ., Sn, such that S i ∩S j = ∅ for 1 ≤ i = j ≤ m and S 1 ∪ . . .∪ S m = U where U is equal to the set U without the removed K different numbers?
REMARKS: We denote this problem as KEC-2.

Definition 7. EXACT SEPARATE COVER-2 INSTANCE:
A positive integer m, a family of disjoint sets U 1 , . . ., U k from a "universe" set U 1 ∪ . . .∪ U k = U and a collection of n pairs T i = (x, S i ) such that x is a positive integer and S i ⊆ U is a set with the property that every element in U appears at most twice in the list S 1 , . . ., Sn from the pairs T 1 , . . ., T n.For every pair T j = (x, S j ), the positive integer x appears exactly once in a single pair T i = (x, S i ) for i ≤ m.We assume the elements in the set S i of each pair T i appear sorted in the input with ascending order.Moreover, a set S i from a pair T i could be equal to the set ∅. Furthermore, if we have two pairs T i = (x, S i ) and T j = (y, S j ) such that x = y, i < j, S i = ∅ and S j = ∅, then the minimum element of S j is greater than the maximum element of S i .
QUESTION: Is it the case there is a family of sets S 1 , . . ., S n with n ≤ n, such that S i ∩ S j = ∅ for 1 ≤ i = j ≤ n where S i is equal to the union of sets j S j for all T j = (y, S j ) when x = y for a single value x and S 1 ∪ . . .∪ S n = U ? REMARKS: We denote this problem as ESC-2.

Definition 8. EXACT COVER-2 INSTANCE:
A "universe" set U and a family of n sets S i ⊆ U with the property that every element in U appears at most twice in the list S 1 , . . ., Sn.
Proof.Given a valid instance K, U, S 1 , . . ., Sm for KEC-2, we can create a certificate array A which contains the K different natural numbers in U sorted in ascending order that we are going to remove from the instance.We read at once the elements of the array A and we reject whether this is not a valid certificate: That is when the numbers are not sorted in ascending order, or the array A does not contain exactly K elements, or the array A contains a number that is not in U .While we read the elements of the array A, we remove them from the instance K, U, S Furthermore, we can make this verification in logarithmic space such that the array A is placed on the special read-once tape, because we read at once the elements in the array A and we remove the K different natural numbers from the output.Hence, we only need to iterate from the elements of the array A to verify whether the array is a valid certificate and also remove all the K different natural numbers from the sets S i in the pairs T i = (x, S i ).This logarithmic space verification will be the Algorithm 2. In this Algorithm we guarantee: 1.The family of sets U 1 , . . ., U k from a "universe" set U 1 ∪ . . .∪ U k = U are disjoint.

2.
Every element in U appears at most twice in the list S 1 , . . ., Sn from the pairs T 1 , . . ., T n .3. For every pair T j = (x, S j ), the positive integer x appears exactly once in a single pair T i = (x, S i ) for i ≤ m. 4. The elements in the set S i of each pair T i appear sorted in the input with ascending order.5.A set S i from a pair T i could be equal to the set ∅. 6.If we have two pairs T i = (x, S i ) and T j = (y, S j ) such that x = y, i < j, S i = ∅ and S j = ∅, then the minimum element of S j is greater than the maximum element of S i .
Note, in the loop e j from min to max−1, we do nothing when max−1 < min: Indeed, in that iteration the output pairs T i = (x, S i ) will comply with S i = ∅.Certainly, the variables of the Algorithm 2 use at most logarithmic space in relation to the length of the input.

Theorem 13. The Hypothesis 3 is true.
Proof.This is a consequence of Theorems 10, 11 and 12.

Discussion
Our reduction consists given an instance of an NP-complete problem and its certificate, then we output an element of another language in the class L. It is not a common reduction, but a verifier with output string in its tapes using a halting state instead of the accepting or rejecting state.We hope the existence of such verifier might be an evidence of P = N P , because we use a logarithmic space verifier on which is based the class N L and N L is a subset of P [10].
1 , . . ., Sm for KEC-2 just creating another instance m, U 1 , . . ., U k , T 1 , . . ., T n for ESC-2 where the "universe" set U = U 1 ∪ . . .∪ U k is equal to U without the K different numbers in A and m is the number of different sets from the list S 1 , . . ., Sm.The final pairs T i = (x, S i ) will not contain inside of S i any of the K different natural numbers in U .Therefore, we obtain that: (K, U, S 1 , . . ., Sm) ∈ KEC-2 if and only if (m, U 1 , . . ., U k , T 1 , . . ., T n ) ∈ ESC-2.