Approximating the quantum value from below #
Groundwork for lem:value-lower-approx, the MIP* ⊆ RE direction: a machine that,
given a game G and a rational t, halts if and only if val*(G) > t. It enumerates
candidate strategies with Gaussian-rational entries, computes their values exactly, and
halts on a certificate; val* is by definition a supremum over finite-dimensional
tensor-product strategies (MIPRE.quantumValue), so no infinite-dimensional truncation
and no semidefinite programming enter.
The decomposition followed here is the one validated in the adversarial campaign
recorded in vidick/mipre-proof (ledger nodes 1.1.7.2.1 to 1.1.7.2.6); see
planning/ledger-informed-plan.md. This file carries the part of node 1.1.7.2.1
that makes the candidate set decidable: an operator-norm constraint on a Hermitian
matrix is equivalent to two positive-semidefiniteness tests, and positive
semidefiniteness of a Gaussian-rational Hermitian matrix is decidable.
Everything is stated through the quadratic form ⟨x| M |x⟩ rather than a matrix norm.
That is faithful — for Hermitian M the operator norm is the supremum of
|⟨x| M |x⟩| over unit x — and it keeps the statements independent of which of
Mathlib's several matrix-norm instances is in scope.
Shifting by a real multiple of the identity keeps a matrix Hermitian.
Likewise for the reflected shift.
Ledger node 1.1.7.2.1, the norm constraint. For a Hermitian M and a real
c, the two positive-semidefiniteness tests on c·1 + M and c·1 - M hold exactly
when the quadratic form of M is sandwiched by ±c⟨x|x⟩ — which for a Hermitian
matrix says ‖M‖ ≤ c. This is what the enumeration of node 1.1.7.2.2 needs: its
constraint ‖∑ a A^x_a - 1‖ ≤ |A|η is two psd tests, and psd of a Gaussian-rational
Hermitian matrix is decidable, so membership in the candidate set is decidable.
Perturbing a candidate #
Nodes 1.1.7.2.3 (stability) and 1.1.7.2.4 (density) both compare the value of an
approximate candidate with the value of an exact strategy nearby, and both do it by the
same algebra: split the difference of two Born expectations into a part where only the
operators moved and a part where only the state moved. The identities below are that
split, exactly and with no estimates in them; the analytic bounds of those two nodes are
obtained by bounding each term separately.
A difference of Kronecker products splits over the two factors. This is what lets the two players' operators be perturbed one at a time.
The perturbation split. The difference of the Born expectations of (M, ψ) and
(N, φ) is an operator term, in which only M - N appears, plus two state terms, in which
only ψ - φ appears. Exact: no norms and no estimates.
The split a candidate strategy actually needs: a bipartite Born expectation with both
players' operators and the state perturbed at once decomposes into four terms, each moving
exactly one of A, B and ψ. Combining kronecker_sub_kronecker with
dotProduct_mulVec_perturb.