This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Polynomial Time Algorithm for 3SAT

Robert Quigley
Abstract

It is shown that any two clauses in an instance of 3SAT sharing the same terminal which is positive in one clause and negated in the other can imply a new clause composed of the remaining terms from both clauses. Clauses can also imply other clauses as long as all the terms in the implying clauses exist in the implied clause. It is shown an instance of 3SAT is unsatisfiable if and only if it can derive contradicting 1-terminal clauses in exponential time. It is further shown that these contradicting clauses can be implied with the aforementioned techniques without processing clauses of length 4 or greater, reducing the computation to polynomial time. Therefore there is a polynomial time algorithm that will produce contradicting 1-terminal clauses if and only if the instance of 3SAT is unsatisfiable. Since such an algorithm exists and 3SAT is NP-Complete, P = NP.

missingum@section Introduction

This section introduces the 3SAT problem, the implications of solving it in polynomial time, and the structure of the paper.

As seen in [1], The boolean satisfiability problem is given as a set of terminals, x1,x2,…,xnsubscriptπ‘₯1subscriptπ‘₯2…subscriptπ‘₯𝑛x_{1},x_{2},...,x_{n}, each of which can be assigned a value of True or False, combined by logical AND operators, logical OR operators, and negations. The problem is to determine whether or not there exists an assignment for each terminal that allows the instance to evaluate to True. As seen in [2], the satisfiability problem with exactly 3 literals per clause is NP-Complete. This is the same as the boolean satisfiability problem, but it is presented such that a clause contains exactly three terminals combined with logical OR operators and possibly negations, and each clause is combined with logical AND operators. The idea of NP-completeness shows that if one NP-complete problem can be solved in polynomial time, then all problems in the class NP can be solved in polynomial time. In other words, P = NP.

The paper is structured as follows:

  1. 1.

    Introduction

  2. 2.

    Standard Definitions

    • β€’

      Terms relating to the 3SAT problem

  3. 3.

    Algorithm-Specific Definitions

    • β€’

      Terms relating to specific aspects of 3SAT regularly referenced in this paper

  4. 4.

    Reformatting and Processing

    • β€’

      Defines how clauses and instances of the 3SAT problem will appear within the paper

  5. 5.

    Lemmas

    • β€’

      A list of lemmas and their proofs pertaining to the algorithm

  6. 6.

    Algorithm

    • β€’

      A step-by-step description of the algorithm to solve 3SAT in polynomial time

  7. 7.

    Time Complexity Analysis

    • β€’

      An analysis of the time complexity of the algorithm

  8. 8.

    Proof of Correctness

    • β€’

      A proof showing the algorithm works for every instance of 3SAT

  9. 9.

    Conclusion

  10. 10.

    References

missingum@section Standard Definitions

Definition 2.1.

Terminals: symbols used in the 3SAT problem that can be assigned a value of either 0 or 1, True or False, or any other binary assignment. They usually take the form xisubscriptπ‘₯𝑖x_{i} where i𝑖i is a natural number.

Definition 2.2.

Terms: terminals in either the positive or negated form that appear in a clause. If a term is positive, then the value of the terminal will be the same as the value of the term. If a term is negated, then the value of the terminal will be the opposite of the value of the term.

Definition 2.3.

Clauses: a set of terms combined by logical OR operators. Clauses usually take the form (xi∨¬xj∨xk)subscriptπ‘₯𝑖subscriptπ‘₯𝑗subscriptπ‘₯π‘˜(x_{i}\lor\neg x_{j}\lor x_{k}) where xiβ‰ xjβ‰ xksubscriptπ‘₯𝑖subscriptπ‘₯𝑗subscriptπ‘₯π‘˜x_{i}\neq x_{j}\neq x_{k}.

Definition 2.4.

(3SAT) Instance: a set of any number of clauses combined by logical AND operators. Terminals may not repeat within a clause 111See Lemma 5.3 , but they are free to repeat between clauses. Instances usually take the form:

(xi∨¬xj∨xk)∧(xl∨xm∨xn)subscriptπ‘₯𝑖subscriptπ‘₯𝑗subscriptπ‘₯π‘˜subscriptπ‘₯𝑙subscriptπ‘₯π‘šsubscriptπ‘₯𝑛(x_{i}\lor\neg x_{j}\lor x_{k})\land(x_{l}\lor x_{m}\lor x_{n}).

Definition 2.5.

Assignment: A list of values in which each value represents either True or False such that each item in the list corresponds to a terminal and all terminals are assigned a value.

Definition 2.6.

Satisfying Assignment: An assignment, A𝐴A, is said to satisfy the instance if applying A𝐴A will make the instance evaluate to True.

Definition 2.7.

Satisfiable: an instance is satisfiable iff there exists a satisfying assignment.

Definition 2.8.

Unsatisfiable: an instance is unsatisfiable iff there does not exist a satisfying assignment.

missingum@section Algorithm-Specific Definitions

Definition 3.1.

Blocking an Assignment: An assignment, A𝐴A, is said to be blocked by a clause, C𝐢C if, given an instance containing C𝐢C, there is no way that A𝐴A allows C𝐢C to evaluate to True, and thus there is no way A𝐴A allows the instance to evaluate to True.

Definition 3.2.

Implication: A clause, C𝐢C, is said to imply another clause, D𝐷D, if all assignments blocked by D𝐷D are also blocked by C𝐢C.

Definition 3.3.

Given Clauses: clauses which were given in the original instance.

Definition 3.4.

Derived or Implied Clauses: clauses which are implied by the clauses in the original instance.

Definition 3.5.

k-terminal (k-t) clause: a clause is described as a k-terminal or a k-t clause if there are kπ‘˜k terminals in the clause.

Definition 3.6.

Reduction: A special type of implication in which the implied clause is shorter than the implying clause(s).

Definition 3.7.

Expansion: A special type of implication in which the implied clause is longer than the implying clause(s) and all terms in the implying clause exist in the implied clause.

Definition 3.8.

Contradicting 1-terminal Clauses: A set of two clauses are considered to be contradicting 1-terminal clauses if (1) they are both of length 1, (2) they contain the same terminal, and (3) the terminal is positive in one clause and negated in the other.

missingum@section Reformatting and Processing

Since there are a lot of constant characteristics about an instance of 3SAT, we can remove most of them to allow ourselves to focus only on what changes from instance to instance. A list of unchanging characteristics follows:

  • β€’

    the symbol xπ‘₯x

  • β€’

    logical AND operators

  • β€’

    logical OR operators

The only difference between instances, therefore, is the subscript of the terminal.

Additionally, the following items will be changed to improve compatibility with the Python programming language wherein an instance is expressed as a list of lists and each inner list represents a clause:

  • β€’

    parentheses will become square brackets

  • β€’

    negation symbols will become minus signs

  • β€’

    an instance may be surrounded with square brackets to show it is a list of lists

For example, the instance:

(Β¬xa∨xb∨xc)∧(xa∨xd∨xe)subscriptπ‘₯π‘Žsubscriptπ‘₯𝑏subscriptπ‘₯𝑐subscriptπ‘₯π‘Žsubscriptπ‘₯𝑑subscriptπ‘₯𝑒(\neg x_{a}\lor x_{b}\lor x_{c})\land(x_{a}\lor x_{d}\lor x_{e})

will be written as:

[[βˆ’a,b,c],[a,d,e]]π‘Žπ‘π‘π‘Žπ‘‘π‘’[[-a,b,c],[a,d,e]]

Instances of 3SAT will further be processed by removing any clauses that do not block any assignments. Since this algorithm relies on implications of new clauses, if we ever come across a clause that blocks no assignments, then by definition it will not be able to imply any additional clauses that block at least one assignment.

As such, we will ignore any clauses given or derived that are described in Lemma 5.3

missingum@section Lemmas

Lemma 5.1.

A clause can block an assignment.

Proof.

Recall an assignment is blocked if it does not allow the clause to evaluate to True.

Since terms in a clause are combined by logical OR operators, a clause cannot evaluate to True if all terms in the clause evaluate to False.

A term evaluates to False if it’s either (1) negated and the terminal’s value is True or (2) positive and the terminal’s value is False.

Given a clause, we know there are some number of unique terminals.

Want to find an assignment where all the terms are assigned a value of False.

Since an assignment exists for all possible values for each terminal, then there exists an assignment such that all the terms in the clause evaluate to False.

Since all the terms evaluate to False and are combined by logical OR operators, the clause will evaluate to False.

Since the instance is composed of clauses combined by logical AND operators and one clause evaluates to False, then the entire instance evaluates to False.

Since the instance evaluates to False, the assignment cannot satisfy the instance. ∎

Lemma 5.2.

For a given instance with n𝑛n terminals, there are 2nsuperscript2𝑛2^{n} possible assignments.

Proof.

An assignment for this instance consists of n𝑛n values, each with two possible values, True or False.

Therefore, there are 2nsuperscript2𝑛2^{n} possible assignments. ∎

Lemma 5.3.

If a clause contains the same terminal in its negated and positive form, it will not block any assignments.

Proof.

Consider a clause containing the same terminal in both the positive and negative form.

We know that terminal must either be True or False. Consider both cases:

That terminal’s value is True: The positive form of the terminal will be True and the clause will evaluate to True.

That terminal’s value is False: The negated form of the terminal will be True and the clause will evaluate to True.

Since the clause evaluates to True in every case, there will never be an assignment with which it is impossible to make this clause evaluate to False.

In other words, this clause blocks no assignments. ∎

Lemma 5.4.

Each clause of length kπ‘˜k blocks 2nβˆ’ksuperscript2π‘›π‘˜2^{n-k} assignments.

Proof.

Consider the generic kπ‘˜k-terminal clause, C𝐢C, in an instance with n𝑛n terminals.

As seen in Lemma 5.1, this blocks all assignments where all of the terms evaluate to False.

Since the values for kπ‘˜k terminals are set, there are nβˆ’kπ‘›π‘˜n-k terminals left whose values could be True or False.

Since an assignment exists for every possible way to assign values to each terminal, we know an assignment exists for every possible way to assign a value for these nβˆ’kπ‘›π‘˜n-k terminals.

There are two possible ways to assign values to each of these nβˆ’kπ‘›π‘˜n-k terminals so there are 2nβˆ’ksuperscript2π‘›π‘˜2^{n-k} unique assignments blocked by C𝐢C. ∎

Lemma 5.5.

For any clause, C𝐢C, if we select a terminal, t𝑑t, that’s not in C𝐢C then half of the assignments blocked by C𝐢C will assign True to t𝑑t and the other half will assign False to t𝑑t.

Proof.

We have a clause, C𝐢C, of fixed yet arbitrary length, kπ‘˜k:

[a,b,c,…]π‘Žπ‘π‘β€¦[a,b,c,...]

Now we select a terminal, t𝑑t, that’s not in C𝐢C.

Want to show half of the assignments blocked by C𝐢C assign True to t𝑑t and the other half assign False to t𝑑t.

We know there will be no overlap between these assignments because a single assignment cannot assign both the values True and False to the same terminal.

Now we just have to show that exactly half of the assignments are blocked by assigning either True or False to t𝑑t.

By Lemma 5.4, C𝐢C blocks 2nβˆ’ksuperscript2π‘›π‘˜2^{n-k} assignments.

If we fix the value of t𝑑t, then there are only nβˆ’kβˆ’1π‘›π‘˜1n-k-1 terminals whose values could be 0 or 1.

Since there are two choices per terminal and there are nβˆ’kβˆ’1π‘›π‘˜1n-k-1 terminals, then there are 2nβˆ’kβˆ’1superscript2π‘›π‘˜12^{n-k-1} assignments blocked by C𝐢C where the value of t𝑑t is fixed.

Divide to get the ratio of the number of assignments blocked by adding t𝑑t to the number of assignments blocked by C𝐢C without t𝑑t:

2nβˆ’kβˆ’1/2nβˆ’ksuperscript2π‘›π‘˜1superscript2π‘›π‘˜2^{n-k-1}/2^{n-k}

= 2nβˆ’kβˆ’1βˆ’(nβˆ’k)superscript2π‘›π‘˜1π‘›π‘˜2^{n-k-1-(n-k)}

= 2βˆ’1superscript212^{-1}

= 1/2121/2

This shows that half of the assignments blocked by C𝐢C assign a fixed value to t𝑑t.

Since there are two possible values for t𝑑t and each block mutually exclusive halves of the assignments blocked by C𝐢C, the lemma holds. ∎

Lemma 5.6.

Given a clause, C𝐢C, and another clause, D𝐷D, such that all of the terms in C𝐢C also exist in D𝐷D, then all of the assignments blocked by D𝐷D are also blocked by C𝐢C.

Proof.

Given a clause, C𝐢C, of a fixed yet arbitrary length:

C:=[a,b,c,…]assignπΆπ‘Žπ‘π‘β€¦C:=[a,b,c,...]

And another clause, D𝐷D, containing all the terms in C𝐢C with possibly additional terms:

D:=[a,b,c,…,d,e,f,…]assignπ·π‘Žπ‘π‘β€¦π‘‘π‘’π‘“β€¦D:=[a,b,c,...,d,e,f,...]

Want to show all the assignments blocked by D𝐷D are also blocked by C𝐢C.

We know that C𝐢C blocks all assignments that cause all the terms to evaluate to False.

In other words, C𝐢C blocks all assignments where

a=b=c=…=F​a​l​s​eπ‘Žπ‘π‘β€¦πΉπ‘Žπ‘™π‘ π‘’a=b=c=...=False

Similarly, D𝐷D blocks all assignments where

a=b=c=…=d=e=f=…=F​a​l​s​eπ‘Žπ‘π‘β€¦π‘‘π‘’π‘“β€¦πΉπ‘Žπ‘™π‘ π‘’a=b=c=...=d=e=f=...=False

Clearly all assignments consistent with the terminal assignments from D𝐷D are also consistent with the terminal assignments from C𝐢C.

Therefore, every assignment blocked by D𝐷D is also blocked by C𝐢C. ∎

Lemma 5.7 (Reduction).

Given the following conditions:

  • β€’

    A𝐴A is a clause of length kπ‘˜k

  • β€’

    B𝐡B is a clause of length kπ‘˜k

  • β€’

    A𝐴A and B𝐡B share kβˆ’1π‘˜1k-1 identical terms

  • β€’

    A𝐴A and B𝐡B share one terminal that is negated in one clause and positive in the other

  • β€’

    C𝐢C is a clause of length kβˆ’1π‘˜1k-1 composed of the shared terms from A𝐴A and B𝐡B

Then A𝐴A and B𝐡B imply C𝐢C.

Proof.

Given clauses consistent with the description:

A:=[a,b,c,…​i]assignπ΄π‘Žπ‘π‘β€¦π‘–A:=[a,b,c,...i]

B:=[a,b,c,…,βˆ’i]assignπ΅π‘Žπ‘π‘β€¦π‘–B:=[a,b,c,...,-i]

where a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,... is shared between the clauses and i𝑖i is a terminal not in a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,...

Want to show this implies C𝐢C.

Recall by Lemma 5.3 that the same terminal cannot appear both negated and positive within the same clause and still block an assignment, so i𝑖i cannot exist in a,b,cβ€‹β€¦π‘Žπ‘π‘β€¦a,b,c...

Consider the clause

C:=[a,b,c,…]assignπΆπ‘Žπ‘π‘β€¦C:=[a,b,c,...]

We know by Lemma 5.5 that if we select a terminal that’s not in C𝐢C, say t𝑑t, then half of the assignments blocked by C𝐢C assign True to t𝑑t and the other half of the assignments blocked by C𝐢C assign False to t𝑑t.

Let this terminal t𝑑t that’s not in C𝐢C be the terminal i𝑖i that’s in A𝐴A and B𝐡B.

We know that A𝐴A blocks all assignments blocked by C𝐢C where i𝑖i is assigned the value of False.

We know that B𝐡B blocks all assignments blocked by C𝐢C where i𝑖i is assigned the value of True.

Since A𝐴A and B𝐡B both block mutually exclusive halves of the assignments blocked by C𝐢C, then all of the assignments blocked by C𝐢C are blocked by A𝐴A and/or B𝐡B and we can say that A𝐴A and B𝐡B imply C𝐢C. ∎

Lemma 5.8 (Expansion).

Given a clause, C𝐢C, and a terminal, t𝑑t, that’s not in C𝐢C, then two new clauses can be implied consisting of all the terms of C𝐢C appended to either the positive form of t𝑑t or the negated form of t𝑑t.

Proof.

Given a clause, C𝐢C, and a terminal, t𝑑t, that’s not in C𝐢C:

C:=[a,b,c,…]assignπΆπ‘Žπ‘π‘β€¦C:=[a,b,c,...]

We can compose two new clauses:

D:=[a,b,c,…,t]assignπ·π‘Žπ‘π‘β€¦π‘‘D:=[a,b,c,...,t]

E:=[a,b,c,…,βˆ’t]assignπΈπ‘Žπ‘π‘β€¦π‘‘E:=[a,b,c,...,-t]

Since all of the terms in C𝐢C exist in D𝐷D and E𝐸E, then by Lemma 5.6 all of the assignments blocked by D𝐷D or E𝐸E are blocked by C𝐢C and we can say D𝐷D and E𝐸E are implied by C𝐢C. ∎

Lemma 5.9 (General Lemma 5.7).

If two clauses share the same terminal, t𝑑t, such that t𝑑t is positive in one clause and negated in the other, then these clauses imply a new clause which is composed of all the terms in both clauses except terms containing t𝑑t.

Proof.

Consider two clauses,

C:=[a,b,c,…,t]assignπΆπ‘Žπ‘π‘β€¦π‘‘C:=[a,b,c,...,t]

D:=[d,e,f,…,βˆ’t]assign𝐷𝑑𝑒𝑓…𝑑D:=[d,e,f,...,-t]

Where within a clause, the same terminal does not repeat, but between clauses the same terminal may repeat.

Want to show we can imply a clause consistent with the lemma description:

E:=[a,b,c,…,d,e,f,…]assignπΈπ‘Žπ‘π‘β€¦π‘‘π‘’π‘“β€¦E:=[a,b,c,...,d,e,f,...]

Let’s define some additional clauses:

Eβ€²:=[a,b,c,…,d,e,f,…,t]assignsuperscriptπΈβ€²π‘Žπ‘π‘β€¦π‘‘π‘’π‘“β€¦π‘‘E^{\prime}:=[a,b,c,...,d,e,f,...,t]

Eβ€²β€²:=[a,b,c,…,d,e,f,…,βˆ’t]assignsuperscriptπΈβ€²β€²π‘Žπ‘π‘β€¦π‘‘π‘’π‘“β€¦π‘‘E^{\prime\prime}:=[a,b,c,...,d,e,f,...,-t]

By Lemma 5.6, we know that C𝐢C implies Eβ€²superscript𝐸′E^{\prime} because all the terms in C𝐢C exist in E𝐸E.

By Lemma 5.6, we know that D𝐷D implies Eβ€²β€²superscript𝐸′′E^{\prime\prime}.

By Lemma 5.7, since Eβ€²superscript𝐸′E^{\prime} and Eβ€²β€²superscript𝐸′′E^{\prime\prime} share all the same terms except for t𝑑t, which is positive in one clause and negated in the other, we can create a new clause composed of all the shared terms in Eβ€²superscript𝐸′E^{\prime} and Eβ€²β€²superscript𝐸′′E^{\prime\prime}.

Such a clause is already defined as E𝐸E.

Now there are a couple extra cases to consider:

  • β€’

    There is some overlap between a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,... and d,e,f,…𝑑𝑒𝑓…d,e,f,...

  • β€’

    There is the same terminal that’s positive in a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,... and negated in d,e,f,…𝑑𝑒𝑓…d,e,f,...

First, if the same term exists in a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,... and d,e,f,…𝑑𝑒𝑓…d,e,f,..., then we can just remove one of the duplicates since one term being True implies an identical term being True.

Secondly, if the same terminal exists, but is of the opposite form in a,b,c,β€¦π‘Žπ‘π‘β€¦a,b,c,... and d,e,f,…𝑑𝑒𝑓…d,e,f,... then by Lemma 5.3, this clause will always be True and thus blocks no assignments. In this case, the lemma is vacuously true, but we disregard the clause as it is of no value. ∎

Lemma 5.10.

Given two clauses of lengths kπ‘˜k and mπ‘šm that imply another clause by Lemma 5.9, the length of the implied clause will fall in the range m​a​x​(k,m)βˆ’1π‘šπ‘Žπ‘₯π‘˜π‘š1max(k,m)-1 to (k+mβˆ’2)π‘˜π‘š2(k+m-2) where the m​a​x​(k,m)π‘šπ‘Žπ‘₯π‘˜π‘šmax(k,m) represents the parameter with the greatest value.

Proof.

The smallest clause that can be implied by clauses of length kπ‘˜k and mπ‘šm using Lemma 5.9 occur when all but one of the terms in one clause exist in the other.

As such, the unique terms will come from the clause that’s longer.

Removing t𝑑t, you are left with 1 less than the maximum of kπ‘˜k and mπ‘šm.

The largest clause can be implied if there are no terms shared between the two clauses. In this case you subtract 111 from the length of each clause to account for t𝑑t and since no duplicates will be removed, the resulting clause’s length is 222 less than the sum of the lengths of the clauses. ∎

Lemma 5.11.

Given the following:

  • β€’

    A clause, A𝐴A, of length less than kπ‘˜k

  • β€’

    A clause, B𝐡B, of length less than kπ‘˜k

  • β€’

    A clause, C𝐢C, of length less than kπ‘˜k

  • β€’

    A clause, D𝐷D, of length kπ‘˜k or kβˆ’1π‘˜1k-1

  • β€’

    A clause, E𝐸E, of length kπ‘˜k

  • β€’

    A𝐴A and B𝐡B imply E𝐸E by Lemma 5.9

  • β€’

    C𝐢C and E𝐸E imply D𝐷D by Lemma 5.9

Then A𝐴A, B𝐡B, and C𝐢C, imply D𝐷D by processing only clauses with a maximum length of kβˆ’1π‘˜1k-1.

Proof.

Define the clauses in the following manner:

A := [a, b, β𝛽\beta, i]

B := [c, d, δ𝛿\delta -i]

C := [-a, e, f, Ο•italic-Ο•\phi]

Then the following are derived by Lemma 5.9:

E=[a,b,Ξ²,c,d,Ξ΄]πΈπ‘Žπ‘π›½π‘π‘‘π›ΏE=[a,b,\beta,c,d,\delta] (By A𝐴A and B𝐡B)

D=[b,Ξ²,c,d,Ξ΄,e,f,Ο•]𝐷𝑏𝛽𝑐𝑑𝛿𝑒𝑓italic-Ο•D=[b,\beta,c,d,\delta,e,f,\phi] (By C𝐢C and E𝐸E or by F𝐹F and B𝐡B)

F=[b,Ξ²,i,e,f,Ο•]𝐹𝑏𝛽𝑖𝑒𝑓italic-Ο•F=[b,\beta,i,e,f,\phi] (By A𝐴A and C𝐢C)

Where Ξ²,Ξ΄,𝛽𝛿\beta,\delta, and Ο•italic-Ο•\phi are generic sets of terms in the instance.

Consider the following figure:

Refer to caption
Figure 1: A graph illustrating the derivations described by the lemma

Note that since C𝐢C and E𝐸E imply D𝐷D, then C𝐢C and E𝐸E must share the same terminal such that it is positive in one clause and negated in the other.

Since all of the terms in E𝐸E came from A𝐴A or B𝐡B (not including i𝑖i), then such a term in C𝐢C must have the same term of the opposite form in A𝐴A or B𝐡B.

And since A𝐴A and B𝐡B are fixed yet arbitrary clauses treated in the same way, it does not matter which clause we pick as long as it is fixed for the rest of the proof. Let’s pick a the terminal, aπ‘Ža, from clause A𝐴A. Now C𝐢C contains βˆ’aπ‘Ž-a.

Recall from Lemma 5.3 that if a clause blocks any assignments, it cannot contain the same term in both forms, so if Ξ²,δ𝛽𝛿\beta,\delta, or Ο•italic-Ο•\phi contain the same terminal in both forms then D𝐷D blocks no assignments and the resulting clause may be disregarded.

