Value models: one interface for the tensor-product and the commuting-operator value #
The halting reduction of MIP* = RE and the one of MIP^co = coRE (planning/mipco-track.md)
are the same argument in two values: val* (MIPRE.quantumValue) and the bipartite
commuting-operator value ω_co (MIPRE.commutingOperatorValue). What the argument uses of
the value is a short list — it is at most 1, it dominates the tensor-product value, and it is
invariant under the presentations of a verifier's game that the reduction moves between:
relabeling of the alphabets, padding of the answers by always-rejected ones, the doubled
question set, and the frozen verifier — and the only place the two differ is the direction in
which the value is semidecidable: val* from below (lem:value-lower-approx), ω_co from
above (lem:valco-upper-re). ValueModel is that list, and the whole reduction is written
once against it:
ValueModel: a value functional on finite games with the transport properties, and its two instancesValueModel.tensor(val*) andValueModel.commuting(ω_co), whose fields are the transport lemmas ofGameTransport.leanandCommutingTransport.lean. The values are definitionallyquantumValueandcommutingOperatorValue(tensor_val,commuting_val), so the tensor-product statements of the reduction are the generic ones attensor.ValueModel.LowerRE,ValueModel.UpperRE: the value is recursively enumerable from below, respectively from above, in the threshold encoding oflem:value-lower-approx(a pair(p, q)stands forp / q, withp / 0 = 0).ValueModel.tensor_lowerRE(ClassMIPStarComputable.lean) andValueModel.commuting_upperRE(Tsirelson/UpperRE.lean) are the two facts; neither model has the other direction, by the two theorems themselves.ValueModel.HaltingReductionRE,ValueModel.HaltingReductionCoRE: the two shapes of a halting reduction to the value —1on halting machines and at most1/2on the others, and the reverse — as propositions, whichHalting/CompressorProgram.leanproves from a gap compression sound in the model andHalting/Corollaries.leanturns intoRE ⊆ MIPClass ω, respectivelycoRE ⊆ MIPClass ω.
The universe of the alphabets is Type: the games of a verifier, their doubled forms and the
tabulated games all live there, and the fields need no more.
Enlarging the answer alphabets can only raise the quantum value: a strategy extends by zero operators on the new answers.
Enlarging the answer alphabets can only raise the commuting-operator value.
A value model: a value functional val on finite games — for val* and for ω_co,
the supremum of the value of a strategy over a class of strategies — together with the
properties of it that the halting reduction uses. The value is at most 1 and dominates the
tensor-product value (every model contains the tensor-product strategies), and it is invariant
under relabeling of the alphabets, monotone in the decision predicate, 0 on a game that
rejects everything, unchanged by padding the answer alphabets with always-rejected answers, and
unchanged by the doubling of the question set.
The value of a game.
- le_one {X Y A B : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G : Game X Y A B) : self.val G ≤ 1
The value is at most one.
- quantumValue_le {X Y A B : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G : Game X Y A B) : quantumValue G ≤ self.val G
The value dominates the tensor-product value.
- eq_of_equiv {X Y A B X' Y' A' B' : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] [Fintype X'] [Fintype Y'] [Fintype A'] [Fintype B'] (G : Game X Y A B) (G' : Game X' Y' A' B') (eX : X' ≃ X) (eY : Y' ≃ Y) (eA : A' ≃ A) (eB : B' ≃ B) : (∀ (x' : X') (y' : Y'), G'.μ x' y' = G.μ (eX x') (eY y')) → (∀ (x' : X') (y' : Y') (a' : A') (b' : B'), G'.D x' y' a' b' = G.D (eX x') (eY y') (eA a') (eB b')) → self.val G' = self.val G
Games related by equivalences of their alphabets, with matching distribution and decision predicate, have the same value.
- mono {X Y A B : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G G' : Game X Y A B) : (∀ (x : X) (y : Y), G'.μ x y = G.μ x y) → (∀ (x : X) (y : Y) (a : A) (b : B), G.D x y a b = true → G'.D x y a b = true) → self.val G ≤ self.val G'
Accepting more answer tuples, on the same alphabets and distribution, raises the value.
- eq_zero_of_reject {X Y A B : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G : Game X Y A B) : (∀ (x : X) (y : Y) (a : A) (b : B), G.D x y a b = false) → self.val G = 0
A game whose decision predicate rejects everything has value
0. - le_extendAnswers {X Y A B A' B' : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] [Fintype A'] [Fintype B'] (G : Game X Y A B) (G' : Game X Y A' B') (ιA : A ↪ A') (ιB : B ↪ B') : (∀ (x : X) (y : Y), G'.μ x y = G.μ x y) → (∀ (x : X) (y : Y) (a : A) (b : B), G'.D x y (ιA a) (ιB b) = G.D x y a b) → self.val G ≤ self.val G'
Enlarging the answer alphabets can only raise the value, whatever the decision predicate does on the new answers.
- extendAnswers {X Y A B A' B' : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] [Fintype A'] [Fintype B'] [DecidableEq A] [DecidableEq B] [Nonempty A] [Nonempty B] (G : Game X Y A B) (G' : Game X Y A' B') (ιA : A ↪ A') (ιB : B ↪ B') : (∀ (x : X) (y : Y), G'.μ x y = G.μ x y) → (∀ (x : X) (y : Y) (a : A) (b : B), G'.D x y (ιA a) (ιB b) = G.D x y a b) → (∀ (x : X) (y : Y) (a' : A') (b' : B'), G'.D x y a' b' = true → (∃ (a : A), ιA a = a') ∧ ∃ (b : B), ιB b = b') → self.val G' = self.val G
Enlarging the answer alphabets by always-rejected answers does not change the value.
- doubled {X A : Type} [Fintype X] [Fintype A] [DecidableEq A] (G : Game X X A A) : self.val G.doubled.toGame = self.val G
The doubled game has the value of the game it doubles.
Instances For
The two models #
The tensor-product model: val*, the quantum value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The commuting-operator model: ω_co, the bipartite commuting-operator value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semidecidability of the value, and the two shapes of a halting reduction #
The value is r.e. from below: the triples (d, p, q) with p / q < val(G_d) form an
r.e. set, in the threshold encoding of lem:value-lower-approx (p / 0 = 0). The
tensor-product model has it (ValueModel.tensor_lowerRE); the commuting-operator model does
not, by MIP^co = coRE itself.
Equations
Instances For
The value is r.e. from above: the triples (d, p, q) with val(G_d) < p / q form an
r.e. set. The commuting-operator model has it (ValueModel.commuting_upperRE, blueprint
lem:valco-upper-re); the tensor-product model does not, by MIP* = RE itself.
Equations
Instances For
A halting reduction to the value, RE shape: a computable map from codes to game
descriptions whose value is 1 on codes that halt on the empty input and at most 1/2 on the
others. At tensor this is cor:main-quantum.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A halting reduction to the value, coRE shape: a computable map from codes to game
descriptions whose value is at most 1/2 on codes that halt on the empty input and 1 on the
others. At commuting this is thm:halting-co.
Equations
- One or more equations did not get rendered due to their size.