The consequences of the halting reduction, conditionally on compression #
Blueprint chapter 7 after thm:main, and thm:halting-undecidable of chapter 3, each proved
from a GapCompression (the hypothesis structure of thm:compression) and a universal machine:
halting_undecidable,halting_re: Turing's theorem, from Mathlib'sComputablePred.halting_problemandhalting_problem_reat the empty input.gameValue_uncomputable_of,quantumValue_uncomputable_of(cor:value-uncomputable): no computable predicate decides, under the promise that the value is1or at most1/2, which it is — in either value.re_subset_mipstarComputable_ofandmipstarComputable_eq_re_of(thm:mipstar-eq-re):RE ⊆ MIP*by reducing membership in an r.e. language to halting on the empty input (Nat.Partrec.Code.curry) and composing with the reduction; withMIPStarComputable.isRE,MIP* = RE.
Turing's theorem #
The halting problem is not decidable (blueprint thm:halting-undecidable): Mathlib's
ComputablePred.halting_problem at the empty input.
The halting problem is r.e.
Uncomputability of the value #
A computable predicate separating the two sides of a promise problem decides every problem
that reduces to it: the shape both halves of cor:value-uncomputable use.
Uncomputability of the synchronous value (blueprint cor:value-uncomputable),
conditionally on compression: no computable f answers true on every description of
synchronous value 1 and false on every description of synchronous value at most 1/2.
Uncomputability of the quantum value (blueprint cor:value-uncomputable, second
clause), conditionally on compression.
RE ⊆ MIP*, hence MIP* = RE #
Every r.e. language many-one reduces to the halting problem: a computable map from
strings to codes, halting on the empty input exactly on the members. Mathlib's
Nat.Partrec.Code.curry fixes the string into the code.
RE ⊆ MIPClass ω, given a halting reduction of RE shape to the value: compose the
many-one reduction of an r.e. language to the halting problem with the reduction.
coRE ⊆ MIPClass ω, given a halting reduction of coRE shape to the value: the
complement of a co-r.e. language reduces to halting on the empty input, and the reduction
sends halting machines to value at most 1/2 and the others to value 1.
MIPClass ω = RE, given a lower semidecider for the value and a halting reduction of
RE shape: the two classes coincide, as predicates on languages.
MIPClass ω = coRE, given an upper semidecider for the value and a halting reduction
of coRE shape.
RE ⊆ MIP*, conditionally on compression: the RE inclusion at the tensor-product
model, with the halting reduction of cor:main-quantum.
MIP* = RE (blueprint thm:mipstar-eq-re), conditionally on compression: the two
classes coincide, as predicates on languages.