**Proof:** We will show that the KNAPSACK problem is NP-complete by
polynomial-time restricting it in a way that makes it equal to the
PARTITION problem, or PARTITION spec(KNAPSACK).

We can restrict KNAPSACK to PARTITION by allowing only instances in which
*s*(*u*) = *v*(*u*) for all and
.