Skip to content

12.1 Reducibility

Formal methods for comparing decision problems using many-one and Turing reducibility.

Reducibility is a way to compare problems by asking whether one problem can be solved using another.

Suppose we have two decision problems, AA and BB. Each problem asks whether an input belongs to a certain set:

xA x \in A

or

xB x \in B

We say that AA reduces to BB if a method for solving BB would also give us a method for solving AA.

In informal terms:

AB A \leq B

means:

A is no harder than B A \text{ is no harder than } B

The direction matters. If ABA \leq B, then BB is at least as powerful as AA. A solver for BB can be used to solve AA.

Many-One Reducibility

One common kind of reducibility is many-one reducibility.

We write:

AmB A \leq_m B

if there is a computable function ff such that:

xAf(x)B x \in A \quad \Longleftrightarrow \quad f(x) \in B

This means we can transform every question about AA into one question about BB.

The function ff is called a reduction function.

The process looks like this:

xf(x) x \longmapsto f(x)

Then instead of asking whether xAx \in A, we ask whether f(x)Bf(x) \in B.

If the answer to f(x)Bf(x) \in B is yes, then the answer to xAx \in A is yes. If the answer is no, then the answer to xAx \in A is no.

So BB solves AA after a computable translation.

Example Pattern

Suppose AA is the problem:

Does program M halt on input w? \text{Does program } M \text{ halt on input } w?

and BB is another problem about programs.

To show:

AmB A \leq_m B

we build a computable transformation:

(M,w)e (M,w) \mapsto e

where ee is an instance of problem BB.

Then we prove:

M halts on weB M \text{ halts on } w \quad \Longleftrightarrow \quad e \in B

This is the standard structure of a reduction proof.

Turing Reducibility

Many-one reducibility allows one computable translation and one query to BB. Turing reducibility is more flexible.

We write:

ATB A \leq_T B

if AA can be decided by a Turing machine with oracle access to BB.

An oracle for BB is an idealized device that answers questions of the form:

yB? y \in B?

in one step.

A machine deciding AA may ask the oracle many questions while it runs. It may choose later questions depending on earlier answers.

So ATBA \leq_T B means:

A is computable relative to B A \text{ is computable relative to } B

or equivalently:

B has enough information to decide A B \text{ has enough information to decide } A

Every many-one reduction gives a Turing reduction:

AmBATB A \leq_m B \quad \Longrightarrow \quad A \leq_T B

The reverse implication does not hold in general. Turing reductions allow more interaction with the oracle.

Why Reducibility Matters

Reducibility lets us transfer impossibility results.

If:

AB A \leq B

and AA is undecidable, then BB must also be undecidable.

Why? If BB were decidable, then we could solve AA by reducing AA to BB and then deciding BB. That would contradict the undecidability of AA.

So the proof pattern is:

AB A \leq B A is undecidable A \text{ is undecidable}

Therefore:

B is undecidable B \text{ is undecidable}

This is one of the most important uses of reductions.

Reduction Direction

The most common beginner mistake is reversing the direction.

To prove that BB is hard, reduce a known hard problem AA to BB:

AB A \leq B

This says: if we could solve BB, then we could solve AA.

Since AA cannot be solved, BB cannot be solved either.

So the hard problem goes on the left, and the new problem goes on the right.

Reducibility as a Preorder

Reducibility behaves like a comparison relation.

First, every problem reduces to itself:

AA A \leq A

This is reflexivity.

Second, reductions compose. If:

AB A \leq B

and

BC B \leq C

then:

AC A \leq C

This is transitivity.

Together, these properties make reducibility a preorder.

It may happen that:

AB A \leq B

and:

BA B \leq A

Then AA and BB have the same computational difficulty under that reducibility.

For Turing reducibility, we write:

ATB A \equiv_T B

when:

ATBandBTA A \leq_T B \quad \text{and} \quad B \leq_T A

This equivalence relation leads to Turing degrees, which are studied in the next section.