On the P VS NP Question: A New Proof of Inequality

: The analysis discussed in this study is based on a well-known NP-complete problem which is called “satisfiability problem or SAT”. From SAT a new NP-complete problem derives, which is described by a Boolean function of the number n of the clauses of SAT called “core function”. In this study a new proof is presented according which the number of gates of the minimal implementation of core function increases with n exponentially. Since the synthesis of core function is an NP-complete problem, this result can be considered as the proof of the theorem according which P and NP do not coincide.


Introduction
In 2009 the author of this paper presented a first proof of inequality concerning the known P-NP question to the Academy of Sciences of Turin. Few years later the same paper was published in the known repository ArXive (Meo, 2018). After a very long debate in May of 2019 the Academy of Sciences of Turin has made the decision to publish that paper (Meo, 2016(Meo, -2020.
This paper presents a simpler version of that proof based on some new theorems.

Definitions
A brief description of the definitions and properties well known among the scientists of modern computational complexity theory which will be made reference to, is presented in this section:  P denotes the class of all the decision problems which can be solved in polynomial time  NP denotes the class of all the decision problems f satisfying the property that the function check(f) analyzing a witness of the decision problem is polynomial time decidable  "P = NP?", or, in other terms, "Is P a proper subset of NP?", is one of the most important open questions in modern computational complexity theory A decision problem C in NP is NP-complete if it is in NP and if every other problem L in NP is reducible to it, in the sense that there is a polynomial time algorithm which transforms instances of L into instances of C producing the same output values.
The importance of NP-completeness derives from the fact that, if we find a polynomial time algorithm for just one NP-complete problem, then we can construct polynomial time algorithms for all the problems in NP and, conversely, if any single NP-complete problem does not have a polynomial time algorithm, than no NP-complete problem has a polynomial time solution.
The analysis discussed in this study will be based on the following well-known NP-complete problem which is called "satisfiability problem or SAT".
Given a Boolean expression containing only the names of a set of variables (some of which may be complemented), the operators AND, OR and NOT and parentheses, is there an assignment of TRUE or FALSE values to the variables which makes the entire expression TRUE?
It is well known that the problem remains NP-complete also when all the expressions are written in "conjunctive normal form" with 3 variables per clause (problem 3SAT). In this case, the analyzed expressions will be of the type: where, t is the number of clauses or triplets; each xij is a variable in complemented or uncomplemented form; each variable may appear multiple times in that expression. Usually, the deterministic Turin machine is assumed as the computational model. In this study analysis will be developed with reference to a family {Cn} of Boolean circuits, where Cn has n binary inputs and it produces the same binary output as the corresponding Turing machine.

The Core Function
In the case of the satisfiability problem with 3 variables for clause, Boolean circuit Cn has n (= t) sets of inputs which the binary data are applied to. The output of Cn (with n = t) will take the value TRUE when and only when, there is an assignment of values TRUE and FALSE to variables making expression (1) TRUE.
In order to simplify analysis, circuit Cn will be decomposed into two processing layers as shown in Fig.  1, where, as usual, the number t of triplets plays the role of symbol n in the standard analysis of complexity theory. In the following analysis, we shall use the symbol t when it is necessary to remember the number of triplets and n in the other cases.

Compatibility of Two Variables
A variable j of triplet i will be defined as "compatible" with variable k of triplet h when and only when, either:  The sign sij of the former variable is equal to the sign shk of the latter variable  The name <nij1 nij2 …nijm> of the former variable is different from the name <nhk1 nhk2 …nhkm> of the latter variable

513
From that definition it follows that two "not compatible" variables have different signs and the same name; therefore, their AND is identically FALSE.
The compatibility layer is composed of 3•t•(3•t-3)/2 identical cells, one for each pair of variables belonging to different triplets.
As shown in Fig. 2, the inputs of a cell will be the sign sij and the binary code <nij1 nij2 …nijm> of variable j of triplet i and the sign shk and the binary code <nhk1 nhk2 …nhkm> of variable k of triplet h. The output of the same cell c (i,j;h,k) will be TRUE when and only when, the two variables are compatible between themselves.
Variable c(i,j;h,k) will be called a compatibility variable or simply a compatibility.

Core Layer
The core layer processes only the 9•t•(t-1)/2 compatibility variables c (i,j;h,k) and produces the global result of computation.
As the circuit Cn, also the global Boolean function implemented by Cn may be decomposed into two layers of functions. At the compatibility layer, the function implemented by a cell may be written as follows (by using the symbols * , + and ! for representing AND, OR and NOT operators, respectively):   The Boolean function implemented by the core layer will be called the "Core Function" of order t, where t is the number of triplets. It will be denoted with the symbol CF(t) (or CF(n)). The core function can be determined by proceeding as follows.
Consider one selection of variables appearing in Eq.
(1), one and only one for each triplet, for all the triplets. Let: with i1, i2, …., it {1, 2, 3}. Be the indexes <number of triplet, number of variable in the triplet> of the selected variables. They will be called "characteristic indexes". Let Π k be the product of all the compatibility variables relative to the k-th of selections ( The core function can be defined as the sum: of the products (4) relative to all the selections (3).
For example, in the case of CF(3), the core function can be defined as follows: It is easy to prove that there is an assignment of values TRUE or FALSE to variables appearing in Eq. (1) which make the value of (1) equal to TRUE when and only when, the core function takes the value TRUE.
Notice that the processing work of the cell of Fig. 2 increases as a polynomial function P(t) of the number of the variables since the increment of the length of the code of the name is logarithmic. Therefore, the total processing work of the compatibility layer increases as: where, 9•t•(t-1)/2 is the total number of the compatibility cells.
Besides, the problem solved by the core layer is clearly in NP, because it is easy to verify a witness solution. It follows that, since the compatibility layer polynomially reduces an NP-complete problem (3SAT) to the problem solved by the core layer, the core function describes a new NP-complete problem.
Some properties of core function have been discussed in Meo (2008).
Notice that, in order that the circuit represented in Fig.  1 exactly performs the processing work done by 3SAT, the Boolean function implemented by the core layer may be an incompletely specified function.
Indeed, assume that: This implies that variable <i,j> and variable <l,m> have the same name and a different sign; similarly, <i,j> and <p,q> have the same name and a different sign. It follows that <l,m> and <p,q> have the same name and the same sign. Therefore, c(l,m;p,q) cannot be equal to 0. Therefore, all the minterms implying: (where, !c denotes the complement of c) are incomplete specifications of the Boolean function implemented by the Core Layer of Fig. 1. However, it is easy to verify that the many incomplete specifications of the type of the preceding ones are not useful to simplify and to reduce the costs of implementation of Boolean function defined by Eq. (4) and Eq. (5). Therefore, in the following analysis the chances represented by the incomplete specifications will be ignored in the analysis of CF(t).

A Theorem of Boolean Monotonic Functions
Let f(x1, x2, ..., xt) be an isotonic Boolean function, that is a Boolean function which can be implemented with only AND and OR gates, applied to uncomplemented literals x1, x2, …, xt. It was believed that the minimum cost implementation of f(x1, x2,…, xt) always contains only OR and AND gates, but Razborov (1985) proved that there are isotonic functions whose minimum cost implementation contains also NOT gates.
However, there is on upper bound on the comparison of the costs of the minimum cost implementations with and without NOT gates. It is specified by the following theorem.

Theorem 3.1
Let Imin be one of the minimum cost implementations of the isotonic Boolean function f(x1, x2,..., xh), the cost being defined as the total number of AND, OR or NOT gates. Let Cmin be the cost of Imin.
There exists always an implementation J of f containing only AND and OR gates (in addition, if necessary, to the NOT operators producing input variables !x1, !x2, ...,!xh) such that: where, h is the number of variables.
In order to prove this theorem, let us divide the gates of implementation Imin of f into different levels and let us modify Imin as follows.
At level 1 we place the gates all inputs of which coincide with the complemented or uncomplemented input variables xi or !xi (where !xi denotes the complement of variable xi).
Level 2 contains the gates whose inputs coincide with input variables or outputs of level 1 gates.
In general terms, level q contains the gates whose inputs coincide with input variables or outputs of levels less than q.
We can transform Imin into J by deleting NOT gates and adding new AND or OR gates as follows.
We start from level 1. For any level 1 AND gate we add an OR gate whose inputs are the complements of the inputs of the considered AND gate (Fig. 3). Similarly, for any level 1 OR gate we add an AND gate whose inputs are the complements of the corresponding OR gate.
By virtue of such operations, for any output u of the level 1 gates a new node will be available in the new circuit we are generating whose value will be !u.
As a second step of processing, for any level 2 AND gate of implementation Imin we shall add an OR gate whose inputs are the complements of the inputs of the corresponding AND gate, in both the cases in which these inputs coincide with input variables of f or with output of level 1 gates (Fig. 4).  A similar transformation will be applied to all level 2 OR gates.
As an example, the two level subnetwork of Fig. 5a will be transformed into the subnetwork of Fig. 5b. Notice that at the outputs of J not only the outputs v and w of Imin will be available, but also their complements! v and! w.
The preceding operations will be applied to all the levels of implementation of Imin, in the order of increasing levels. It is apparent that, if for any input variable xi also !xi is available, the number of gates of J is less than, or equal to, twice the number of gates of Imin.
At level 0, before the gates of Fig. 5b, h NOT gates might be necessary to generate the complemented input variables !xi. Therefore, h has been added in the statement of the theorem. This theorem will be important in order to simplify the analysis of core function circuits.

Properties of Core Function
It is easy to prove the following properties of core function.

Property 2
Any product (4) is a prime implicant of core function (that is, a Product of Compatibilities ("PoC") which implies core function and no other term of it).

Property 3
Since the different selections of each of variables (3) are 3, the number of prime implicants of core function is equal to 3 t . Each of these prime implicants is essential (that is, it does not imply a sum of other prime implicants) and it is the product of t•(t-1)/2 compatibilities.

Products of Compatibilities
In the next sections, reference will be made to the following definitions.

Definition of Spurious Compatibilities Pair
A pair of compatibility variables {c(h,k;l,m), c(p,q;r,s)} is defined as a spurious pair if: (h = p and k ≠ q) or (h = r and k ≠ s) or (l = p and m ≠ q) or (l = r and m ≠ s) For example, the pair {c(1,1;2,1), c(1,2;3,1)} is a spurious pair since the triplet 1 is associated to two different indexes of variables (1 and 2).

Definition of Spurious Products of Compatibilities
A spurious Product of Compatibilities (spurious PoC) is a product of compatibility variables containing the elements of one or more than one spurious pair.
For example, the PoC:

Definition of Impure Products of Compatibilities
A PoC containing one or more complemented variables will be defined as an impure PoC. In particular a term T of CF (that is, a PoC implying CF) which contains one or more complemented variables, will be defined as an impure term.

Definition OF Core of a POC
The product of all the uncomplemented variables of T will be defined as the core of T.

Definition of Mark
Consider a not spurious subset of compatibilities satisfying the property that all the indexes of triplet {1,2,…,t} appears at least once in some variable. The product of the variables of such a subset will defined as a "mark" of the prime implicant of which it contains a subset of compatibilities.
For example, in the case of CF(4), the PoC: since all the indexes of triplet appear at least once in Eq. (7).

Definition of Spurious Mark
A spurious PoC in which all the indexes of triplet appear at least once will be called a "spurious mark". Notice that a spurious mark may be the mark of more than one prime implicant. For example, in the case of CF (3) An impure PoC whose core is a (possibly spurious) mark will be a defined as a (possibly spurious) impure mark.

Definition of Extended Prime Implicants
A term T of core function, that is, an implicant of core function (a product of literals implying core function), contains all the uncomplemented literals of a prime implicant. Therefore, it may be defined as an "extended prime implicant" (only) to remember that it contains all the compatibilities of a prime implicant.
It may be a spurious extended prime implicant or an impure extended prime implicant or both a spurious and impure extended prime implicant.
Notice that an extended prime implicant can be viewed as a (possibly spurious or impure) mark.

Definition of Remainder
A PoC which is neither a (possibly spurious or impure) mark nor an (extended) prime implicant will be called a "remainder".
A remainder R may be associated to more than one prime implicant. For example, in the case of CF(3), R = c(2,1;3,1) is a remainder of the prime implicants: On the definitions of mark and remainder the following properties are based.

Property 4
A not spurious mark M specifies a corresponding prime implicant P uniquely. Indeed, if all the indexes of triplet appear in M, the product (4) is completely defined.
We shall write: to state that P is the prime implicant specified by M.
As already mentioned, a remainder R does not specify a corresponding prime implicant uniquely. In the example relative to CF(3) above described, three prime implicants correspond to R = c(2,1;3,1), as shown by Eq. (9), since a single index of triplet is missing in that remainder. In general, if z triplets are not involved in R, there are 3 z different ways of involving the missing triplets.
Hence the following property follows.

Property 5
A not spurious remainder R in which the indexes of z triplets are missing corresponds to 3 z different prime implicants.
Finally, the following property can be easily proved.

Property 6
Let P1 and P2 be two PoC's such that P1 * P2 is equal to a prime implicant P of core function. Either P1 or P2 is a mark of P.

The External Core Function
Let Ij be a prime implicant of CF(n). The external core function relative to Ij, ECF(n, Ij), is defined as the sum of all the minterms of CF(n) which imply Ij and no other prime implicant Ik of CF(n) with k ≠ j. (Remember that a minterm of a Boolean function F is a product of all the variables of F, some complemented and some uncomplemented, implying F).
Of course: where all the prime implicants Ij of core function are involved and !Ik denotes the complement of Ik (i.e., NOT Ik).
The global external core function of order n, or ECF(n), will be defined as the sum of ECF(n, Ij)'s relative to all the prime implicants Ij of CF(n): The importance of external core function derives from the following theorems.

Theorem 6.1
Let T be a term (or extended prime implicant) of CF(n). It may be the product of all the compatibilities of a prime implicant Ij of CF(n) and other compatibilities, that is: where, X is a possibly empty PoC. T can also be written as T = T(Ij).
All the minterms of T(Ij) contained in ECF(n) are minterms of ECF(n, Ij).

Theorem 6.2
Let T be a term of CF(n) implying two or more than two prime implicants of CF(n): The number of minterms of T(Ij, Ik) belonging to ECF(n) is equal to 0.

Theorem 6.3
Let T = T (Ij) = Ij * X be a term of CF(n) which is spurious for a single compatibility X.
If NMT(F) denotes the number of minterms of Boolean function F, the number of minterms of Ij * X contained in ECF(n,Ij ) is: By proceeding in the same way it is possible to generalize the preceding Theorem 6.3 as follows. Theorem 6.5 Let T = T (Ij) be an impure term of CF(n) characterized by a single impure variable (!X): For large values of n, the number of minterms of ECF(n, Ij) contained in T is: Theorem 6.6 Let T = T(Ij) be an impure term of CF(n) characterized by m impure variables: For large values of n, the number of minterms of ECF(n, Ij) contained in T is: Notice that NMT(ECF(n, Ij)) = NMT(ECF(n, Ik)) for any j and k. It will be called NMT1(n). Figure 6 shows the network which will implement core function. By virtue of Theorem 3.1, it does not contain NOT gates.

The Reference Architecture
Notice in Fig. 6 that the output of an AND gate becomes always the input of an OR gate and, conversely, the output of an OR gate becomes always the input of an AND gate Indeed, if, for example, the output of an AND gate A becomes the input of another AND gate B, the two gates A and B can be merged into a single AND gate collecting all the inputs of A and B. By virtue of this operation the total number of gates remains constant or it is reduced by one unit. However, this hypothesis has not been applied in the following analysis.  Any input of the OR gate producing the final value of CF(n) will be called a "Primary Composite Addendum (PCA)". Every F i will be called a "Primary Composite Addendum Factor" (PCAF).
If the number of PCA's of the minimum cost implementation of CF(n) increased with n according to an exponential law, also the cost of this implementation would increase according to an exponential law, the cost being represented by the number of AND gates at the bottom of Fig. 6. Therefore, the following analysis refers to the case in which the number of PCA's of the minimum cost implementation of CF(n) increases with n according to a polynomial law. The PCA characterized by the maximum value among all the values of PCA's will be called PCAMAX (Fig. 7). If the best implementation of CF(n) will 519 contain a single PCA, this will have the role of PCAMAX. Notice in Fig. 7 that k-1 products (F1*F2*…*Fk) produce PCAMAX, where k increases according a polynomial law but the number of prime implicants of CF(n) contained in PCAMAX increases exponentially.

The Value of an "AND" Operation
Consider an elementary two inputs AND operation U applied to Boolean Functions A and B: U = A*B. Let A and B be specified as sums of their prime implicants. Some of these implicants are marks or prime implicants of core function (m1, m2, m3,…); other implicants of A or B are remainders of core function (r1, r2, r3,…).
The purpose of the considered Boolean product (for example, one of the k-1 products of Fig. 7) is to produce new marks and new prime implicants of core function through elementary products of remainders and other marks contained in the lists of implicants of A and B.
Not always a mark deriving from the product of a remainder ri of A by a remainder rj of B becomes a useful prime implicant of core function. However, the output U of the product A*B becomes the input of a subnetwork which will produce the value of core function as its output. Since this subnetwork contains no NOT gates, its output can be written as follows: where, x1, x2, …, y1, y2, …, are products of variables of core functions, that is, products of compatibilities. Notice also that every U*xi and every yj must be an extended prime implicant of core function. Analysis of Eq. (16) suggests the following definition: "The value of a Boolean product val(A*B) is the number of minterms of ECF contained in the prime implicants of core function appearing in the result of (16) and deriving from new marks, that is marks different from those already available in A or in B." In order to identify the best solution from the viewpoint of the value of the considered AND product, first consider the following example relative to CF(4): By proceeding as in the above examples and introducing the value: 1,1;2,1 * 1,1;3,1 * 2,1;3,1 * 1,1;4,1 * 1,1;4,2 * 3,1;4,1 * 3,1;4,2 , , , 0 in Eq. (16), it is easy to prove that the best implementation of this product generates three prime implicants whose total value is equal to (5/16)•NMT1. A way to improve this value consists in adding suitable compatibilities to remainders appearing in (17) in order that any product ai' * bj' * x1 (where x1 = c(1,1;2,1)*c(1,1:3,1)*c(2,1;3,1)) implies CF(4) as in the following example: 1 1 2 2 3 3 * 1,1;4,1 * 1,1;4,1 * 1,1;4,2 * 3,1;4,1 * 3,1;4,1 * 3,1,4,2 a a a a c a a c c The total merit is equal to: A better result can be obtained by multiplying ai and bi by suitable complemented compatibilities in order that ai * bj is equal to 0 if i<>j. For example: 1 1 2 2 3 3 *! 2,1;4,1 *! 2,1;4,1 *! 2,1;4,2 *! 2,1;4,1 *! 2,1;4,1 *! 2,1;4,2 a a a a c a a c c The total merit of this new AND operation is equal to: In order to prove that Eq. (18) and (19) represent good solutions, first observe that in a product as (a1+a2+a3 +…) * (b1+b2+b3 +…) a term ai or bj might be a remainder or a mark (or a prime implicant). However, in Appendix 1 it is shown that no mark appearing in the list of the products of compatibilities ai or bj can be useful in order to produce an increase of the value of Boolean product A * B. Therefore, we can assume that all the ai's and the bj's are remainders.
Besides, we might hope that a product as (a1+a2) * (b1+b2) can produce four different marks a1b1, a1b2, a2b1, a2b2. In Appendix 2 it is shown that four different marks can derive from that product, but the total value is very small and it decreases very quickly with the number n of variables.
Also the total value of the product (a1+a2)*b is very small and it decreases very quickly with the number n of variables, as shown in Appendix 3.

520
The following proof is devoted to Eq. (18). Appendixes 1, 2 and 3 show that the best solutions from the viewpoint of the value are characterized by a correspondence one-to-one according which a remainder ai is associated to a single remainder bi and vice versa. However, the names ai and bj must be corrected and they must become spurious or impure PoC's because every product ai  bj  x1 must imply CF(n).
If the prime implicant I1 deriving from m1 = a1b1 is different from the prime implicant I2 deriving from m2 = a2b2, one of the compatibilities of m1 must make reference to a variable A which does not appear in any of the compatibilities of I2. Besides, a1 cannot contain all the compatibilities involving A since, otherwise, it would not be a remainder, but it would be a mark.
It follows that the product a1 * b2 must produce prime implicant I1 since it cannot generate I2 or another prime implicant different from I1. Indeed, we can assume that m1 has a value equal to NMT(n) and, therefore, it is not spurious and it cannot contain a variable as B which characterizes prime implicant I2 or another prime implicant.
If a1b2x produces prime implicant I1, either b2 or x must contain at least one compatibility involving variable A.
The same analysis which has been developed with reference to product a1b2 can be applied to the product a2b1. From such an analysis we can prove that either b1 or x must contain at least a compatibility relative to a symbol A' different from the symbol A characteristic of I1. Therefore, the value of mark m2 = a2 * b2 will be equal to, or less than, (1+1/4)•NMT1(4).
By applying the same type of analysis it is easy to prove that, if:

The Best Implementation of the Product A * B
The best implementation of the product of two Boolean functions A and B (such that A*B*x1 is equal to one or more than one prime implicants of CF(n)) is characterized by the maximum value according our definition of "value of a product".
According to the statements of Appendixes 1 to 3, we can assume that the prime implicants of CF(n) by A*B are the following: However, also every product ai*bj *x1, with i <> j, must be a (possibly spurious) prime implicant of CF(n) (solution 1), unless ai*bj = 0 and aj*bi = 0 (solution 2). Equation (18) and (19) make reference to an example where solution 2 is better then solution 1 from the viewpoint of the value of the product. However, it is easy to prove that solution 2 is always better than solution 1. Indeed, at least two spurious compatibilities must be added to aj and bj in order that both ai*bj*x1 and bi*aj*x1 are prime implicants of CF(n), while a single compatibilty is always sufficient in order that ai*bj = 0 and bi*aj = 0. Besides, sometimes a single impure compatibility can make ai*bj = 0 and bi*aj = 0 for a given j and many different values of i.
It is very easy to prove that any natural order of the type adopted in Appendix 4 for generating the new marks produces the maximum value of the product of two Boolean functions as F1*F2 or (F1*F2)*F3 of Fig. 7. It is also easy to prove on the base of analysis of Appendix 4 that the value of a Boolean product is always less than or equal to (1+1/2+1/4) n-m •NMT1(n) where n is the number of variables of CF(n) and m is the number of variables (as [1,1], [2,1], [3,1] in the previous examples) each of which appear in all the prime implicants which will be generated from that product.

The Value of an "OR" Operation
Theoretically, a mark might derive from the Boolean sum of two or more than two remainders. For example, the mark of CF(4): Since r1 and r2 are remainders, every xi must be a mark. Besides, either there is a yk = I(m) or one of marks xj coincides with mark m, in order to produce the relative implicant. It follows that the production of a mark as the sum of two remainders is not necessary in order to generate its relative implicant.

Conclusion
The synthesis of Boolean function CF(n) can be described as a sequence of Boolean operations finalized to producing new marks in every step. The most important of these operations are Boolean AND's which produce new marks from remainders or already available marks with an increase of the value, where the value is defined by the number of minterms of ECF contained in the output marks not contained in the input marks.
The simplest operation is the AND of input variables of the whole network or of already available remainders. This operation is characterized by a value equal to (or less than) NMT1(n). The most efficient operation is the AND of impure or spurious compatibilities of the type described in Appendix 4, which is characterized by a value equal to (1+1/2+1/4) n-m •NMT1(n).
Notice that a single AND gate having i inputs can perform (i-1) AND operations, but usually these (i-1) AND operations are associated to i other gates in addition to the considered AND, that is, the gates (typically, OR gates) feeding this AND gate. Therefore, it is easy to verify that the implementation of the X Boolean functions necessary to synthesize CF(n) requires at least X gates.
Therefore, since the number of minterms of ECF(n) contained in CF(n) is equal to 3 n •NMT1(n) and the merit of a gate is always less than or equal to (1+1/2+1/4) (n-m) • NMT1(n), the number of gates contained in the considered network is larger than 3 n /((1+1/2+1/4) (n-m) and, therefore, it increases exponentially with n.
Since the synthesis of core function is an NP-complete problem, this result is equivalent to proving that P and NP do not coincide.
One final note: Also the synthesis of the remainders appearing in all the OR or AND gates requires a number of gates which increases exponentially with n. The proof of this property is rather complex and it has been omitted in this study since it is not necessary.

Appendix 1
In the product A*B of two Boolean functions A = (a1 + a2 + a3 +….) and B = (b1 + b2 + b3 +…), where the ai's and bj's are prime implicants of function A and B, respectively, no mark contained in the list of ai's and bj's is useful in order to produce an increase of the value of A*B.
Consider the following hypotheses.
In this case, the product ai*bj coincides with ai and has the same value.
In this case, a new mark of CF (4) is generated, but this new mark imply the same prime implicant of CF(4) as ai. Therefore, it does not increase the value of ai.
Hyp 3 ai is a mark implying a prime implicant p1 of CF and bj is a remainder not implying p1.
In this case, a new mark spurious ai*bj is generated. This imply the same prime implicant as ai, but its value is less than val(ai).

Hyp 4
ai is a mark and bj is another mark implying the same prime implicant of CF(n) implied by ai.

Hyp 5
ai is a mark of CF(n) and bj is another mark of CF(n), but ai and bj imply two different prime implicants of CF(n).