RE is exactly recursive enumerability #
The three readings of the one construction of
DescriptiveComplexity.Problems.CodeHalt.Hardness, the ordered first-order
reduction of any semi-decidable problem to DescriptiveComplexity.CODEHALT.
DescriptiveComplexity.codehalt_RE_complete–CODEHALTis RE-complete: membership isDescriptiveComplexity.codehalt_mem_RE, and hardness is the reduction instantiated atDescriptiveComplexity.FINSAT, which is RE-hard already, and transported forward.DescriptiveComplexity.mem_RE_iff_rePred– a decision problem is in the logically defined classDescriptiveComplexity.REexactly when its concrete instances form a recursively enumerable set. This is the RE analogue of the machine side of Fagin's theorem, with no machine model on either side: the forward half evaluates the∃SO[new]kernel on a searched-for witness (DescriptiveComplexity.RE_subset_rePred), the converse draws the semi-decision procedure inside the instance.DescriptiveComplexity.RE_ne_coRE– RE and co-RE differ, which the library used to disclaim twice. WereCODEHALTᶜrecursively enumerable, the equivalence above would makeCODEHALT.toPredand its complement bothREPred, hence computable by Post's theorem, againstDescriptiveComplexity.not_computablePred_codehalt.
CODEHALT is RE-hard. Finite satisfiability is RE-hard and recursively
enumerable, so it reduces to CODEHALT by the construction of
DescriptiveComplexity.orderedReduction_codehalt, and hardness travels
forward.
Dependency graph
CODEHALT is RE-complete.
Dependency graph
RE is exactly the recursively enumerable properties of finite
structures. A problem is ∃SO[new]-definable exactly when the set of its
concrete instances is semi-decidable in Mathlib's sense.
Dependency graph
RE is not closed under complement. With the equivalence above, this is
Post's theorem applied to the undecidability of CODEHALT: a problem and its
complement both recursively enumerable would be decidable.