4.6.19 · D1Theory of Computation

Foundations — Reducibility — many-one reductions

2,008 words9 min readBack to topic

Before you can read a single line of the parent note, you need to see the objects it throws around: strings, alphabets, languages, machines, "decidable", "computable function", and the little symbol . This page builds each one from nothing, in an order where every idea leans only on the ones before it.


1. The alphabet — the atoms

Picture a small box of Scrabble tiles, but only two kinds of tile: a 0 tile and a 1 tile. That box is . Nothing more mysterious than that.

Why the topic needs it: every problem here is phrased over some fixed set of allowed symbols. You cannot talk about "strings" or "translating strings" until you agree on the tiles you're allowed to write with.


2. Strings and — the sentences

Figure — Reducibility — many-one reductions

Look at the figure: is the tiny two-tile box on the left; is the infinite tree of everything you can spell out with those tiles. Level 0 is just , level 1 is , level 2 is , and so on forever.

Why the topic needs it: the reduction function takes a string and produces another string, so both its input and its output live in . Example 2 in the parent literally appends a bit — that only makes sense once "string" and "length" are pinned down.


3. Language , — the yes/no questions

Here is the key mental shift: a language IS a yes/no question. The question "does string have even length?" is the same thing as the set . To ask the question about is to ask "is inside this set?"

Figure — Reducibility — many-one reductions

In the figure, the big rectangle is all of . The red blob inside is the language : strings in the blob are YES-instances, strings outside are NO-instances. That's the whole picture of a decision problem.

Why the topic needs it: the heart of a reduction, , is entirely a statement about which blob a string lands in. No blobs, no reduction.


4. Complement — flipping the blob

In the blob picture, is simply everything outside the blob — you swap the YES and NO regions. Every YES becomes a NO and vice versa.

Why the topic needs it: Example 3 of the parent, , is pure blob-flipping. You must be comfortable that "outside the blob" is itself a perfectly good language.


5. The Turing machine — the mechanical solver

You do not need the tape mechanics here. Treat as a black box with an input slot and three possible fates:

  • 🟢 accept — halts and says YES,
  • 🔴 reject — halts and says NO,
  • ♾️ loop — never halts, gives no answer.

Why the topic needs it: is a language whose strings are programs paired with inputs. Without the encoding brackets, "a language of machines" wouldn't be a language of strings at all.


6. Decidable vs. recognizable — the two grades of "solvable"

Figure — Reducibility — many-one reductions

The difference is the dashed loop-arrow in the figure. Decidable = "always answers." Recognizable = "answers YES reliably, but might get stuck on a NO."

See Turing-recognizable vs Decidable languages for the full contrast, and Decidability and the Halting Problem for the flagship undecidable problem .


7. Computable total function — the honest translator

Picture as a reliable mail-forwarder: hand it any envelope , and it always hands you back a rewritten envelope — never keeps it, never jams.

Why the topic needs it: is the reduction. Everything else is scaffolding around this one honest, always-halting translator.


8. Many-to-one — the reason it's called "many-one"

Figure — Reducibility — many-one reductions

The figure shows several arrows from the left ( of ) crashing into one dot on the right ( of ). That collapsing-arrows shape is exactly what "many-one" names. It does not mean the reduction is broken — a function is allowed to be many-to-one.

Why the topic needs it: the very name "many-one reduction" comes from this. It also gently warns you not to expect an inverse .


9. The biconditional — the two-way promise


10. The relation symbol — "no harder than"

Why the topic needs it: this is the topic. Every theorem is a sentence about .


Prerequisite map

Alphabet Sigma

Strings and Sigma-star

Length of a string

Language = set of strings

Membership in / not-in

Complement A-bar

Turing machine M

Encoding brackets

Decidable vs Recognizable

Computable total function f

Many-to-one

Biconditional iff

Reduction symbol le-m

Reducibility many-one reductions

Trace any bottom node up: it depends only on things drawn above it. The whole topic sits at the sink, fed by all foundations.


Equipment checklist

Cover the right-hand side and try to answer each before revealing.

What is and what constraint does it have?
A finite set of allowed symbols (the alphabet); it must be finite.
What is ?
The set of all finite strings over , including the empty string .
What does it mean for to be in language ?
The yes/no question encoded by answers YES on ; is a member of the set.
What is in the blob picture?
Everything outside the blob — YES and NO regions swapped.
What are the three fates of a Turing machine on an input?
Accept (halt YES), reject (halt NO), or loop forever.
What does denote?
A single string encoding the machine together with its input .
Difference between decidable and recognizable?
Decidable always halts on YES and NO; recognizable halts on YES but may loop on NO.
What two properties must the reduction function have?
Computable (a TM performs it) and total (it halts on every input).
Why is it called "many-one"?
The function may send several inputs to the same output; it need not be injective or invertible.
Expand into two arrows.
YES→YES () and NO→NO ().
Read in plain English.
is no harder than ; a computable total maps membership of onto membership of .

Ready? Head back to Reducibility — many-one reductions and read the definition again — every symbol should now be a picture in your head.