Turing reduction
If a Turing reduction from formula_1 to formula_2 exists, then every algorithm for formula_2 can be used to produce an algorithm for formula_1, by inserting the algorithm for formula_2 at each place where the oracle machine computing formula_1 queries the oracle for formula_2. However, because the oracle machine may query the oracle a large number of times, the resulting algorithm may require more time asymptotically than either the algorithm for formula_2 or the oracle machine computing formula_1. A Turing reduction in which the oracle machine runs in polynomial time is known as a Cook reduction.