We know C𝐢C is of length kπ‘˜k and there are two cases for D𝐷D: (1) D𝐷D is of length kπ‘˜k or (2) D𝐷D is of length kβˆ’1π‘˜1k-1.

In the following equations, let the presence of a term represent a count of one, and the presence of a set of terms represent the number of terms in that set. If multiple sets of terms are shown in parentheses, let this represent the number of terms found in the intersection of both sets.

Consider (1) the case where D𝐷D has length kπ‘˜k then we can define kπ‘˜k in terms of D𝐷D:

k=b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)π‘˜π‘π‘π‘‘π‘’π‘“π›½π›Ώitalic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•k=b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

length of F=b+i+e+f+Ξ²+Ο•βˆ’(β​ϕ)𝐹𝑏𝑖𝑒𝑓𝛽italic-ϕ𝛽italic-Ο•F=b+i+e+f+\beta+\phi-(\beta\phi)

Want to show length of F𝐹F is less than kπ‘˜k

b+i+e+f+Ξ²+Ο•βˆ’(β​ϕ)<b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑏𝑖𝑒𝑓𝛽italic-ϕ𝛽italic-ϕ𝑏𝑐𝑑𝑒𝑓𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•b+i+e+f+\beta+\phi-(\beta\phi)<b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

β†’β†’\rightarrow i+Ξ²+Ο•βˆ’(β​ϕ)<c+d+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑖𝛽italic-ϕ𝛽italic-ϕ𝑐𝑑𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•i+\beta+\phi-(\beta\phi)<c+d+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

β†’β†’\rightarrow i<c+d+Ξ΄βˆ’(β​δ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑖𝑐𝑑𝛿𝛽𝛿𝛿italic-ϕ𝛽𝛿italic-Ο•i<c+d+\delta-(\beta\delta)-(\delta\phi)+(\beta\delta\phi)

As seen by using a Venn Diagram or other set intuition, Ξ΄βˆ’(β​δ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝛿𝛽𝛿𝛿italic-ϕ𝛽𝛿italic-Ο•\delta-(\beta\delta)-(\delta\phi)+(\beta\delta\phi), represents the number of terminals in δ𝛿\delta not in β𝛽\beta and not in Ο•italic-Ο•\phi.

The lowest case for the right hand side of the inequality is where this is 0, ie, all of the terms in δ𝛿\delta are in β𝛽\beta or Ο•italic-Ο•\phi. In this case, the inequality becomes:

β†’β†’\rightarrow i<c+d𝑖𝑐𝑑i<c+d

Which is true as long as c𝑐c and d𝑑d exist in B𝐡B.

Want to show c𝑐c and d𝑑d always exists in B𝐡B:

Suppose not, then at most one of c𝑐c or d𝑑d exists.

Recall we have the clauses:

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

B:=[c,d,Ξ΄,βˆ’i]assign𝐡𝑐𝑑𝛿𝑖B:=[c,d,\delta,-i]

E:=[a,b,Ξ²,c,d,Ξ΄]assignπΈπ‘Žπ‘π›½π‘π‘‘π›ΏE:=[a,b,\beta,c,d,\delta]

And since only c𝑐c or d𝑑d exist, we can redefine some clauses:

B:=[x,βˆ’i]assign𝐡π‘₯𝑖B:=[x,-i]

E:=[a,b,Ξ²,x]assignπΈπ‘Žπ‘π›½π‘₯E:=[a,b,\beta,x]

Where x is represents either c𝑐c or d𝑑d, but not both.

Note that no terms may exist in δ𝛿\delta because any terms in δ𝛿\delta could be extracted and treated as c𝑐c or d𝑑d, but we know xπ‘₯x already represents the one of these terms that exist and the other term cannot exist.

Notice the length of A𝐴A is the same as the length of E𝐸E.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k and the length of E𝐸E is given as kπ‘˜k.

Therefore both c𝑐c and d𝑑d must exist and the inequality is true.

Therefore F𝐹F is shorter than kπ‘˜k when D𝐷D is of length kπ‘˜k.

Consider (2) the case where the length of D𝐷D is kβˆ’1π‘˜1k-1:

This means kπ‘˜k is one greater than the length of D𝐷D, so kπ‘˜k is now:

k=b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)+1π‘˜π‘π‘π‘‘π‘’π‘“π›½π›Ώitalic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•1k=b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)+1

length of F=b+i+e+f+Ξ²+Ο•βˆ’(β​ϕ)𝐹𝑏𝑖𝑒𝑓𝛽italic-ϕ𝛽italic-Ο•F=b+i+e+f+\beta+\phi-(\beta\phi)

Want to show length of F𝐹F is less than kπ‘˜k

b+i+e+f+Ξ²+Ο•βˆ’(β​ϕ)<b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)+1𝑏𝑖𝑒𝑓𝛽italic-ϕ𝛽italic-ϕ𝑏𝑐𝑑𝑒𝑓𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•1b+i+e+f+\beta+\phi-(\beta\phi)<b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)+1

Similarly as before, the inequality will become:

β†’β†’\rightarrow i<c+d+1𝑖𝑐𝑑1i<c+d+1

Which is true as long as at least c𝑐c or d𝑑d exist.

It was seen that both c𝑐c and d𝑑d must exist and since the proof does not rely on the length of D𝐷D, the inequality is true.

Therefore the length of F𝐹F is shorter than kπ‘˜k when the length of D𝐷D is kβˆ’1π‘˜1k-1.

Since the length of F𝐹F is less than kπ‘˜k in all cases, you can derive D𝐷D by processing only clauses with a maximum length of kβˆ’1π‘˜1k-1. ∎

Lemma 5.12.

Given the following:

  • β€’

    A𝐴A is a clause of length less than kπ‘˜k

  • β€’

    B𝐡B is a clause of length kπ‘˜k

  • β€’

    C𝐢C is a clause of length less than kπ‘˜k

  • β€’

    D𝐷D is a clause of length kπ‘˜k or kβˆ’1π‘˜1k-1

  • β€’

    A𝐴A expands to imply B𝐡B by Lemma 5.8

  • β€’

    B𝐡B and C𝐢C imply D𝐷D by Lemma 5.9

Then D𝐷D can be implied by processing clauses of at most length kβˆ’1π‘˜1k-1.

Proof.

Let the clauses be defined as follows:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

B:=[a,b,Ξ²,c,d,Ξ΄]assignπ΅π‘Žπ‘π›½π‘π‘‘π›ΏB:=[a,b,\beta,c,d,\delta]

C1subscript𝐢1C_{1} := [-a, e, f, Ο•italic-Ο•\phi]

C2subscript𝐢2C_{2} := [-c, e, f, Ο•italic-Ο•\phi]

D1subscript𝐷1D_{1} := [b, β𝛽\beta, c, d, δ𝛿\delta, e, f, Ο•italic-Ο•\phi]

D2subscript𝐷2D_{2} := [a, b, β𝛽\beta, d, δ𝛿\delta, e, f, Ο•italic-Ο•\phi]

E := [b, β𝛽\beta, e, f, Ο•italic-Ο•\phi]

Where Ξ²,δ𝛽𝛿\beta,\delta, and Ο•italic-Ο•\phi are fixed, yet arbitrary sets of terms such that the clauses block at least one assignment.

Consider the following figure

Refer to caption
Figure 2: An illustration of the derivations described in the lemma

Notice that C𝐢C has to contain a term from B𝐡B in the opposite form by Lemma 5.9.

Notice that B𝐡B is made up of terms from A𝐴A and terms not in A𝐴A by Lemma 5.6.

The term in C𝐢C which is opposite from the term in B𝐡B can therefore be opposite (1) from a term in A𝐴A (in this case, use C1subscript𝐢1C_{1} and D1subscript𝐷1D_{1}) or (2) a term not in A𝐴A (in this case use C2subscript𝐢2C_{2} and D2subscript𝐷2D_{2}).

(1) Consider the opposite form term in C𝐢C is in A𝐴A (use C1subscript𝐢1C_{1} and D1subscript𝐷1D_{1}):

Recall the clauses:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

C1subscript𝐢1C_{1} := [-a, e, f, Ο•italic-Ο•\phi]

D1subscript𝐷1D_{1} := [b, β𝛽\beta, c, d, δ𝛿\delta, e, f, Ο•italic-Ο•\phi]

E:=[b,Ξ²,e,f,Ο•]assign𝐸𝑏𝛽𝑒𝑓italic-Ο•E:=[b,\beta,e,f,\phi]

Notice A𝐴A and C1subscript𝐢1C_{1} share an opposite term, so they can derive a clause, E𝐸E, by Lemma 5.9.

Notice all the terms in E𝐸E exist in D1subscript𝐷1D_{1} so E𝐸E can be expanded to derive D1subscript𝐷1D_{1} by Lemma 5.8.

Consider the path of implication in the following figure:

Refer to caption
Figure 3: An illustration of the derivations by clauses A𝐴A, C1subscript𝐢1C_{1}, and E𝐸E

Want to show you only have to process clauses whose length is less than kπ‘˜k to derive D1subscript𝐷1D_{1}.

Since D1subscript𝐷1D_{1} is derived using only A𝐴A, C1subscript𝐢1C_{1}, and E𝐸E and A𝐴A and C𝐢C are given to be shorter than kπ‘˜k, want to show length of E𝐸E is less than kπ‘˜k.

Consider two cases: (1a) D1subscript𝐷1D_{1} is of length kπ‘˜k and (1b) D1subscript𝐷1D_{1} is of length kβˆ’1π‘˜1k-1

Consider (1a) where D1subscript𝐷1D_{1} is of length kπ‘˜k:

In the following equations, let the presence of a term represent a count of one, and the presence of a set of terms represent the number of terms in that set. If multiple sets of terms are shown in parentheses, let this represent the number of terms found in the intersection of both sets.

Since D1subscript𝐷1D_{1} is of length kπ‘˜k, we can define kπ‘˜k as follows:

k=b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)π‘˜π‘π‘π‘‘π‘’π‘“π›½π›Ώitalic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•k=b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

Length of E=b+e+f+Ξ²+Ο•βˆ’(β​ϕ)𝐸𝑏𝑒𝑓𝛽italic-ϕ𝛽italic-Ο•E=b+e+f+\beta+\phi-(\beta\phi)

Want to show the length of E𝐸E is less than kπ‘˜k:

b+e+f+Ξ²+Ο•βˆ’(β​ϕ)<b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑏𝑒𝑓𝛽italic-ϕ𝛽italic-ϕ𝑏𝑐𝑑𝑒𝑓𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•b+e+f+\beta+\phi-(\beta\phi)<b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

β†’0<c+d+Ξ΄βˆ’(β​δ)βˆ’(δ​ϕ)+(β​δ​ϕ)β†’absent0𝑐𝑑𝛿𝛽𝛿𝛿italic-ϕ𝛽𝛿italic-Ο•\rightarrow 0<c+d+\delta-(\beta\delta)-(\delta\phi)+(\beta\delta\phi)

Which is true as long as at least one term exists on the R.H.S.

Want to show at least one term exists on the R.H.S.

Suppose not, then no terms exist on the R.H.S. and we can redefine some clauses.

Recall the original clause definitions:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

B:=[a,b,Ξ²,c,d,Ξ΄]assignπ΅π‘Žπ‘π›½π‘π‘‘π›ΏB:=[a,b,\beta,c,d,\delta]

Since no terms exist on the R.H.S. we can redefine some clauses:

B:=[a,b,Ξ²]assignπ΅π‘Žπ‘π›½B:=[a,b,\beta]

Note that no terms may exist in δ𝛿\delta because any term in δ𝛿\delta can be extracted and treated as c𝑐c or d𝑑d and those are explicitly removed from existence.

Notice A𝐴A is exactly B𝐡B.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k while the length of B𝐡B is given as kπ‘˜k.

Therefore at least one term must exist on the R.H.S. and the inequality holds.

Therefore E𝐸E is shorter than kπ‘˜k when D𝐷D is of length kπ‘˜k and we use C1subscript𝐢1C_{1} and D1subscript𝐷1D_{1}.

Consider (1b) D1subscript𝐷1D_{1} is of length kβˆ’1π‘˜1k-1:

Then the length of kπ‘˜k is redefined as:

k=b+c+d+e+f+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)+1π‘˜π‘π‘π‘‘π‘’π‘“π›½π›Ώitalic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•1k=b+c+d+e+f+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)+1

