Definition
Many-One Reduction (Language Variant)
For languages or problems , we say many-one reduces to (i.e. ) iff there exists a computable total function such that for all :
Many-One Reduction (Problem Variant)
Let be a function from the set of instances of problem to a set of instances of problem , i.e.:
If we solve for with a decider for problem , then the result for instance already provides the correct result for instance of problem . If so, and are called equivalent. For decision problems and , it means that is a positive instance of iff is a positive instance of
The function must be (efficiently) computable. In the case of a resource constrained on polynomial time, then is called Karp reduction.
Difference to Turing Reduction
Many-one reductions are functional translations: one computable map with . One “single-shot” encoding.