A polynomial reduction from a problem to problem is a function computable in polynomial-time such that: