Definition · Polynomial-time many-one reductionA reduces to B, written A ≤p B, when there is a function f computable in polynomial time taking instances of A to instances of B such that x is a yes instance of A if and only if f(x) is a yes instance of B. The direction of the consequence is the part to hold on to: an algorithm for B gives one for A, so hardness travels from A to B and tractability travels the other way.
Definition · Independent setAn independent set in a graph is a set of vertices no two of which are joined by an edge. The decision problem takes a graph and an integer k and asks whether one of size k exists. The lab's target k is always the number of clauses, which is what makes the construction a reduction rather than a drawing.
The construction
- One vertex for each literal occurrence, not one per literal. A clause with three literals contributes three vertices even if two of them name the same variable.
- An edge between every two vertices of the same clause, making a triangle. At most one vertex per clause can be in an independent set.
- An edge between every occurrence of x and every occurrence of ¬x. No independent set can hold two occurrences that contradict.
- Ask for an independent set of size k = m, the number of clauses.
Theorem · The construction is a reductionThe formula is satisfiable if and only if the constructed graph has an independent set of size m.
Suppose the formula is satisfiable. Fix a satisfying assignment and, in each clause, choose one occurrence of a literal the assignment makes true. The chosen vertices lie in distinct clauses so no triangle edge joins two of them, and they are all true under one assignment so no contradiction edge joins two of them either. That is an independent set of size m.
Conversely, suppose there is an independent set S of size m. The triangles force its members into distinct clauses, one each. Set every variable so that each literal named by a member of S is true; this is consistent, because a variable asked to be both true and false would mean S contains a contradictory pair, and those are joined. Variables no member mentions may be set arbitrarily. Each clause now contains a true literal, so the formula is satisfied.
□
Both halves are needed and the second is the one that gets skipped. A construction with only the first half proves that a yes instance maps to a yes instance, which permits a map that turns every no instance into a yes instance as well — and is therefore useless. The lab checks both directions on every solution, not once on the optimum.
What the lab built, and what it then measured
The loaded formula is (x1 or x2 or not x3) and (not x1 or x2 or x3): two clauses, three variables. The construction gives 6 vertices and 8 edges — two triangles for six of them, plus x1 to ¬x1 and ¬x3 to x3 — and k = 2. There are 15 pairs of vertices and 8 are joined, so exactly 7 pairs are independent, and the panel reports 7 independent sets of size 2 against 6 satisfying assignments.
Those two counts are not equal, and nothing requires them to be. What the reduction promises is that one list is empty exactly when the other is. What the panel computes is the whole map between them: sound in both directions, three sets landing on one assignment, and one assignment that is the image of nothing.
Two rows of that table look as though they disagree and do not, and it is worth reading them together. The reverse construction succeeds on every model — take the first true literal of each clause and all 6 give an independent set of size 2 — while the map back is not onto. Both are true because the round trip is not the identity: starting from the all-true assignment, the first true literals are x1 in the first clause and x2 in the second, so the set built is the pair of vertices 1 and 5, and that set reads back as x1=T x2=T x3=F. Every model builds a set; not every model is what the set it builds maps back to.
Example · Why 111 is unreachableThe assignment making all three variables true satisfies both clauses, so it is a model. But an independent set here has 2 members, so at most 2 variables can be named by a chosen literal, and the map back leaves every unmentioned variable false. Three true variables therefore cannot be the image of a 2-element set. The gap is a property of the map, not an error in it: the reduction was never required to be onto.
This is the first place on this course where a measured fact and a proved claim point in different directions, and the lesson is to read each for what it is. The proof establishes that the two yes-or-no answers agree, for every formula. The panel establishes that on this formula the map on solutions is three-to-one somewhere and misses one assignment. Neither statement is evidence about the other.