Uncomputability of the synchronous game value: no algorithm separates value 1 from value at most 1/2
ProvedMIPRE.Halting.gameValue_uncomputableA game description consists of two natural numbers, a list of weighted question pairs and a list of accepted answer tuples; it determines a game on questions and answers whose question distribution is normalized (a point mass at if the total weight is zero) and whose predicate accepts exactly the tuples in , except that unequal answers to equal questions lose. The synchronous value is the supremum, over synchronous strategies (a dimension and, for each question , a projective measurement on ), of . The corollary states that no total computable Boolean function of game descriptions answers true on every description of synchronous value and false on every description of synchronous value at most :
Nothing is required of on descriptions whose value lies strictly between and : the statement is the undecidability of the promise problem, the form in which the uncomputability of the synchronous value is made precise. It is the first clause of blueprint cor:value-uncomputable; the second, for the quantum value, is MIPRE.Halting.quantumValue_uncomputable.
Formalization Note. The statement is a negated existential over total functions f : HaltingGameValue.GameData → Bool, with Computable f Mathlib's predicate through the Primcodable instance of GameData (the tuple equivTuple), and the value HaltingGameValue.gameValue d.toGame of MIPRE/HaltingGameValue.lean: toGame is total through the point-mass fallback, and gameValue is the real iSup over SyncStrategy of strategyValue, which takes the real part of the trace. The equality is and the inequality in . On the platform the proof is a sketch resting on the open leaf Nonempty (MIPRE.AnswerReduction 5); in the repository the theorem is proved in full.
import Mathlib.Algebra.BigOperators.Fin import Mathlib.Algebra.BigOperators.Group.Finset.Basic import Mathlib.Algebra.BigOperators.Ring.Finset import Mathlib.Algebra.Order.Chebyshev import Mathlib.Algebra.Polynomial.Eval.Defs import Mathlib.Algebra.Polynomial.Eval.Degree import Mathlib.Algebra.Polynomial.Roots import Mathlib.Analysis.CStarAlgebra.CStarMatrix import Mathlib.Analysis.CStarAlgebra.Classes import Mathlib.Analysis.CStarAlgebra.Matrix import Mathlib.Analysis.Complex.Basic import Mathlib.Analysis.Matrix.Order import Mathlib.Analysis.Matrix.Spectrum import Mathlib.Computability.Partrec import Mathlib.Computability.PartrecBasis import Mathlib.Computability.PartrecCode import Mathlib.Computability.Primrec.List import Mathlib.Computability.RE import Mathlib.Computability.TuringMachine.Config import Mathlib.Data.Complex.Basic import Mathlib.Data.ENat.Lattice import Mathlib.Data.Fintype.BigOperators import Mathlib.Data.Fintype.Pi import Mathlib.Data.List.Basic import Mathlib.Data.List.GetD import Mathlib.Data.List.NodupEquivFin import Mathlib.Data.Nat.Bits import Mathlib.Data.Nat.Notation import Mathlib.Data.Nat.Size import Mathlib.Data.Real.Basic import Mathlib.Data.ZMod.Basic import Mathlib.LinearAlgebra.Matrix.DotProduct import Mathlib.LinearAlgebra.Matrix.Kronecker import Mathlib.LinearAlgebra.Matrix.NonsingularInverse import Mathlib.LinearAlgebra.Pi import Mathlib.LinearAlgebra.UnitaryGroup import Mathlib.Logic.Denumerable import Mathlib.Logic.Function.Iterate import Mathlib.Tactic.Linarith import Mathlib.Tactic.Ring import Definitions.Def_MIPRE_Foundations_CL_Register import Definitions.Def_MIPRE_Foundations_CL_Basic import Definitions.Def_MIPRE_Foundations_CL_Closure import Definitions.Def_MIPRE_Foundations_Cost_Basic import Definitions.Def_MIPRE_Foundations_Cost_Basic_B import Definitions.Def_MIPRE_Foundations_Cost_Encoding import Definitions.Def_MIPRE_Foundations_Cost_Encoding_B import Definitions.Def_MIPRE_Foundations_Cost_PolyTime import Definitions.Def_MIPRE_Foundations_CL_Sampler import Definitions.Def_MIPRE_Foundations_ValueApprox_RawInt import Definitions.Def_MIPRE_Foundations_Games import Definitions.Def_MIPRE_Foundations_ValueApprox import Definitions.Def_MIPRE_Foundations_ValueApprox_Cayley import Definitions.Def_MIPRE_Foundations_ValueApprox_Projective import Definitions.Def_MIPRE_Foundations_ValueApprox_Gaussian import Definitions.Def_MIPRE_Foundations_ValueApprox_Norms import Definitions.Def_MIPRE_Foundations_ValueApprox_Dense import Definitions.Def_MIPRE_Foundations_ValueApprox_Strategy import Definitions.Def_MIPRE_Foundations_GameTransport import Definitions.Def_MIPRE_HaltingGameValue import Definitions.Def_MIPRE_Foundations_GameDescription import Definitions.Def_MIPRE_Foundations_ValueApprox_RawStrategy import Definitions.Def_MIPRE_Foundations_ValueApprox_RawSemantics import Definitions.Def_MIPRE_Foundations_ValueApprox_RawComplete import Definitions.Def_MIPRE_Foundations_ValueApprox_RawPrimrec import Definitions.Def_MIPRE_Foundations_ValueApprox_RE import Definitions.Def_MIPRE_Foundations_Cost_Closure import Definitions.Def_MIPRE_Foundations_Cost_Toolkit import Definitions.Def_MIPRE_Foundations_Cost_Toolkit_B import Definitions.Def_MIPRE_Foundations_Cost_Machine import Definitions.Def_MIPRE_Foundations_Cost_Machine_B import Definitions.Def_MIPRE_Foundations_Cost_Loops import Definitions.Def_MIPRE_Foundations_Cost_Loops_B import Definitions.Def_MIPRE_Foundations_Cost_Codable import Definitions.Def_MIPRE_Foundations_Cost_Codable_B import Definitions.Def_MIPRE_Foundations_Cost_MachineData import Definitions.Def_MIPRE_Foundations_Cost_MachineData_B import Definitions.Def_MIPRE_Foundations_Cost_Interpreter import Definitions.Def_MIPRE_Foundations_Cost_Interpreter_B import Definitions.Def_MIPRE_Foundations_Cost_Unary import Definitions.Def_MIPRE_Foundations_Cost_MachineBound import Definitions.Def_MIPRE_Foundations_Cost_MachineBound_B import Definitions.Def_MIPRE_Foundations_Cost_Universal import Definitions.Def_MIPRE_Foundations_Cost_Universal_B import Definitions.Def_MIPRE_Foundations_Cost_Kleene import Definitions.Def_MIPRE_Foundations_Cost_Kleene_B import Definitions.Def_MIPRE_Foundations_Cost_FromPartrec import Definitions.Def_MIPRE_Foundations_Cost_FromPartrec_B import Definitions.Def_MIPRE_Foundations_Cost_Partrec import Definitions.Def_MIPRE_Foundations_Cost_Partrec_B import Definitions.Def_MIPRE_Foundations_Cost_Semidecide import Definitions.Def_MIPRE_Foundations_ClassMIPStarComputable import Definitions.Def_MIPRE_Foundations_GameDouble import Definitions.Def_MIPRE_Foundations_Verifier import Definitions.Def_MIPRE_Foundations_GapCompression import Definitions.Def_MIPRE_Foundations_VerifierValue import Definitions.Def_MIPRE_Foundations_Halting_Freeze import Definitions.Def_MIPRE_Foundations_Halting_Classes import Definitions.Def_MIPRE_Foundations_Halting_Descriptions import Definitions.Def_MIPRE_Foundations_Cost_Numeric import Definitions.Def_MIPRE_Foundations_Cost_Numeric_B import Definitions.Def_MIPRE_Foundations_Halting_Lists import Definitions.Def_MIPRE_Foundations_Cost_Growth import Definitions.Def_MIPRE_Foundations_Halting_Arith import Definitions.Def_MIPRE_Foundations_Halting_Wrapper import Definitions.Def_MIPRE_Foundations_Halting_Enumerate import Definitions.Def_MIPRE_Foundations_ClassMIPStar import Definitions.Def_MIPRE_Foundations_Pipeline_Budget import Definitions.Def_MIPRE_Foundations_Pipeline_AnswerReduction open MIPRE MIPRE.Cost
theorem MIPRE.Halting.gameValue_uncomputable :
¬ ∃ f : HaltingGameValue.GameData → Bool, Computable f ∧
(∀ d, HaltingGameValue.gameValue d.toGame = 1 → f d = true) ∧
(∀ d, HaltingGameValue.gameValue d.toGame ≤ 1 / 2 → f d = false) := by sorry