Similarly as before, the inequality becomes:

β†’0<c+d+1β†’absent0𝑐𝑑1\rightarrow 0<c+d+1

Which is always true so the length of E𝐸E is indeed less than kπ‘˜k when D𝐷D is of length kβˆ’1π‘˜1k-1 and we use C1subscript𝐢1C_{1} and D1subscript𝐷1D_{1}.

(2) Consider the case using C2subscript𝐢2C_{2} and D2subscript𝐷2D_{2}:

Recall the clauses:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

C2=[βˆ’c,e,f,Ο•]subscript𝐢2𝑐𝑒𝑓italic-Ο•C_{2}=[-c,e,f,\phi]

D2=[a,b,Ξ²,d,Ξ΄,e,f,Ο•]subscript𝐷2π‘Žπ‘π›½π‘‘π›Ώπ‘’π‘“italic-Ο•D_{2}=[a,b,\beta,d,\delta,e,f,\phi]

Since all of the terms in A𝐴A exist in D2subscript𝐷2D_{2}, we can expand A𝐴A to D2subscript𝐷2D_{2} using Lemma 5.8

Since the length of A𝐴A is given as less than kπ‘˜k, we can derive D𝐷D by processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Since the possible lengths of D𝐷D are kπ‘˜k or kβˆ’1π‘˜1k-1 and in both cases we derive D𝐷D by processing clauses with a maximum length of kβˆ’1π‘˜1k-1 then D𝐷D can always be derived by processing clauses with a maximum length of kβˆ’1π‘˜1k-1. ∎

Lemma 5.13.

Given an instance of 3SAT, you can expand all of the given clauses to the point where you are considering clauses of length n𝑛n.

Proof.

Given an instance of 3SAT, we know all clauses are of length 3.

If we want to consider a generic n𝑛n-terminal clause, B𝐡B, that’s implied by a given clause, A𝐴A, then by Lemma 5.6 we know it’s implied if all the terms in A𝐴A exist in B𝐡B. ∎

Lemma 5.14.

If you expand given 3-t clauses as described in Lemma 5.13, you will derive 2nsuperscript2𝑛2^{n} unique clauses of length n𝑛n iff the instance is unsatisfiable.

Proof.

Want to show an unsatisfiable instance ⟹\implies 2nsuperscript2𝑛2^{n} unique n-terminal clauses can be derived from the given 3-t clauses:

By lemma 5.4, a clause of length n𝑛n blocks 1 assignment.

Recall an instance is unsatisfiable iff all 2nsuperscript2𝑛2^{n} assignments are blocked.

If a 3-terminal clause blocks an assignment, then it also implies the corresponding n-terminal assignment because there is one possible n-terminal clause for any given assignment.

Notice that for each of these n-terminal clauses, they must contain three terms from at least one given clause. If they didn’t, then the assignment blocked by that n-terminal clause would not be blocked and the instance would be satisfiable.

Since each n-terminal clause blocks one assignment, blocking all assignments requires 2nsuperscript2𝑛2^{n} n-terminal clauses.

Want to show 2nsuperscript2𝑛2^{n} unique n-terminal clauses are derived by the given 3-t clauses ⟹\implies then the instance is unsatisfiable.

By lemma 5.4, a clause of length n𝑛n blocks 1 assignment.

Therefore if there are 2nsuperscript2𝑛2^{n} unique n-terminal clauses, then all 2nsuperscript2𝑛2^{n} assignments will be blocked.

Note that there will be no overlap because each n-terminal clause sets the value for each terminal and overlap would imply the same terminal having two values by the same assignment which is impossible. ∎

Lemma 5.15.

The n-terminal clauses described in Lemma 5.14 can be reduced to derive any pair of contradicting 1-terminal clauses.

Proof.

Given 2nsuperscript2𝑛2^{n} n-terminal clauses, want to show you can imply any pair of contradicting 1-terminal clauses by lemma 5.7.

Algorithm:

Pick a terminal that will not exist in the final 1-terminal clauses.

Notice half of the existing n-terminal clauses have that terminal assigned the value of False and the other half have that terminal assigned the value of True.

Pick one clause that blocks an assignment where the terminal is True.

Then there exists an assignment for each possible value for the remaining n-1 terminals.

Therefore, there must exist another clause that shares all of the same terms, but where that one terminal is assigned the value of False.

Using these two clauses, we can create a new clause by lemma 5.7.

Now all of the clauses of length n - 1 do not contain that terminal.

Repeat this process while never selecting the same terminal twice until you are left with two contradicting 1-terminal clauses.

Each clause is guaranteed to have a matching clause since every possible combination of terminal assignments exists and when you use Lemma 5.7 to create new clauses, the rest of all of the clauses remain the same except the selected terminal is removed. ∎

Lemma 5.16.

Contradicting 1-terminal clauses can be expanded to imply every possible clause.

Proof.

Let the following clauses be a pair of contradicting 1-t clauses:

[a]delimited-[]π‘Ž[a]

[βˆ’a]delimited-[]π‘Ž[-a]

Any possible clause could either contain aπ‘Ža, βˆ’aπ‘Ž-a, or neither.

By lemma 5.8, we can expand to any clause that contains aπ‘Ža or βˆ’aπ‘Ž-a.

Now want to show these clauses imply another clause that does not contain aπ‘Ža or βˆ’aπ‘Ž-a.

Let the following be a generic k-terminal clause that does not contain aπ‘Ža or βˆ’aπ‘Ž-a:

[b,c,d,…]𝑏𝑐𝑑…[b,c,d,...]

By Lemma 5.8, we know the 1-terminal clauses imply the following clauses:

[a,b]π‘Žπ‘[a,b]

[βˆ’a,c,d,…]π‘Žπ‘π‘‘β€¦[-a,c,d,...]

By Lemma 5.9, these clauses imply:

[b,c,d,…]𝑏𝑐𝑑…[b,c,d,...]

Therefore a set of contradicting 1-terminal clauses can imply any clause containing a,βˆ’aπ‘Žπ‘Ža,-a, or neither, which encompasses every possible clause. ∎

Lemma 5.17.

Given the following:

  • β€’

    A, B, C, and D, are clauses shorter than k

  • β€’

    E and F are clauses of length k

  • β€’

    G is a clause of length k or k - 1

  • β€’

    A and B imply E by Lemma 5.9

  • β€’

    C and D imply F by Lemma 5.9

  • β€’

    E and F imply G by Lemma 5.9

Then G can be implied by processing clauses with a maximum length of k - 1.

Proof.

Consider the following figure:

Refer to caption
Figure 4: An illustration of the derivations described in the lemma

Let the clauses be defined as follows:

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

B:=[c,d,Ξ΄,βˆ’i]assign𝐡𝑐𝑑𝛿𝑖B:=[c,d,\delta,-i]

C:=[βˆ’a,f,Ο•,j]assignπΆπ‘Žπ‘“italic-ϕ𝑗C:=[-a,f,\phi,j]

D:=[g,h,Ξ³,βˆ’j]assignπ·π‘”β„Žπ›Ύπ‘—D:=[g,h,\gamma,-j]

Then the following are implied by Lemma 5.9:

E=[a,b,Ξ²,c,d,Ξ΄]πΈπ‘Žπ‘π›½π‘π‘‘π›ΏE=[a,b,\beta,c,d,\delta]

F=[βˆ’a,f,Ο•,g,h,Ξ³]πΉπ‘Žπ‘“italic-Ο•π‘”β„Žπ›ΎF=[-a,f,\phi,g,h,\gamma]

G=[b,Ξ²,c,d,Ξ΄,f,Ο•,g,h,Ξ³]𝐺𝑏𝛽𝑐𝑑𝛿𝑓italic-Ο•π‘”β„Žπ›ΎG=[b,\beta,c,d,\delta,f,\phi,g,h,\gamma]

Where Ξ²,Ξ΄,Ο•,𝛽𝛿italic-Ο•\beta,\delta,\phi, and γ𝛾\gamma are fixed yet arbitrary sets of terms such that the clauses block at least one assignment.

Notice that E𝐸E and F𝐹F have to share a term of the opposite form in order to imply G𝐺G by Lemma 5.9.

All of the terms in E𝐸E and F𝐹F came from A,B,C,𝐴𝐡𝐢A,B,C, and D𝐷D.

Since A,B,C,𝐴𝐡𝐢A,B,C, and D𝐷D are all arbitrary clauses, selecting which term to negate does not have an effect on the outcome as long as one form of the term exists in E𝐸E and the other form exists in F𝐹F.

Here the opposite term is shared between A𝐴A and D𝐷D, but any term that appears positive in A𝐴A or B𝐡B and negated in C𝐢C or D𝐷D or vice versa will yield the same results.

Want to show G𝐺G can be derived by processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Define additional implications by Lemma 5.9:

H=[b,Ξ²,i,f,Ο•,j]𝐻𝑏𝛽𝑖𝑓italic-ϕ𝑗H=[b,\beta,i,f,\phi,j] (By clauses A𝐴A and C𝐢C)

I=[c,d,Ξ΄,b,Ξ²,f,Ο•,j]𝐼𝑐𝑑𝛿𝑏𝛽𝑓italic-ϕ𝑗I=[c,d,\delta,b,\beta,f,\phi,j] (By clauses B𝐡B and H𝐻H)

J=[g,h,Ξ³,c,d,Ξ΄,b,Ξ²,f,Ο•]π½π‘”β„Žπ›Ύπ‘π‘‘π›Ώπ‘π›½π‘“italic-Ο•J=[g,h,\gamma,c,d,\delta,b,\beta,f,\phi] (By clauses D𝐷D and I𝐼I)

Notice J𝐽J is equivalent to G𝐺G.

Want to show all clauses used to derive J𝐽J are shorter than kπ‘˜k.

Want to show A𝐴A, C𝐢C, B𝐡B, H𝐻H, D𝐷D, and I𝐼I are shorter than kπ‘˜k.

It was given that A𝐴A, B𝐡B, C𝐢C, and D𝐷D are shorter than kπ‘˜k so just want to show H𝐻H and I𝐼I are shorter than kπ‘˜k.

Want to show (1) H𝐻H is shorter than kπ‘˜k and (2) I𝐼I is shorter than kπ‘˜k

(1) Want to show H𝐻H is shorter than kπ‘˜k

Two cases to consider (1a) G𝐺G is of length kπ‘˜k and (1b) G𝐺G is of length kβˆ’1π‘˜1k-1

(1a) G𝐺G is of length kπ‘˜k

In the following equations, let the presence of a term represent a count of one, and the presence of a set of terms represent the number of terms in that set. If multiple sets of terms are shown in parentheses, let this represent the number of terms found in the intersection of both sets.

Since G𝐺G is of length kπ‘˜k we can define kπ‘˜k as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Length of H=b+i+f+j+Ξ²+Ο•βˆ’(β​ϕ)𝐻𝑏𝑖𝑓𝑗𝛽italic-ϕ𝛽italic-Ο•H=b+i+f+j+\beta+\phi-(\beta\phi)

Want to show the length of H𝐻H is less than kπ‘˜k:

