Halting reduces to the synchronous game value (MIP* = RE, Theorem 12.2)
ProvedHaltingGameValue.halting_reduces_to_gameValueTheorem 12.2 of "MIP* = RE" (Ji, Natarajan, Vidick, Wright, Yuen, arXiv:2001.04383), in synchronous form: the halting problem reduces to deciding whether the synchronous value of a nonlocal game is or at most .
Let be the set of Turing machines, represented as Gödel numbers of partial recursive functions, and say that halts on the empty input when applied to the input is defined. A game description consists of two natural numbers , a finite list of weighted question pairs and a finite list of accepted tuples . It determines a synchronous game with question alphabet and answer alphabet : the question distribution is the normalization of the listed weights (the point mass at when the total listed weight is zero), and the decision predicate accepts exactly the listed tuples, except that unequal answers to equal questions are always rejected. The synchronous value of a synchronous game is the supremum, over all dimensions and all families , , of projective measurements on , of the winning probability
in which both players measure the shared maximally entangled state of dimension with the same measurements.
The theorem asserts that there is a computable map such that for every machine :
- (Completeness) if halts on the empty input, then ;
- (Soundness) if does not halt on the empty input, then .
Consequently no algorithm decides, given a game, whether its synchronous value is or at most . This is the headline statement of the formalization of ; the paper's polynomial-time bound on and its version for the tensor-product value are strengthenings, both proved in the source repository.
Formalization Note The statement is the proposition HaltingGameValue.HaltingReducesToGameValue of the definition bundle MIPRE_HaltingGameValue, every definition of which is written over Mathlib alone. Machines are Nat.Partrec.Code and computability is Mathlib's Computable. A strategy is a question-indexed family of POVMs on whose elements are idempotent, outcome probabilities are taken in the normalized trace (the real part of the trace is used, so that the definition carries no proof obligation), and the supremum is Lean's iSup over all strategies in ; the winning probabilities lie in . The proof, HaltingGameValue.halting_reduces_to_gameValue in MIPRE/MainTheorem.lean of https://github.com/vidick/MIPRE-formalization, depends on propext, Classical.choice and Quot.sound only.
import Mathlib.Analysis.Matrix.Order import Mathlib.Computability.PartrecCode import Definitions.Def_MIPRE_HaltingGameValue
theorem HaltingGameValue.halting_reduces_to_gameValue : HaltingGameValue.HaltingReducesToGameValue := by sorry
Read-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back: HaltingGameValue.halting_reduces_to_gameValue
What the declaration is. A theorem with no parameters: no universally quantified variables, no hypotheses, no implicit arguments and no typeclass assumptions at the top level. Its statement is the single proposition HaltingGameValue.HaltingReducesToGameValue, which is unfolded in full below. The proof body is sorry and is not part of this read-back. The only typeclass instances involved anywhere are the canonical finiteness and decidable-equality instances on the finite types that appear inside the definitions, so they place no constraint on the claim.
1. The proposition asserted
Write for Mathlib's type of codes of partial recursive functions (§2), for the partial function computed by the code , for the type of game descriptions (§3), for the synchronous game that a description denotes (§4), and for the synchronous value of a game (§6). The theorem asserts exactly:
Here is the predicate the file names "halts on the empty input" (§2), is its negation, and and are real numbers: is real-valued, so is real division, i.e. , not natural-number division. The inequality is non-strict.
The existential is plain existence (), not unique existence. The map is chosen once, before , and must work for every code . The game has question and answer alphabets of sizes and where are read off , so the alphabets may depend on . Nothing in the statement bounds the size of the description in terms of , and "computable" carries no resource bound (§3).
2. Codes and the "halting" predicate
is Mathlib's Nat.Partrec.Code: an inductive datatype of programs built from the constant-zero function, the successor function, the two coordinate projections of Mathlib's pairing bijection , and closed under pairing of two programs, composition, primitive recursion and unbounded search (the -operator). Each code computes a partial function (Mathlib's Nat.Partrec.Code.eval).
The predicate written HaltsOnEmptyInput c is, literally,
Nothing else is encoded: "the empty input" is the number , and no other input is mentioned. The negation means is undefined at .
3. Game descriptions and the computability notion
A game description is a quadruple
with , a finite list of triples and a finite list of quadruples . There are no constraints on these data: the lists may be empty, may contain repeated entries, may contain entries whose coordinates exceed or , and weights may be . The reading of the coordinates as and is fixed only by how §4 uses them.
Gödel numbering. is in evident bijection with , , and its Gödel numbering is Mathlib's standard encoding of that tuple type (nested pairing via Mathlib's pairing bijection, and the standard encoding of lists of naturals), transported along this bijection. carries Mathlib's own standard Gödel numbering, under which every natural number is the number of some code.
Computability. " is computable" is Mathlib's Computable g: the partial function on Gödel numbers
is partial recursive in the sense of Mathlib's inductively defined class Nat.Partrec — the least class of partial functions containing zero, successor and the two pairing projections and closed under pairing, composition, primitive recursion and unbounded search (the Kleene partial recursive functions). This is computability only; no bound on time or space is asserted.
4. The synchronous game denoted by a description
Fix . Its game has
- question alphabet , so (never empty);
- answer alphabet , so (never empty).
Weights. For arbitrary , the weight of the pair is the natural number
a sum over list entries (an entry occurring twice in contributes twice). The total weight is
so an entry of with or contributes to no with and is ignored by and by everything below.
Question distribution. For ,
a real number. Thus is a rational-valued probability distribution on ; when — which happens when is empty, when every weight in is , or when every entry of with nonzero weight has a coordinate exceeding — it is the point mass at the question pair , which always exists since . The structure carries proofs that for all and ; the division is never by zero because of the case split. No symmetry is imposed.
Decision predicate. For and ,
where membership is membership of the quadruple of natural numbers in the list (repetitions in are irrelevant). In particular: on equal questions , equal answers are accepted only if is listed in — equal answers are not automatically accepted; on acceptance is exactly membership of in , with no symmetry imposed; entries of with a coordinate in the first two places or in the last two are never consulted.
5. Synchronous games in general
A synchronous game on finite types (questions) and (answers, with decidable equality) is a pair where satisfies for all and , and satisfies whenever . No other condition (symmetry of or of , nontriviality, etc.) is part of the definition. of §4 is such a game with , , , .
6. Strategies, strategy value, and the game value
POVM. For a finite index set and a dimension (matrices indexed by , i.e. matrices), a POVM is a family of complex matrices such that each is self-adjoint (, conjugate transpose), each is positive semidefinite in the Loewner order ( for all ), and , the identity matrix.
Synchronous strategy. For a synchronous game on , a synchronous strategy consists of
- a natural number with (the dimension; every finite is allowed, and no infinite-dimensional object appears);
- for each question , a POVM of matrices as above;
- the idempotence condition for every and .
(A self-adjoint idempotent matrix is an orthogonal projection, so each family is a projection-valued measure on .) No relation between and for is required — in particular no commutation. There is no state vector among the data. The strategy data refer to only through its alphabets and : and play no role in what counts as a strategy, only in the value below.
Strategy value. The value of in is the real number
where is for true and for false, is the trace of the complex matrix product (in that order), and takes its real part. The same single family is used in both question slots. Division is by the real number , so it is never division by zero. (For self-adjoint the number is real, and for positive semidefinite it is ; the definition takes the real part regardless.)
Game value. The synchronous value of is
the supremum over all synchronous strategies of all finite dimensions , taken in with Mathlib's convention for real suprema: if the set of values is nonempty and bounded above, is its least upper bound; if that set is empty or not bounded above, is . The definition does not itself record which case obtains. (A reader can check that for the games of §4 the strategy type is nonempty — e.g. , , for — and that every strategy value lies in , since each term is and ; so for these games the supremum is a genuine least upper bound in and the fallback to is not triggered. This is a consequence, not something the definition states.) Because it is a supremum, asserts that strategy values come arbitrarily close to ; it does not assert that some finite-dimensional strategy attains .
7. Degenerate and edge cases, collected
- Alphabets are never empty: and . Singletons are allowed. If there is a single question and in both branches of the definition. If there is a single answer , every POVM is forced to be , and every strategy has the same value .
- Zero total weight (): is the point mass at the question pair .
- Out-of-range list entries (first two coordinates in or ; last two coordinates in ) are silently ignored. Duplicates in are summed; duplicates in are irrelevant.
- Equal questions with equal answers are accepted only when .
- Weights are natural numbers, so is rational-valued; zero weights are allowed and contribute nothing.
- Division: by only in the branch ; by only with . No division by zero occurs.
- Real part of the trace is taken.
- Supremum fallback: value for an empty or unbounded family of strategy values (§6 notes why this case does not arise for the games ).
- is the real number .
- "Halting" is convergence of at the single input .
- "Computable" is Mathlib's
Computablewith respect to the standard Gödel numberings of §3; no complexity bound of any kind. - Only finite-dimensional strategies (, ) enter the supremum; nothing infinite-dimensional or commuting-operator is involved, and the projections for different questions need not commute.
8. Exact logical shape
- The outer connective is (existence, not uniqueness), followed by a conjunction: computability of , and a universal statement over all codes .
- For each both clauses are asserted. Completeness is an equality (exactly , as a supremum). Soundness is a non-strict inequality .
- Each clause is a one-directional implication. Since for every exactly one of and holds, the two clauses together are equivalent (using only excluded middle) to: for all ,
In particular the value is never in the open interval .
- Nothing is asserted about any strategy attaining the value, about the dimension needed to approach it, about the behaviour of on inputs other than , or about beyond its computability and the two value conditions.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.