Documentation

DescriptiveComplexity.Problems.Machine.HaltHard

The halting problem is RE-complete #

DescriptiveComplexity.orderedReduction_halt: every decision problem whose concrete instances form a recursively enumerable set reduces to DescriptiveComplexity.HALT by an ordered first-order reduction – the machine bridge for RE, at the machine model. The reduction draws the fixed simulating machine of DescriptiveComplexity.HaltHard.simTM – whose states, symbols and transitions are tags, free at every instance size – together with the instance's own relation tables as the chain of one-bit comp frames on the initial tape (DescriptiveComplexity.HaltHard.inputChain).

With membership (DescriptiveComplexity.halt_mem_RE), this makes HALT RE-complete (DescriptiveComplexity.halt_RE_complete): the machine model now states “RE is the class of semi-decidable problems” alongside the code model (DescriptiveComplexity.codehalt_RE_complete).

A semi-decidable problem reduces to HALT. The reduction draws the fixed simulating machine – Turing.ToPartrec.Code.exists_code supplies its fold and semi-decision codes – and spells the instance's bit table as the input chain on the initial tape.

Dependency graph

HALT is RE-hard. Finite satisfiability is RE-hard and recursively enumerable, so it reduces to HALT, and hardness travels forward.

Dependency graph
Dependency graph

The halting problem is undecidable, in the concrete sense: no numbering of its instances has a computable characteristic function.

Dependency graph