IS ∈ ⟹ VC ∈
Suppose . Then some is independent in with . By the observation, is a vertex cover of , of size So has a vertex cover of size , i.e. .
, hence is NP-complete.
On input with :
That is all. The same graph, with only the number changed.
The construction rests on one observation, the heart of the lesson: for every , Both say exactly the same thing about every edge: "every edge has an endpoint in " is "no edge has both endpoints outside ".
Suppose . Then some is independent in with . By the observation, is a vertex cover of , of size So has a vertex cover of size , i.e. .
Suppose . Then has a vertex cover with . By the observation, is independent in , of size So .
The algorithm copies the input and performs one subtraction. On a RAM that is even constant time; on a Turing machine it is a binary subtraction on a number no longer than the input, i.e. done naively. Polynomial either way, which is all that is required.
is NP-hard, and being in as well (witness ; the verifier checks and scans the edges) it is NP-complete. From there it becomes the starting point of , , and .
"Exactly " versus "at least / at most ". The proof uses sizes exactly and exactly , while the definitions say "at least " for and "at most " for . This is legitimate: a cover can always be grown (adding vertices never breaks a cover) and an independent set can always be shrunk (a subset of an independent set is independent). Note the directions are opposite between the two problems — and for every new problem the question must be asked afresh.
"Why not the identity?" — two reasons. Direction: we want a reduction into , not out of it, since the goal is to prove hard. And the number: the graph does stay the same, but must change, precisely because of the relation between a set's size and its complement's.