b+i+f+j+Ξ²+Ο•βˆ’(β​ϕ)𝑏𝑖𝑓𝑗𝛽italic-ϕ𝛽italic-Ο•b+i+f+j+\beta+\phi-(\beta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

β†’β†’\rightarrow i+j𝑖𝑗i+j << c+d+g+h+Ξ΄+Ξ³βˆ’(β​δ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘‘π‘”β„Žπ›Ώπ›Ύπ›½π›Ώπ›½π›Ύπ›Ώitalic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾c+d+g+h+\delta+\gamma-(\beta\delta)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Which is true as long as at least three terms exist on the R.H.S.

Consider the following cases:

  • β€’

    No terms exist on the R.H.S.

  • β€’

    Exactly one term exists on the R.H.S.

  • β€’

    Exactly two terms exist on the R.H.S.

Consider case 1 where no terms exist on the R.H.S.

Recall the clauses:

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

B:=[c,d,Ξ΄,βˆ’i]assign𝐡𝑐𝑑𝛿𝑖B:=[c,d,\delta,-i]

E:=[a,b,Ξ²,c,d,Ξ΄]assignπΈπ‘Žπ‘π›½π‘π‘‘π›ΏE:=[a,b,\beta,c,d,\delta]

But since no terms exist on the R.H.S., specifically c𝑐c and d𝑑d don’t exist, we can redefine the clauses:

B:=[βˆ’i]assign𝐡delimited-[]𝑖B:=[-i]

E:=[a,b,Ξ²]assignπΈπ‘Žπ‘π›½E:=[a,b,\beta]

Notice that no terms may exist in δ𝛿\delta because any term in δ𝛿\delta can be extracted and treated as c𝑐c or d𝑑d, but we defined these to not exist.

Notice the length of E𝐸E is shorter than the length of A𝐴A.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k while the length of E𝐸E is given as kπ‘˜k.

Therefore this case is impossible and at least one term must exist on the R.H.S.

Consider case 2 where exactly one term exists on the R.H.S.

Recall the clauses:

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

B:=[c,d,Ξ΄,βˆ’i]assign𝐡𝑐𝑑𝛿𝑖B:=[c,d,\delta,-i]

E:=[a,b,Ξ²,c,d,Ξ΄]assignπΈπ‘Žπ‘π›½π‘π‘‘π›ΏE:=[a,b,\beta,c,d,\delta]

Recall at least one term must exist on the R.H.S., specifically either c𝑐c or d𝑑d must exist, but not both.

We know c𝑐c or d𝑑d must exist because if neither exist, there’s a contradiction (see case 1).

Since these terms are treated in the same way, let’s pick c𝑐c to be the term that exists.

We can redefine some clauses as follows:

B:=[c,βˆ’i]assign𝐡𝑐𝑖B:=[c,-i]

E:=[a,b,Ξ²,c]assignπΈπ‘Žπ‘π›½π‘E:=[a,b,\beta,c]

Notice the length of E𝐸E is the same as the length of A𝐴A.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k while the length of E𝐸E is given as kπ‘˜k.

Therefore at least two terms must exist on the R.H.S.

Consider case 3 where exactly two terms exists on the R.H.S.

Notice how if both c𝑐c and d𝑑d do not exist, then a contradiction is reached.

Therefore both c𝑐c and d𝑑d must exist and the rest of the terms on the R.H.S. may not exist.

Recall we have the clauses:

C:=[βˆ’a,f,Ο•,j]assignπΆπ‘Žπ‘“italic-ϕ𝑗C:=[-a,f,\phi,j]

D:=[g,h,Ξ³,βˆ’j]assignπ·π‘”β„Žπ›Ύπ‘—D:=[g,h,\gamma,-j]

F:=[βˆ’a,f,Ο•]assignπΉπ‘Žπ‘“italic-Ο•F:=[-a,f,\phi]

But since no terms on the R.H.S. exist besides c𝑐c and d𝑑d, then g𝑔g, hβ„Žh, and γ𝛾\gamma may not exist.

Notice that no terms in γ𝛾\gamma may exist because if any terms in γ𝛾\gamma exist, then they can be extracted and treated as g𝑔g or hβ„Žh.

Then we can redefine the clauses:

D:=[βˆ’j]assign𝐷delimited-[]𝑗D:=[-j]

F:=[βˆ’a,f,Ο•]assignπΉπ‘Žπ‘“italic-Ο•F:=[-a,f,\phi]

Notice that F𝐹F is shorter than C𝐢C.

This is a contradiction because the length of C𝐢C is given as less than kπ‘˜k while the length of F𝐹F is given as kπ‘˜k.

Therefore at least three terms must exist on the R.H.S.

Since at least three terms must exist on the R.H.S., the inequality is true.

Therefore H𝐻H is shorter than kπ‘˜k when the length of G𝐺G is kπ‘˜k.

(1b) G𝐺G is of length kβˆ’1π‘˜1k-1

If G𝐺G is of length kβˆ’1π‘˜1k-1, then k is defined as:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Length of H=b+i+f+j+Ξ²+Ο•βˆ’(β​ϕ)𝐻𝑏𝑖𝑓𝑗𝛽italic-ϕ𝛽italic-Ο•H=b+i+f+j+\beta+\phi-(\beta\phi)

Similarly to before, the inequality becomes:

β†’β†’\rightarrow i+j𝑖𝑗i+j << c+d+g+h+Ξ΄+Ξ³βˆ’(β​δ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘π‘‘π‘”β„Žπ›Ώπ›Ύπ›½π›Ώπ›½π›Ύπ›Ώitalic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1c+d+g+h+\delta+\gamma-(\beta\delta)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Which is true as long as at least two terms exist on the R.H.S.

It was already shown that at least three terms must exist on the R.H.S. and the proof does not rely on the length of G𝐺G so the inequality holds.

Therefore H𝐻H is always shorter than kπ‘˜k.

(2) Want to show I𝐼I is shorter than kπ‘˜k

Two cases to consider (2a) G𝐺G is of length kπ‘˜k and (2b) G𝐺G is of length kβˆ’1π‘˜1k-1

(2a) G𝐺G is of length kπ‘˜k

Since G𝐺G is of length kπ‘˜k we can define kπ‘˜k as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Length of I=c+d+b+f+j+Ξ΄+Ξ²+Ο•βˆ’(δ​β)βˆ’(δ​ϕ)βˆ’(β​ϕ)+(δ​β​ϕ)𝐼𝑐𝑑𝑏𝑓𝑗𝛿𝛽italic-ϕ𝛿𝛽𝛿italic-ϕ𝛽italic-ϕ𝛿𝛽italic-Ο•I=c+d+b+f+j+\delta+\beta+\phi-(\delta\beta)-(\delta\phi)-(\beta\phi)+(\delta\beta\phi)

Want to show the length of I𝐼I is less than kπ‘˜k:

c+d+b+f+j+Ξ΄+Ξ²+Ο•βˆ’(δ​β)βˆ’(δ​ϕ)βˆ’(β​ϕ)+(δ​β​ϕ)𝑐𝑑𝑏𝑓𝑗𝛿𝛽italic-ϕ𝛿𝛽𝛿italic-ϕ𝛽italic-ϕ𝛿𝛽italic-Ο•c+d+b+f+j+\delta+\beta+\phi-(\delta\beta)-(\delta\phi)-(\beta\phi)+(\delta\beta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

β†’β†’\rightarrow j𝑗j << g+h+Ξ³βˆ’(β​γ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘”β„Žπ›Ύπ›½π›Ύπ›Ώπ›Ύitalic-ϕ𝛾𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾g+h+\gamma-(\beta\gamma)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Which is true as long as at least two terms exist on the R.H.S.

Suppose not, then a maximum of one term exists on the R.H.S.

Recall the clauses

C:=[βˆ’a,f,Ο•,j]assignπΆπ‘Žπ‘“italic-ϕ𝑗C:=[-a,f,\phi,j]

D:=[g,h,Ξ³,βˆ’j]assignπ·π‘”β„Žπ›Ύπ‘—D:=[g,h,\gamma,-j]

F:=[βˆ’a,f,Ο•,g,h,Ξ³]assignπΉπ‘Žπ‘“italic-Ο•π‘”β„Žπ›ΎF:=[-a,f,\phi,g,h,\gamma]

Due to the restriction of a maximum of one term existing on the R.H.S., we can redefine some clauses:

D:=[x,βˆ’j]assign𝐷π‘₯𝑗D:=[x,-j]

F:=[βˆ’a,f,Ο•,x]assignπΉπ‘Žπ‘“italic-Ο•π‘₯F:=[-a,f,\phi,x]

Where xπ‘₯x represents a maximum of one term.

Note that if xπ‘₯x was more than one term, then the two terms could be used as g𝑔g and hβ„Žh, but we know these do not exist.

Notice the length of F𝐹F is at most the length of C𝐢C.

This is a contradiction because the length of C𝐢C is given as less than kπ‘˜k while the length of F𝐹F is given as kπ‘˜k

Therefore at least two terms exist on the R.H.S. and the inequality is true.

Therefore I is shorter than kπ‘˜k when G𝐺G is of length kπ‘˜k.

(2b) G𝐺G is of length kβˆ’1π‘˜1k-1

Similarly as before, we define k in terms of the length of G:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Length of I=c+d+b+f+j+Ξ΄+Ξ²+Ο•βˆ’(δ​β)βˆ’(δ​ϕ)βˆ’(β​ϕ)+(δ​β​ϕ)𝐼𝑐𝑑𝑏𝑓𝑗𝛿𝛽italic-ϕ𝛿𝛽𝛿italic-ϕ𝛽italic-ϕ𝛿𝛽italic-Ο•I=c+d+b+f+j+\delta+\beta+\phi-(\delta\beta)-(\delta\phi)-(\beta\phi)+(\delta\beta\phi)

Similarly to before, the inequality becomes

β†’β†’\rightarrow j𝑗j << g+h+Ξ³βˆ’(β​γ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘”β„Žπ›Ύπ›½π›Ύπ›Ώπ›Ύitalic-ϕ𝛾𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1g+h+\gamma-(\beta\gamma)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Which is true as long as at least one term exists on the R.H.S.

It was already shown at least two terms exist on the R.H.S. and the proof does not rely on the length of G𝐺G so the inequality is true.

Therefore, the length of I𝐼I is shorter than kπ‘˜k when G𝐺G is of length kβˆ’1π‘˜1k-1.

Since G𝐺G can be derived by processing only A𝐴A, B𝐡B, C𝐢C, D𝐷D, H𝐻H, and I𝐼I and all of those clauses are shorter than kπ‘˜k, we can derive D𝐷D by processing clauses with a maximum length of kβˆ’1π‘˜1k-1. ∎

Lemma 5.18.

Given the following:

  • β€’

    a clause, A𝐴A, of length less than kπ‘˜k

  • β€’

    a clause, B𝐡B, of length less than kπ‘˜k

  • β€’

    a clause, C𝐢C, of length less than kπ‘˜k

  • β€’

    a clause, D𝐷D, of length kπ‘˜k

  • β€’

    a clause E𝐸E, of length kπ‘˜k

  • β€’

    a clause F𝐹F, of length kβˆ’1π‘˜1k-1 or kπ‘˜k

  • β€’

    A and B imply D by Lemma 5.9

  • β€’

    C expands to E by Lemma 5.8

  • β€’

    D and E imply F by Lemma 5.9

Then F𝐹F can be implied by only processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Proof.

Consider the following figure:

Refer to caption
Figure 5: An illustration of the derivations described by the lemma

Let the following clauses be defined:

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

B:=[c,d,Ξ΄,βˆ’i]assign𝐡𝑐𝑑𝛿𝑖B:=[c,d,\delta,-i]

C1:=[βˆ’a,f,Ο•]assignsubscript𝐢1π‘Žπ‘“italic-Ο•C_{1}:=[-a,f,\phi]

C2:=[e,f,Ο•]assignsubscript𝐢2𝑒𝑓italic-Ο•C_{2}:=[e,f,\phi]

Then the following clauses are implied:

D=[a,b,Ξ²,c,d,Ξ΄]π·π‘Žπ‘π›½π‘π‘‘π›ΏD=[a,b,\beta,c,d,\delta]

E1=[βˆ’a,f,Ο•,g,h,Ξ³]subscript𝐸1π‘Žπ‘“italic-Ο•π‘”β„Žπ›ΎE_{1}=[-a,f,\phi,g,h,\gamma]

E2=[e,f,Ο•,βˆ’a,h,Ξ³]subscript𝐸2𝑒𝑓italic-Ο•π‘Žβ„Žπ›ΎE_{2}=[e,f,\phi,-a,h,\gamma]

F1=[b,Ξ²,c,d,Ξ΄,f,Ο•,g,h,Ξ³]subscript𝐹1𝑏𝛽𝑐𝑑𝛿𝑓italic-Ο•π‘”β„Žπ›ΎF_{1}=[b,\beta,c,d,\delta,f,\phi,g,h,\gamma]

F2=[b,Ξ²,c,d,Ξ΄,e,f,Ο•,h,Ξ³]subscript𝐹2𝑏𝛽𝑐𝑑𝛿𝑒𝑓italic-Ο•β„Žπ›ΎF_{2}=[b,\beta,c,d,\delta,e,f,\phi,h,\gamma]

Where Ξ²,Ξ΄,ϕ𝛽𝛿italic-Ο•\beta,\delta,\phi and γ𝛾\gamma are generic sets of terms such that A, B, and C block at least one clause by Lemma 5.3.

Notice E and D must share a term of the opposite form and there are two possible cases for what this term is:

  • β€’

    it exists in C (use C1subscript𝐢1C_{1}, E1subscript𝐸1E_{1}, and F2subscript𝐹2F_{2})

  • β€’

    it does not exist in C (use C2subscript𝐢2C_{2}, E2subscript𝐸2E_{2}, and F2subscript𝐹2F_{2})

Either way the opposite term must exist in A or B since it must exist in D and D is composed of terms from A or B.

Since A and B are both generic clauses treated in the same way, it does not matter which clause the term exists in as long as it is fixed.

Let’s pick A𝐴A to contain the opposite form term from C𝐢C.

Consider (1) the opposite form term exists in C (use C1subscript𝐢1C_{1}, E1subscript𝐸1E_{1}, and F1subscript𝐹1F_{1}).

Want to show F1subscript𝐹1F_{1} can be derived by processing clauses with a maximum length of k - 1.

Let the following clauses be defined:

G=[b,Ξ²,i,f,Ο•]𝐺𝑏𝛽𝑖𝑓italic-Ο•G=[b,\beta,i,f,\phi] (By clause A𝐴A and C1subscript𝐢1C_{1} with Lemma 5.9)

H=[b,Ξ²,f,Ο•,c,d,Ξ΄]𝐻𝑏𝛽𝑓italic-ϕ𝑐𝑑𝛿H=[b,\beta,f,\phi,c,d,\delta] (By clause G𝐺G and B𝐡B with Lemma 5.9)

Since all of the terms in H𝐻H exist in F1subscript𝐹1F_{1}, Lemma 5.8 can be used to derive F1subscript𝐹1F_{1} from H𝐻H.

Want to show (1a) G𝐺G is shorter than kπ‘˜k and (1b) H𝐻H is shorter than kπ‘˜k

(1a) G𝐺G is shorter than kπ‘˜k

Consider two cases (1ai) F1subscript𝐹1F_{1} is of length kπ‘˜k and (1aii) F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1.

(1ai) F1subscript𝐹1F_{1} is of length kπ‘˜k

In the following equations, let the presence of a term represent a count of one, and the presence of a set of terms represent the number of terms in that set. If multiple sets of terms are shown in parentheses, let this represent the number of terms found in the intersection of both sets.

Recall F1subscript𝐹1F_{1} is of length kπ‘˜k so kπ‘˜k can be defined as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Length of G=b+i+f+Ξ²+Ο•βˆ’(β​ϕ)𝐺𝑏𝑖𝑓𝛽italic-ϕ𝛽italic-Ο•G=b+i+f+\beta+\phi-(\beta\phi)

Want to show length of G𝐺G is less than kπ‘˜k:

b+i+f+Ξ²+Ο•βˆ’(β​ϕ)𝑏𝑖𝑓𝛽italic-ϕ𝛽italic-Ο•b+i+f+\beta+\phi-(\beta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

β†’β†’\rightarrow i𝑖i << c+d+g+h+Ξ΄+Ξ³βˆ’(β​δ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘‘π‘”β„Žπ›Ώπ›Ύπ›½π›Ώπ›½π›Ύπ›Ώitalic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾c+d+g+h+\delta+\gamma-(\beta\delta)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Which is true as long as at least two terms exist on the R.H.S.

Want to show at least two terms exist on the R.H.S.

Suppose not, then at most one term exists on the R.H.S.

Recall the clauses

A:=[a,b,Ξ²,i]assignπ΄π‘Žπ‘π›½π‘–A:=[a,b,\beta,i]

D:=[a,b,Ξ²,c,d,Ξ΄]assignπ·π‘Žπ‘π›½π‘π‘‘π›ΏD:=[a,b,\beta,c,d,\delta]

We can redefine some clauses since at most one term may exists on the R.H.S.

D:=[a,b,Ξ²,x]assignπ·π‘Žπ‘π›½π‘₯D:=[a,b,\beta,x]

Where xπ‘₯x represents one term from c𝑐c, d𝑑d, or δ𝛿\delta.

Note that if xπ‘₯x was more than one term, the two terms could be extracted and treated as c𝑐c and d𝑑d, but we know at most one of these terms exist.

Note the length of D𝐷D is the same as the length of A𝐴A.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k while the length of D𝐷D is given as kπ‘˜k.

Therefore at least two terms exist on the R.H.S. and the inequality is true.

Therefore G𝐺G is shorter than kπ‘˜k when using F1subscript𝐹1F_{1} and the length of F1subscript𝐹1F_{1} is kπ‘˜k.

(1aii) F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1

Recall F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1 so kπ‘˜k can be defined as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Length of G=b+i+f+Ξ²+Ο•βˆ’(β​ϕ)𝐺𝑏𝑖𝑓𝛽italic-ϕ𝛽italic-Ο•G=b+i+f+\beta+\phi-(\beta\phi)

Want to show length of G𝐺G is less than kπ‘˜k:

b+i+f+Ξ²+Ο•βˆ’(β​ϕ)𝑏𝑖𝑓𝛽italic-ϕ𝛽italic-Ο•b+i+f+\beta+\phi-(\beta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Similarly as before, the inequality will become:

β†’β†’\rightarrow i𝑖i << c+d+g+h+Ξ΄+Ξ³βˆ’(β​δ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘π‘‘π‘”β„Žπ›Ώπ›Ύπ›½π›Ώπ›½π›Ύπ›Ώitalic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1c+d+g+h+\delta+\gamma-(\beta\delta)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Which is true as long as at least one term exists on the R.H.S.

We already showed at least two terms exist on the R.H.S. and the proof does not rely on the length of F1subscript𝐹1F_{1}.

Therefore at least one term exists on the R.H.S. and the inequality is true.

Therefore the length of G𝐺G is less than kπ‘˜k when using F1subscript𝐹1F_{1} and the length of F1subscript𝐹1F_{1} is kβˆ’1π‘˜1k-1.

(1b) Want to show H𝐻H is shorter than kπ‘˜k.

We have two cases to consider: (1bi) F1subscript𝐹1F_{1} is of length kπ‘˜k and (1bii) F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1

Consider (1bi) F1subscript𝐹1F_{1} is of length kπ‘˜k

Recall F1subscript𝐹1F_{1} is of length kπ‘˜k, so we can define kπ‘˜k as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Length of H=b+f+c+d+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝐻𝑏𝑓𝑐𝑑𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•H=b+f+c+d+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

Want to show the length of H𝐻H is less than kπ‘˜k.

b+f+c+d+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑏𝑓𝑐𝑑𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•b+f+c+d+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

β†’β†’\rightarrow b+f+c+d𝑏𝑓𝑐𝑑b+f+c+d << b+c+d+f+g+h+Ξ³βˆ’(β​γ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘π‘π‘‘π‘“π‘”β„Žπ›Ύπ›½π›Ύπ›Ώπ›Ύitalic-ϕ𝛾𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾b+c+d+f+g+h+\gamma-(\beta\gamma)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

β†’β†’\rightarrow 00 << g+h+Ξ³βˆ’(β​γ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)π‘”β„Žπ›Ύπ›½π›Ύπ›Ώπ›Ύitalic-ϕ𝛾𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾g+h+\gamma-(\beta\gamma)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)

Which is true if at least one term exists on the R.H.S.

Want to show at least one term exists on the R.H.S.

Suppose not, then no terms exist on the R.H.S.

Recall the clauses

C1:=[βˆ’a,f,Ο•]assignsubscript𝐢1π‘Žπ‘“italic-Ο•C_{1}:=[-a,f,\phi]

E1:=[βˆ’a,f,Ο•,g,h,Ξ³]assignsubscript𝐸1π‘Žπ‘“italic-Ο•π‘”β„Žπ›ΎE_{1}:=[-a,f,\phi,g,h,\gamma]

Since no terms exist on the R.H.S., we can redefine some clauses:

E1:=[βˆ’a,f,Ο•]assignsubscript𝐸1π‘Žπ‘“italic-Ο•E_{1}:=[-a,f,\phi]

Note that no other terms may exist in E1subscript𝐸1E_{1} because any other terms could be used as g𝑔g or hβ„Žh, but we know these don’t exist.

Notice E1subscript𝐸1E_{1} is exactly C1subscript𝐢1C_{1}.

This is a contradiction because the length of C𝐢C is given as less than kπ‘˜k while the length of E𝐸E is given as kπ‘˜k.

Therefore at least one term exists on the R.H.S. and the inequality is true.

Therefore H𝐻H is shorter than kπ‘˜k when using F1subscript𝐹1F_{1} and the length of F1subscript𝐹1F_{1} is kπ‘˜k.

Consider (1bii) F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1

Since F1subscript𝐹1F_{1} is of length kβˆ’1π‘˜1k-1, we can define kπ‘˜k as follows:

k=b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘˜π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1k=b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Length of H=b+f+c+d+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝐻𝑏𝑓𝑐𝑑𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•H=b+f+c+d+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi)

Want to show the length of H is less than k.

b+f+c+d+Ξ²+Ξ΄+Ο•βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(δ​ϕ)+(β​δ​ϕ)𝑏𝑓𝑐𝑑𝛽𝛿italic-ϕ𝛽𝛿𝛽italic-ϕ𝛿italic-ϕ𝛽𝛿italic-Ο•b+f+c+d+\beta+\delta+\phi-(\beta\delta)-(\beta\phi)-(\delta\phi)+(\beta\delta\phi) << b+c+d+f+g+h+Ξ²+Ξ΄+Ο•+Ξ³βˆ’(β​δ)βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(δ​ϕ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​ϕ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘π‘π‘‘π‘“π‘”β„Žπ›½π›Ώitalic-ϕ𝛾𝛽𝛿𝛽italic-ϕ𝛽𝛾𝛿italic-ϕ𝛿𝛾italic-ϕ𝛾𝛽𝛿italic-ϕ𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1b+c+d+f+g+h+\beta+\delta+\phi+\gamma-(\beta\delta)-(\beta\phi)-(\beta\gamma)-(\delta\phi)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\phi)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Similarly to before, this will derive

β†’β†’\rightarrow 00 << g+h+Ξ³βˆ’(β​γ)βˆ’(δ​γ)βˆ’(ϕ​γ)+(β​δ​γ)+(β​ϕ​γ)+(δ​ϕ​γ)βˆ’(β​δ​ϕ​γ)+1π‘”β„Žπ›Ύπ›½π›Ύπ›Ώπ›Ύitalic-ϕ𝛾𝛽𝛿𝛾𝛽italic-ϕ𝛾𝛿italic-ϕ𝛾𝛽𝛿italic-ϕ𝛾1g+h+\gamma-(\beta\gamma)-(\delta\gamma)-(\phi\gamma)+(\beta\delta\gamma)+(\beta\phi\gamma)+(\delta\phi\gamma)-(\beta\delta\phi\gamma)+1

Which is always true.

Therefore the length of H𝐻H is less than kπ‘˜k when using F1subscript𝐹1F_{1} and the length of F1subscript𝐹1F_{1} is kβˆ’1π‘˜1k-1.

Consider (2) the opposite form term does not exist in C𝐢C, use C2subscript𝐢2C_{2}, E2subscript𝐸2E_{2}, and F2subscript𝐹2F_{2}.

Recall we have the clauses:

C2:=[e,f,Ο•]assignsubscript𝐢2𝑒𝑓italic-Ο•C_{2}:=[e,f,\phi]

F2:=[b,Ξ²,c,d,Ξ΄,e,f,Ο•,h,Ξ³]assignsubscript𝐹2𝑏𝛽𝑐𝑑𝛿𝑒𝑓italic-Ο•β„Žπ›ΎF_{2}:=[b,\beta,c,d,\delta,e,f,\phi,h,\gamma]

Notice all of the terms in C2subscript𝐢2C_{2} exist in F2subscript𝐹2F_{2} so C2subscript𝐢2C_{2} can expand to F2subscript𝐹2F_{2} using Lemma 5.9.

Since the length of C𝐢C is given as less than kπ‘˜k, we can derive F2subscript𝐹2F_{2} by processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Since F1subscript𝐹1F_{1} and F2subscript𝐹2F_{2} are all possible cases of F𝐹F and they can be derived without processing clauses longer than length kβˆ’1π‘˜1k-1, F𝐹F can be derived by processing only clauses with a maximum length of kβˆ’1π‘˜1k-1. ∎

Lemma 5.19.

Given the following:

  • β€’

    a clause A𝐴A, of length less than k

  • β€’

    a clause B𝐡B, of length less than k

  • β€’

    a clause C𝐢C, of length k

  • β€’

    a clause D𝐷D, of length k

  • β€’

    a clause E𝐸E, of length k or k - 1

  • β€’

    A𝐴A expands to C𝐢C by lemma 5.8

  • β€’

    B𝐡B expands to D𝐷D by lemma 5.8

  • β€’

    C𝐢C and D𝐷D imply E𝐸E by lemma 5.7

Then E𝐸E can be derived by processing clauses whose length is at most k - 1.

Proof.

Consider the following figure:

Refer to caption
Figure 6: An illustration of the derivations described in this lemma

In the following clause definitions let Ξ²,Ξ΄,Ο•,𝛽𝛿italic-Ο•\beta,\delta,\phi, and γ𝛾\gamma be fixed yet arbitrary set of terms in which the clauses block at least one assignment by Lemma 5.3.

In order for C𝐢C and D𝐷D to imply E by Lemma 5.9, they have to share a terminal which is positive in one clause and negated in the other.

Note that C𝐢C is composed of terms in A𝐴A and terms not in A𝐴A.

Similarly D𝐷D is composed of terms in B𝐡B and terms not in B𝐡B.

There are 3 cases for this opposite form term existing in regards to A𝐴A and B𝐡B:

  1. 1.

    the opposite form term does not exist in A𝐴A or B𝐡B

  2. 2.

    the opposite form term exists in either A𝐴A or B𝐡B but not both

  3. 3.

    the opposite form term exists in A𝐴A and B𝐡B

Consider case (1) the opposite form term does not exist in A or B.

Then we have the clauses:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

B:=[c,d,Ξ΄]assign𝐡𝑐𝑑𝛿B:=[c,d,\delta]

C:=[a,b,Ξ²,e,f,Ο•]assignπΆπ‘Žπ‘π›½π‘’π‘“italic-Ο•C:=[a,b,\beta,e,f,\phi]

D:=[c,d,Ξ΄,βˆ’e,h,Ξ³]assignπ·π‘π‘‘π›Ώπ‘’β„Žπ›ΎD:=[c,d,\delta,-e,h,\gamma]

E:=[a,b,Ξ²,f,Ο•,c,d,Ξ΄,h,Ξ³]assignπΈπ‘Žπ‘π›½π‘“italic-Ο•π‘π‘‘π›Ώβ„Žπ›ΎE:=[a,b,\beta,f,\phi,c,d,\delta,h,\gamma]

Notice all of the terms in A𝐴A exist in E𝐸E so we can expand A𝐴A to E𝐸E by Lemma 5.8.

Since the length of A𝐴A is given as less than kπ‘˜k, we can derive E𝐸E by processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Consider case (2) the opposite form term exists in either A or B.

Since C𝐢C and D𝐷D are treated the same, let’s say the opposite form term exists in D𝐷D and A𝐴A.

Now we have the clauses:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

B:=[c,d,Ξ΄]assign𝐡𝑐𝑑𝛿B:=[c,d,\delta]

C:=[a,b,Ξ²,e,f,Ο•]assignπΆπ‘Žπ‘π›½π‘’π‘“italic-Ο•C:=[a,b,\beta,e,f,\phi]

D:=[c,d,Ξ΄,βˆ’a,h,Ξ³]assignπ·π‘π‘‘π›Ώπ‘Žβ„Žπ›ΎD:=[c,d,\delta,-a,h,\gamma]

E:=[b,Ξ²,e,f,Ο•,c,d,Ξ΄,h,Ξ³]assign𝐸𝑏𝛽𝑒𝑓italic-Ο•π‘π‘‘π›Ώβ„Žπ›ΎE:=[b,\beta,e,f,\phi,c,d,\delta,h,\gamma]

Notice all of the terms in B𝐡B exist in E𝐸E so we can expand B𝐡B to E𝐸E by Lemma 5.8.

Since the length of B𝐡B is given as shorter than kπ‘˜k, we can derive E𝐸E by processing clauses with a maximum length of kβˆ’1π‘˜1k-1.

Consider case (3) the opposite form term exists in A and B.

In this case, we redefine the clauses as follows:

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

B:=[βˆ’a,d,Ξ΄]assignπ΅π‘Žπ‘‘π›ΏB:=[-a,d,\delta]

C=[a,b,Ξ²,e,f,Ο•]πΆπ‘Žπ‘π›½π‘’π‘“italic-Ο•C=[a,b,\beta,e,f,\phi]

D=[βˆ’a,d,Ξ΄,g,h,Ξ³]π·π‘Žπ‘‘π›Ώπ‘”β„Žπ›ΎD=[-a,d,\delta,g,h,\gamma]

E=[b,Ξ²,e,f,Ο•,d,Ξ΄,g,h,Ξ³]𝐸𝑏𝛽𝑒𝑓italic-Ο•π‘‘π›Ώπ‘”β„Žπ›ΎE=[b,\beta,e,f,\phi,d,\delta,g,h,\gamma]

In this case, by Lemma 5.9, A𝐴A and B𝐡B can imply a new clause:

F=[b,Ξ²,d,Ξ΄]𝐹𝑏𝛽𝑑𝛿F=[b,\beta,d,\delta]

Want to show F𝐹F is shorter than kπ‘˜k.

Consider two cases (3a) the length of E𝐸E is kπ‘˜k and (3b) the length of E𝐸E is kβˆ’1π‘˜1k-1.

Consider (3a) the length of E𝐸E is kπ‘˜k.

We can define kπ‘˜k as follows:

k=b+e+f+d+g+h+Ξ²+Ο•+Ξ΄+Ξ³βˆ’(β​ϕ)βˆ’(β​δ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)π‘˜π‘π‘’π‘“π‘‘π‘”β„Žπ›½italic-ϕ𝛿𝛾𝛽italic-ϕ𝛽𝛿𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾k=b+e+f+d+g+h+\beta+\phi+\delta+\gamma-(\beta\phi)-(\beta\delta)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)

And the length of F𝐹F is:

Length of F=b+d+Ξ²+Ξ΄βˆ’(β​δ)𝐹𝑏𝑑𝛽𝛿𝛽𝛿F=b+d+\beta+\delta-(\beta\delta)

Want to show the length of F𝐹F is less than kπ‘˜k:

b+d+Ξ²+Ξ΄βˆ’(β​δ)𝑏𝑑𝛽𝛿𝛽𝛿b+d+\beta+\delta-(\beta\delta) << b+e+f+d+g+h+Ξ²+Ο•+Ξ΄+Ξ³βˆ’(β​ϕ)βˆ’(β​δ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)π‘π‘’π‘“π‘‘π‘”β„Žπ›½italic-ϕ𝛿𝛾𝛽italic-ϕ𝛽𝛿𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾b+e+f+d+g+h+\beta+\phi+\delta+\gamma-(\beta\phi)-(\beta\delta)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)

β†’β†’\rightarrow 00 << e+f+g+h+Ο•+Ξ³βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)π‘’π‘“π‘”β„Žitalic-ϕ𝛾𝛽italic-ϕ𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾e+f+g+h+\phi+\gamma-(\beta\phi)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)

Which is true as long as at least one term exists on the R.H.S.

Want to show at least one term exists on the R.H.S.

Suppose not, then no terms exist on the R.H.S.

Recall we have the clauses

A:=[a,b,Ξ²]assignπ΄π‘Žπ‘π›½A:=[a,b,\beta]

C:=[a,b,Ξ²,e,f,Ο•]assignπΆπ‘Žπ‘π›½π‘’π‘“italic-Ο•C:=[a,b,\beta,e,f,\phi]

Since the terms on the R.H.S. do not exist, we can redefine the clause:

C:=[a,b,Ξ²]assignπΆπ‘Žπ‘π›½C:=[a,b,\beta]

Notice no more terms may exist in C𝐢C because any new term could be treated as e𝑒e or f𝑓f and we know those don’t exist.

Notice C𝐢C is exactly A𝐴A.

This is a contradiction because the length of A𝐴A is given as less than kπ‘˜k and the length of C𝐢C is given as kπ‘˜k.

Therefore at least one term must exist on the R.H.S. and the inequality is true.

Therefore F𝐹F is shorter than kπ‘˜k when E𝐸E is of length kπ‘˜k.

Consider (3b) the length of E𝐸E is kβˆ’1π‘˜1k-1.

We can define kπ‘˜k as follows:

k=b+e+f+d+g+h+Ξ²+Ο•+Ξ΄+Ξ³βˆ’(β​ϕ)βˆ’(β​δ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)+1π‘˜π‘π‘’π‘“π‘‘π‘”β„Žπ›½italic-ϕ𝛿𝛾𝛽italic-ϕ𝛽𝛿𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾1k=b+e+f+d+g+h+\beta+\phi+\delta+\gamma-(\beta\phi)-(\beta\delta)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)+1

And the length of F𝐹F is:

Length of F=b+d+Ξ²+Ξ΄βˆ’(β​δ)𝐹𝑏𝑑𝛽𝛿𝛽𝛿F=b+d+\beta+\delta-(\beta\delta)

Want to show the length of F𝐹F is less than kπ‘˜k:

b+d+Ξ²+Ξ΄βˆ’(β​δ)𝑏𝑑𝛽𝛿𝛽𝛿b+d+\beta+\delta-(\beta\delta) << b+e+f+d+g+h+Ξ²+Ο•+Ξ΄+Ξ³βˆ’(β​ϕ)βˆ’(β​δ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)+1π‘π‘’π‘“π‘‘π‘”β„Žπ›½italic-ϕ𝛿𝛾𝛽italic-ϕ𝛽𝛿𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾1b+e+f+d+g+h+\beta+\phi+\delta+\gamma-(\beta\phi)-(\beta\delta)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)+1

Similarly to before, this will derive

β†’β†’\rightarrow 00 << e+f+g+h+Ο•+Ξ³βˆ’(β​ϕ)βˆ’(β​γ)βˆ’(ϕ​δ)βˆ’(ϕ​γ)βˆ’(δ​γ)+(β​ϕ​δ)+(β​ϕ​γ)+(ϕ​δ​γ)βˆ’(β​ϕ​δ​γ)+1π‘’π‘“π‘”β„Žitalic-ϕ𝛾𝛽italic-ϕ𝛽𝛾italic-ϕ𝛿italic-ϕ𝛾𝛿𝛾𝛽italic-ϕ𝛿𝛽italic-ϕ𝛾italic-ϕ𝛿𝛾𝛽italic-ϕ𝛿𝛾1e+f+g+h+\phi+\gamma-(\beta\phi)-(\beta\gamma)-(\phi\delta)-(\phi\gamma)-(\delta\gamma)+(\beta\phi\delta)+(\beta\phi\gamma)+(\phi\delta\gamma)-(\beta\phi\delta\gamma)+1

Which is always true.

Therefore F𝐹F is shorter than kπ‘˜k when the length of E𝐸E is kβˆ’1π‘˜1k-1.

Since we can derive E𝐸E by processing clauses with a maximum length of kβˆ’1π‘˜1k-1 for all possible cases of the lemma, then the lemma holds. ∎

missingum@section Algorithm

  1. 1.

    For each clause in the instance, C, of length 3 or less:

    1. (a)

      For each clause in the instance, D, of length 3 or less:

      1. i.

        Get all clauses implied by C and D according to Lemma 5.9 and add them to the instance

      2. ii.

        Check if this new clause is in the instance and update a flag accordingly

    2. (b)

      Expand C to get all possible clauses with a maximum length of 3 and add them to the instance

    3. (c)

      For each new clause from the previous step

      1. i.

        Check if the new clause is in the instance

  2. 2.

    For each clause in the instance, E, of length 1:

    1. (a)

      For each clause in the instance, F, of length 1:

      1. i.

        if E and F contain the same terminal in which it is positive in one clause and negated in the other, the clauses are contradicting and the instance is unsatisfiable, end

  3. 3.

    Repeat (1)-(2) until no new clauses are added

  4. 4.

    If it reaches here, the instance is satisfiable, end

missingum@section Time Complexity Analysis

In this section I will analyze the time complexity of the algorithm in section 4

(1) - O​(n3)𝑂superscript𝑛3O(n^{3}) - At most (n3)βˆ—8+(n2)βˆ—4+(n1)βˆ—2binomial𝑛38binomial𝑛24binomial𝑛12{\binom{n}{3}}*8+{\binom{n}{2}}*4+{\binom{n}{1}}*2 clauses to iterate which is on the order of O​(n3)𝑂superscript𝑛3O(n^{3})

(1.a) - O​(n3)𝑂superscript𝑛3O(n^{3}) - At most (n3)βˆ—8+(n2)βˆ—4+(n1)βˆ—2binomial𝑛38binomial𝑛24binomial𝑛12{\binom{n}{3}}*8+{\binom{n}{2}}*4+{\binom{n}{1}}*2 clauses to iterate which is on the order of O​(n3)𝑂superscript𝑛3O(n^{3})

(1.a.i) - O​(1)𝑂1O(1) - For each terminal in C, check if it’s opposite form is in D. Since each clause is of length 3 or less, the worst case we iterate over 3 terms in C and check each term in D. If it’s a match, we iterate over each clause again and create a new clause as described in Lemma 5.9. This time complexity is intuitively O​(32+32)𝑂superscript32superscript32O(3^{2}+3^{2}) which is constant time.

(1.a.ii) - O​(n3)𝑂superscript𝑛3O(n^{3}) - For each clause in the instance, iterate through the instance to check if it exists already. There are on the order of O​(n3)𝑂superscript𝑛3O(n^{3}) clauses in the instance.

(1.b) - O​(n2)𝑂superscript𝑛2O(n^{2}) - For a 2-terminal clause, there are 2βˆ—n2𝑛2*n possible 3-terminal clauses that could be expanded to. For a 1-terminal clause, there are 4βˆ—n24superscript𝑛24*n^{2} possible 3-terminal clauses that could be expanded to. This is upper bounded by the latter case.

(1.c) - O​(n2)𝑂superscript𝑛2O(n^{2}) - Upper bounded by at most O​(n2)𝑂superscript𝑛2O(n^{2}) new clauses from the last step

(1.c.i) - O​(n3)𝑂superscript𝑛3O(n^{3}) - At most (n3)βˆ—8+(n2)βˆ—4+(n1)βˆ—2binomial𝑛38binomial𝑛24binomial𝑛12{\binom{n}{3}}*8+{\binom{n}{2}}*4+{\binom{n}{1}}*2 clauses to iterate which is on the order of O​(n3)𝑂superscript𝑛3O(n^{3})

(2) - O​(n3)𝑂superscript𝑛3O(n^{3}) - Iterating through an instance where there are on the order of O​(n3)𝑂superscript𝑛3O(n^{3}) clauses

(2.a) - O​(n3)𝑂superscript𝑛3O(n^{3}) - Iterating through an instance where there are on the order of O​(n3)𝑂superscript𝑛3O(n^{3}) clauses

(2.b.i) - O​(1)𝑂1O(1) - Constant time to check if two 1-terminal clauses contain the same terminal in the opposite form

(3) - O​(n3)𝑂superscript𝑛3O(n^{3}) - Worst case, we add one new clause each time so we have to loop (n3)βˆ—8+(n2)βˆ—8+(n1)βˆ—2binomial𝑛38binomial𝑛28binomial𝑛12{\binom{n}{3}}*8+{\binom{n}{2}}*8+{\binom{n}{1}}*2 times which is on the order of O​(n3)𝑂superscript𝑛3O(n^{3})

(4) - O​(1)𝑂1O(1) - Constant time to check and return satisfiable

The time complexity breaks down:

(3)βˆ—((1)βˆ—((1.a)βˆ—((1.a.i)+(1.a.ii))+(1.b)+(1.c)βˆ—(1.c.i))+(2)βˆ—(2.a)βˆ—(2.a.i))+(4)(3)*((1)*((1.a)*((1.a.i)+(1.a.ii))+(1.b)+(1.c)*(1.c.i))+(2)*(2.a)*(2.a.i))+(4)

It is seen the most computationally expensive steps are

(3)βˆ—(1)βˆ—(1.a)βˆ—(1.a.oii)(3)*(1)*(1.a)*(1.a.oii)

=O​(n3)βˆ—O​(n3)βˆ—O​(n3)βˆ—O​(n3)absent𝑂superscript𝑛3𝑂superscript𝑛3𝑂superscript𝑛3𝑂superscript𝑛3=O(n^{3})*O(n^{3})*O(n^{3})*O(n^{3})

=O​(n12)absent𝑂superscript𝑛12=O(n^{12})

missingum@section Proof of Correctness

Want to show an instance is unsatisfiable iff we can derive contradicting 1-terminal clauses by the algorithm.

WTS Contradicting 1-terminal clauses can be derived ⟹\implies the instance is unsatisfiable

Contradicting 1-terminal clauses take the form:

[a]delimited-[]π‘Ž[a]

[βˆ’a]delimited-[]π‘Ž[-a]

Where aπ‘Ža is a terminal in the problem.

In all possible assignments, aπ‘Ža can have the value of True or False.

If aπ‘Ža is True, the clause [βˆ’a]delimited-[]π‘Ž[-a] will be False and the assignment does not satisfy the instance. If aπ‘Ža is False, the clause [a]delimited-[]π‘Ž[a] will be False and the assignment does not satisfy the instance.

Since all possible assignments do not allow both clauses to be True, the instance is unsatisfiable.

Therefore contradicting 1-terminal clauses can be derived ⟹\implies the instance is unsatisfiable

Want to show an unsatisfiable instance ⟹\implies the algorithm will derive contradicting 1-terminal clauses

By Lemma 5.14, since the instance is unsatisfiable, the given 3-terminal clauses can be expanded to every possible n𝑛n-terminal clause.

By Lemma 5.15 these n𝑛n-terminal clauses can be reduced by Lemma 5.7 to derive contradicting 1-terminal clauses.

So we know if we can derive these n𝑛n-terminal clauses, we can derive contradicting 1-terminal clauses.

The idea behind the proof is that we know the n𝑛n-terminal clauses can be used to derive the 111-terminal via reduction but we’ll show that we don’t ever have to process a clause above length 3 to derive these contradicting 1-terminal clauses.

This relies on the fact that all clauses of length 4 or greater, say of length kπ‘˜k, have to be derived by shorter clauses and we can process the shorter clauses to derive any clauses that the clauses of length kπ‘˜k would derive.

We can do this without processing a clause of length kπ‘˜k or greater.

The way in which we derive these 1-terminal clauses is we use Lemma 5.7 to reduce the n𝑛n-terminal clauses to (nβˆ’1)𝑛1(n-1)-terminal clauses which are reduced to (nβˆ’2)𝑛2(n-2)-terminal clauses which are reduced to … which are reduced to 222-terminal clauses and which finally get reduced to 111-terminal clauses.

Notice this passes through every possible kπ‘˜k from length 222 to n𝑛n.

Recall that deriving all of the n𝑛n-terminal clauses was done by using Lemma 5.8.

These n𝑛n-terminal clauses were then used to derive clauses of length (nβˆ’1)𝑛1(n-1) by Lemma 5.7.

By Lemma 5.18, such a case allows us to derive the clauses of length (nβˆ’1)𝑛1(n-1) without ever having to process a clause of length n𝑛n.

Now we have all of the clauses of length (nβˆ’1)𝑛1(n-1) that we would have derived if we processed clauses of length n𝑛n.

Note how each of these clauses are either derived from given clauses by Lemma 5.8 or by Lemma 5.9 (all Lemma 5.7 derivations are a subset of all Lemma 5.9 derivations).

We now want to use these (nβˆ’1)𝑛1(n-1)-terminal clauses to derive clauses of length (nβˆ’2)𝑛2(n-2), but we want to do it without processing clauses whose length is greater than (nβˆ’2)𝑛2(n-2).

Since it takes two (nβˆ’1)𝑛1(n-1)-terminal clauses to derive a (nβˆ’2)𝑛2(n-2)-terminal clause by Lemma 5.7, the possible clauses could be of the form:

  1. 1.

    both clauses were derived by Lemma 5.8 (expansion)

  2. 2.

    both clauses were derived by Lemma 5.9 (reduction/implication)

  3. 3.

    each clause was derived in a different manner

Note that this list is exhaustive because these are the only manner of implications used in the lemmas that allowed us to derive these clauses.

We can use the following lemmas to handle each case:

  1. 1.

    Lemma 5.19

  2. 2.

    Lemma 5.17

  3. 3.

    Lemma 5.18

As such we can derive the clauses of length (nβˆ’2)𝑛2(n-2) without processing a clause whose length is greater than (nβˆ’2)𝑛2(n-2).

In a more general sense, for any implied clause of length kπ‘˜k, say C𝐢C, that is used to derive a clause of length kπ‘˜k or kβˆ’1π‘˜1k-1, say D𝐷D, then we can use the fact that C𝐢C is derived by shorter clauses and we can use these shorter clauses to directly derive D𝐷D without ever processing a clause of length kπ‘˜k or greater.

At this point, we have 4-terminal clauses and we want to derive 3-terminal clauses.

Notice that Lemmas 5.17, 5.18, and 5.19 require the input clauses to be derived so we cannot use those lemmas to derive all the clauses of length 3 we need.

We need two input clauses to derive the necessary 3-terminal clauses and we have three cases:

  1. 1.

    Both inputs are of length 4

  2. 2.

    One input is of length 4, the other is of length 3

  3. 3.

    Both inputs are of length 3

We can disregard the last point because we want to derive a 3-terminal clause without processing a clause of length 4 or greater so the claim is vacuously true in this case.

In the case where both inputs are of length 4, we know they are both derived using smaller clauses and we can use Lemmas 5.17, 5.18, or 5.19.

In the case where one input is of length 4 and the other is of length 3, there are two cases for how the 4-terminal clause was derived:

  1. 1.

    It was derived using Lemma 5.9 (reduction/implication)

  2. 2.

    It was derived using Lemma 5.8 (expansion)

We can handle the cases in the following ways:

  1. 1.

    Using Lemma 5.11

  2. 2.

    Using Lemma 5.12

Now we have all the 3-terminal clauses that would have been derived while the n𝑛n-terminal clauses were being reduced to contradicting 1-terminal clauses.

We can now reduce the 3-terminal clauses to 1-terminal clauses.

Since we have all the necessary 3-terminal clauses without having to process a clause of length 4 or greater, this shows we do not have to process any clauses of 4 or greater to derive contradicting 1-terminal clauses.

Even though the algorithm only explicitly uses Lemma 5.9 and Lemma 5.8, this will cover cases where reduction is needed because Lemma 5.9 is a more general case of Lemma 5.7. Notice, too, that Lemmas 5.11, 5.12, 5.17, 5.18, and 5.19 rely on Lemmas 5.8 and 5.9 so we do not have to explicitly capture the cases where the intermediate lemmas would apply.

Therefore, this coincides with the described algorithm.

missingum@section Conclusion

In this paper, we present an algorithm to solve 3SAT in polynomial time.

This algorithm relies on Lemmas 5.8 and 5.9. The former of which says a clause can expand to imply another clause by appending any term that’s not in the original clause. The latter of which says two clauses sharing one terminal which is positive in one clause and negated in the other can imply a new clause composed of the rest of the terms in either clause. Using these strategies, we can process an instance of 3SAT while only considering clauses of length 3 or less and are guaranteed to derive a pair of contradicting 1-terminal clauses if and only if the instance is unsatisfiable.

According to [2], 3SAT is NP-complete so if 3SAT can be solved in polynomial time then every problem in NP can be solved in polynomial time.

Since such an algorithm exists, all problems in NP can be solved in polynomial time.

Thus, P = NP.

References

  • [1] StephenΒ A. Cook. The complexity of theorem-proving procedures. In Proceedings of the Third Annual ACM Symposium on Theory of Computing, STOC ’71, page 151–158, New York, NY, USA, 1971. Association for Computing Machinery.
  • [2] RichardΒ M. Karp. Reducibility among Combinatorial Problems, pages 85–103. Springer US, Boston, MA, 1972.