polynomial-time Turing reduction