Proving Undecidability by Reduction

Context: FIT2014_MOC · the exam hand skill of Week 9 — take the one language known undecidable (DIAGONAL HALTING PROBLEM) and mass-produce more with the transfer corollary of Mapping Reductions

Quick Revision

  • 🎯 Objective: to prove undecidable, exhibit a computable with and the corollary fires.
  • 📦 Core Components: the universal gadget = “ignore your input; run on ➔ settles , , with one construction | the complement swap ➔ settles .
  • ⚠️ Key Constraint: reduce from the known-undecidable language to the new one. is the wrong arrow and proves nothing.

📝 How It Works

1. The proof skeleton (four lines, always the same)

  • Line 1 — fix the source“Let be any program, regarded as an input to the DIAGONAL HALTING PROBLEM.”
  • Line 2 — define the image ➔ construct from ; the definition may mention freely but must never run a decider for anything.
  • Line 3 — computability“The construction is computable” is assembled by textual surgery on , so a TM builds it and halts (totality is mandatory).
  • Line 4 — the iff halts on input if and only if has property , then conclude , therefore is undecidable.

2. The universal gadget

: Input: . Body: run on input .

  • is discarded never reads its own input, so its behaviour is the same on every input — either it halts on all of them, or on none.
  • Consequencehalts on , halts on , always halts, and halts for some input all collapse into the single event halts on “. One gadget, one iff, four theorems.
  • ⚡ Key Constraint: is built, not run — the reduction outputs the string . Nothing simulates at reduction time, which is why halts even though may not.

3. Reading off the family

Target problem Question asked of The iff the gadget certifiesVerdict
halts on input ? halts on halts on undecidable
halts on input ? halts on halts on undecidable
halts on every input? halts on always haltsundecidable
halts on some input? halts on halts for some inputundecidable
loops on every input?complement of undecidable
  • Nothing special about ➔ the constant is a free parameter, so the gadget generates an infinite family of undecidable problems at zero extra cost.
  • Why and both work ➔ because is input-blind, the quantifier over inputs is vacuous — “for all ” and “for some ” agree, and both equal the single fact about on .

4. The complement route —

  • Not a mapping reduction ➔ the lecture calls it “a more general type of reduction”: a decider for becomes a decider for by swapping Accept and Reject.
  • What it spends ➔ exactly the closure of decidable languages under complement (Decidability and Decision Problems) — legal only because a decider always halts, so swapping its two halting states is well defined.
  • Chain, and decidable would make decidable. Contradiction.
  • 💡 Do not try the swap on a recogniser ➔ swapping Accept/Reject on a machine with loses the looping inputs entirely; this is the asymmetry that makes not even r.e. (Recursively Enumerable Languages).

📚 Catalogue of undecidable problems (lecture list — quotable without proof)

  • About one TM ➔ does on input "What's the answer?" output "42"? · is regular (is equivalent to a finite automaton)?
  • About two TMs (do they always both halt or both loop)?
  • About grammars ➔ is the language of a CFG regular? · does a CFG fail to generate some string over its alphabet? · do two CFGs define the same language? (contrast Deciding Properties of FAs and CFGs: CFG-Empty IS decidable, and RegExpEquiv IS decidable — equivalence survives for automata, dies for grammars.)
  • Outside computation ➔ does a multivariate polynomial have an integer root? (Hilbert’s tenth problem; Matiyasevich, 1970) · the Post Correspondence Problem (string matching; Sipser §5.2, Emil Post).
  • The pattern ➔ once a non-trivial semantic property of a machine’s language is asked, undecidability is the default; syntactic properties (state count, tape alphabet) stay decidable.

✍️ Practice

(the lecture’s “Decidable or Undecidable?” slide, posed without answers — write your verdict cold, then expand.)

⚠️ Common Mistakes

  • 💡 Arrow reversed ➔ writing proves only that is no harder than something hard — compatible with being trivially decidable. The corollary needs the known-undecidable language as the source.
  • 💡 Running inside the reduction ➔ if simulates to decide what to output, is not total and the transfer theorem collapses. The reduction only ever writes down .
  • 💡 Proving one implication ➔ ” halts on halts on ” is half a reduction; the converse is what forbids a No-instance from mapping to a Yes-instance.
  • 💡 Skipping the computability line ➔ markers award a mark for stating is computable. It is one sentence and it is never free.
  • 💡 Reusing the Accept/Reject swap on r.e. sets ➔ complementation is a property of deciders, not recognisers; using it on a merely-r.e. language is the single most common invalid step in this material.

🧠 Active Recall