Documentation

MIPRE.Foundations.ModelStrategy

Projective strategies in a bipartite model #

The soundness analysis of answer reduction is written for strategies: it restricts one to a copy of the low-degree test, extracts polynomial measurements from the pieces, and decodes a strategy for the input verifier's game from them. Phase 3 of planning/mipco-track.md writes it once, for a projective strategy in a bipartite model (BipartiteModel.ProjStrat): for each question a projective measurement in the player's algebra, on the model's state. It is TensorProductStrategy with the tensor-product model replaced by any bipartite model, and carries the same operations — the value, the conditional failures, playing a strategy on another game through maps of the questions and the answers (ProjStrat.adapt), relabelling along equivalences (ProjStrat.relabel) — each a single line over the model-level statements of MIPRE/Foundations/GameAdapt.lean. The inconsistency of two families of measurements (BipartiteModel.inconsistency), the error measure of the low-individual-degree test's conclusions, is here too.

The two models the analysis is read in:

ValueModel.Dominates ω M says that every projective strategy of M has value at most ω; both models are dominated by their value (ValueModel.tensor_dominates, ValueModel.commuting_dominates). So a model-level theorem — a projective strategy of value at least 1 - ε for one game gives a projective strategy of value at least 1 - f(ε) for another, in the same model — bounds the second game's value in both values.

Coarse-grainings of POVMs in a ⋆-algebra #

theorem MIPRE.POVMIn.map_map {R : Type u_1} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] {X : Type u_2} [Fintype X] {Y : Type u_3} {Z : Type u_4} [Fintype Y] [DecidableEq Y] [Fintype Z] [DecidableEq Z] (M : POVMIn X R) (f : X → Y) (g : Y → Z) :
map g (map f M) = map (fun (a : X) => g (f a)) M

Relabelling twice is relabelling once: the level sets of g ∘ f are the unions of the level sets of f along the level sets of g.

theorem MIPRE.POVMIn.map_id {R : Type u_1} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] {X : Type u_2} [Fintype X] [DecidableEq X] (M : POVMIn X R) :
map (fun (a : X) => a) M = M

Relabelling along the identity changes nothing.

theorem MIPRE.POVMIn.isPVMIn_map {R : Type u_1} [Ring R] [StarRing R] [PartialOrder R] [StarOrderedRing R] {X : Type u_2} [Fintype X] {Y : Type u_3} [Fintype Y] [DecidableEq Y] {M : POVMIn X R} (h : IsPVMIn M.op) (f : X → Y) :
IsPVMIn (map f M).op

The coarse-graining of a projective measurement is projective.

def MIPRE.POVMIn.toPOVM {A : Type u_1} {d : Type u_2} [Fintype A] [Fintype d] [DecidableEq d] (M : POVMIn A (Matrix d d ℂ)) :
POVM A d

A POVM in a matrix algebra is a matrix POVM: the same three fields.

Equations
Instances For
    @[simp]
    theorem MIPRE.POVMIn.toPOVM_toIn {A : Type u_1} {d : Type u_2} [Fintype A] [Fintype d] [DecidableEq d] (M : POVMIn A (Matrix d d ℂ)) :
    theorem MIPRE.POVM.toIn_map {A : Type u_1} {B : Type u_2} {d : Type u_3} [Fintype A] [Fintype B] [DecidableEq B] [Fintype d] [DecidableEq d] (M : POVM A d) (f : A → B) :

    Coarse-graining a matrix POVM is coarse-graining it in the matrix algebra.

    Projective strategies #

    structure MIPRE.BipartiteModel.ProjStrat {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G : Game X Y A B) :
    Type (max (max (max (max (max u_2 u_3) u_4) u_5) u_6) u_7)

    A projective strategy in a bipartite model for the game G: for each question a projective measurement in the player's algebra, on the model's state, which is a unit vector. TensorProductStrategy is the case of the tensor-product model (TensorProductStrategy.toModel); a projective commuting-operator strategy is one in its own model (exists_projStrat_lt_commutingOperatorValue).

    • PA : X → POVMIn A 𝒜

      The first player's measurement at each question.

    • PB : Y → POVMIn B ℬ

      The second player's measurement at each question.

    • projA (x : X) : IsPVMIn (self.PA x).op

      The first player's measurements are projective.

    • projB (y : Y) : IsPVMIn (self.PB y).op

      The second player's measurements are projective.

    • ψ_unit : ‖M.ψ‖ = 1

      The model's state is a unit vector.

    Instances For
      theorem MIPRE.BipartiteModel.povmValue_congr_game {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G G' : Game X Y A B} (hμ : ∀ (x : X) (y : Y), G.μ x y = G'.μ x y) (hD : ∀ (x : X) (y : Y) (a : A) (b : B), G.D x y a b = G'.D x y a b) (MA : X → POVMIn A 𝒜) (MB : Y → POVMIn B ℬ) :
      M.povmValue G MA MB = M.povmValue G' MA MB

      Two games with the same distribution and the same decision predicate give every family of measurements the same value.

      def MIPRE.BipartiteModel.ProjStrat.value {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) :

      The value of a projective strategy: the value of its measurements in the model.

      Equations
      Instances For
        def MIPRE.BipartiteModel.ProjStrat.failAt {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) (x : X) (y : Y) :

        The probability that the strategy is rejected, given the question pair (x, y).

        Equations
        Instances For
          theorem MIPRE.BipartiteModel.ProjStrat.failAt_nonneg {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) (x : X) (y : Y) :
          0 ≤ S.failAt x y
          theorem MIPRE.BipartiteModel.ProjStrat.failAt_le_one {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) (x : X) (y : Y) :
          S.failAt x y ≤ 1
          theorem MIPRE.BipartiteModel.ProjStrat.one_sub_value_eq_sum_failAt {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) :
          1 - S.value = ∑ x : X, ∑ y : Y, G.μ x y * S.failAt x y

          The failure probability, decomposed by question pair.

          theorem MIPRE.BipartiteModel.ProjStrat.value_le_one {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) :
          theorem MIPRE.BipartiteModel.ProjStrat.value_nonneg {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) :

          Playing a strategy on another game #

          def MIPRE.BipartiteModel.ProjStrat.adapt {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) {X' : Type u_8} {Y' : Type u_9} {A' : Type u_10} {B' : Type u_11} [Fintype X'] [Fintype Y'] [Fintype A'] [Fintype B'] [DecidableEq A'] [DecidableEq B'] (G' : Game X' Y' A' B') (qA : X' → X) (qB : Y' → Y) (rA : X' → A → A') (rB : Y' → B → B') :

          Play S on G', through a map qA, qB of G''s questions into G's and a coarse-graining rA, rB of G's answers into G''s that may depend on the question: the measurement at a question x' of G' is the one S uses at qA x', with its outcomes merged along rA x'. A coarse-graining of a projective measurement is projective.

          Equations
          Instances For
            theorem MIPRE.BipartiteModel.ProjStrat.failAt_adapt_le {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) {X' : Type u_8} {Y' : Type u_9} {A' : Type u_10} {B' : Type u_11} [Fintype X'] [Fintype Y'] [Fintype A'] [Fintype B'] [DecidableEq A'] [DecidableEq B'] (G' : Game X' Y' A' B') (qA : X' → X) (qB : Y' → Y) (rA : X' → A → A') (rB : Y' → B → B') (x' : X') (y' : Y') (hD : ∀ (a : A) (b : B), G.D (qA x') (qB y') a b = true → G'.D x' y' (rA x' a) (rB y' b) = true) :
            (S.adapt G' qA qB rA rB).failAt x' y' ≤ S.failAt (qA x') (qB y')

            The adapted strategy fails no more often, at a question pair where every tuple G accepts is still accepted after coarse-graining.

            def MIPRE.BipartiteModel.ProjStrat.relabel {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) {X' : Type u_8} {Y' : Type u_9} {A' : Type u_10} {B' : Type u_11} [Fintype X'] [Fintype Y'] [Fintype A'] [Fintype B'] [DecidableEq A'] [DecidableEq B'] (G' : Game X' Y' A' B') (eX : X' ≃ X) (eY : Y' ≃ Y) (eA : A' ≃ A) (eB : B' ≃ B) :

            Relabel a strategy along equivalences of the questions and the answers.

            Equations
            • S.relabel G' eX eY eA eB = S.adapt G' (⇑eX) (⇑eY) (fun (x : X') => ⇑eA.symm) fun (x : Y') => ⇑eB.symm
            Instances For
              theorem MIPRE.BipartiteModel.ProjStrat.value_relabel {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) {X' : Type u_8} {Y' : Type u_9} {A' : Type u_10} {B' : Type u_11} [Fintype X'] [Fintype Y'] [Fintype A'] [Fintype B'] [DecidableEq A'] [DecidableEq B'] (G' : Game X' Y' A' B') (eX : X' ≃ X) (eY : Y' ≃ Y) (eA : A' ≃ A) (eB : B' ≃ B) (hμ : ∀ (x' : X') (y' : Y'), G'.μ x' y' = G.μ (eX x') (eY y')) (hD : ∀ (x' : X') (y' : Y') (a' : A') (b' : B'), G'.D x' y' a' b' = G.D (eX x') (eY y') (eA a') (eB b')) :
              (S.relabel G' eX eY eA eB).value = S.value

              Relabelling keeps the value, when the equivalences carry G' onto G.

              def MIPRE.BipartiteModel.ProjStrat.restrict {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) {X' : Type u_8} {Y' : Type u_9} [Fintype X'] [Fintype Y'] (G' : Game X' Y' A B) (qA : X' → X) (qB : Y' → Y) :

              Restrict a strategy to other questions: the same measurements, asked at the images of the new questions; the answers are kept.

              Equations
              • S.restrict G' qA qB = { PA := fun (x' : X') => S.PA (qA x'), PB := fun (y' : Y') => S.PB (qB y'), projA := ⋯, projB := ⋯, ψ_unit := ⋯ }
              Instances For

                The inconsistency of two families of measurements #

                def MIPRE.BipartiteModel.inconsistency {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {Λ : Type u_8} [Fintype Λ] [DecidableEq Λ] {X : Type u_9} [Fintype X] (μ : X → ℝ) (P : X → POVMIn Λ 𝒜) (Q : X → POVMIn Λ ℬ) :

                The inconsistency of the first player's family P and the second player's Q on the index weighted by μ: the weight of the outcome pairs that differ. The matrix inconsistency is its tensor-product instance (inconsistency_eq_tensor).

                Equations
                Instances For
                  theorem MIPRE.BipartiteModel.inconsistency_eq_sum_dis {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {Λ : Type u_8} [Fintype Λ] [DecidableEq Λ] {X : Type u_9} [Fintype X] (hψ : ‖M.ψ‖ = 1) (μ : X → ℝ) (P : X → POVMIn Λ 𝒜) (Q : X → POVMIn Λ ℬ) :
                  M.inconsistency μ P Q = ∑ x : X, μ x * M.dis (P x) (Q x)

                  The inconsistency is the weighted disagreement.

                  theorem MIPRE.BipartiteModel.inconsistency_uniform {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {Λ : Type u_8} [Fintype Λ] [DecidableEq Λ] {X : Type u_9} [Fintype X] (hψ : ‖M.ψ‖ = 1) (P : X → POVMIn Λ 𝒜) (Q : X → POVMIn Λ ℬ) :
                  M.inconsistency (uniform X) P Q = (∑ x : X, M.dis (P x) (Q x)) / ↑(Fintype.card X)

                  On a uniform index, the inconsistency is the average disagreement.

                  theorem MIPRE.BipartiteModel.sum_dis_le_of_inconsistency {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {Λ : Type u_8} [Fintype Λ] [DecidableEq Λ] {X : Type u_9} [Fintype X] (hψ : ‖M.ψ‖ = 1) (P : X → POVMIn Λ 𝒜) (Q : X → POVMIn Λ ℬ) {δ : ℝ} (h : M.inconsistency (uniform X) P Q ≤ δ) :
                  ∑ x : X, M.dis (P x) (Q x) ≤ ↑(Fintype.card X) * δ

                  A bound on the inconsistency on a uniform index is a bound on the summed disagreement.

                  theorem MIPRE.BipartiteModel.inconsistency_uniform_unit {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [PartialOrder ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {Λ : Type u_8} [Fintype Λ] [DecidableEq Λ] (hψ : ‖M.ψ‖ = 1) (P : POVMIn Λ 𝒜) (Q : POVMIn Λ ℬ) :
                  (M.inconsistency (uniform Unit) (fun (x : Unit) => P) fun (x : Unit) => Q) = M.dis P Q

                  On a one-point index, the inconsistency is the disagreement.

                  theorem MIPRE.inconsistency_eq_tensor {X : Type u_1} {Λ : Type u_2} [Fintype X] [Fintype Λ] [DecidableEq Λ] {dA : Type u_3} {dB : Type u_4} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (μ : X → ℝ) (ψ : dA × dB → ℂ) (M : X → POVM Λ dA) (N : X → POVM Λ dB) :
                  inconsistency μ ψ M N = (BipartiteModel.tensor ψ).inconsistency μ (fun (x : X) => (M x).toIn) fun (x : X) => (N x).toIn

                  The matrix inconsistency is the inconsistency in the tensor-product model.

                  The tensor-product model #

                  noncomputable def MIPRE.TensorProductStrategy.toModel {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (T : TensorProductStrategy G) :

                  A tensor-product strategy is a projective strategy in its tensor-product model: its measurements as POVMs in the two matrix algebras.

                  Equations
                  Instances For
                    theorem MIPRE.TensorProductStrategy.value_toModel {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (T : TensorProductStrategy G) :
                    theorem MIPRE.TensorProductStrategy.failAt_toModel {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (T : TensorProductStrategy G) (x : X) (y : Y) :
                    T.toModel.failAt x y = T.failAt x y
                    theorem MIPRE.star_dotProduct_self_eq_one {N : Type u_1} [Fintype N] {ψ : N → ℂ} (h : ‖evec ψ‖ = 1) :
                    star ψ ⬝ᵥ ψ = 1

                    A vector of ℂ^N whose EuclideanSpace norm is one is a unit vector.

                    noncomputable def MIPRE.BipartiteModel.ProjStrat.toTensor {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} {a b : ℕ} {ψ : Fin a × Fin b → ℂ} (S : (tensor ψ).ProjStrat G) :

                    A projective strategy in the tensor-product model of a state on Fin a × Fin b is a tensor-product strategy, on the same state.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem MIPRE.BipartiteModel.ProjStrat.value_toTensor {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} {a b : ℕ} {ψ : Fin a × Fin b → ℂ} (S : (tensor ψ).ProjStrat G) :

                      The commuting-operator model #

                      theorem MIPRE.BipartiteModel.ProjStrat.value_le_commutingOperatorValue {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} {X : Type u_4} {Y : Type u_5} {A : Type u_6} {B : Type u_7} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} (S : M.ProjStrat G) :

                      The value of a projective strategy in a model on a Hilbert space is at most ω_co: it is a commuting-operator strategy (BipartiteModel.toCommuting).

                      theorem MIPRE.exists_projStrat_lt_commutingOperatorValue {X Y A B : Type} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {G : Game X Y A B} {t : ℝ} (ht : 0 ≤ t) (h : t < commutingOperatorValue G) :
                      ∃ (S : CommutingOperatorStrategy X Y A B) (R : S.toModel.ProjStrat G), t < R.value

                      ω_co is approached by projective strategies in the models of commuting-operator strategies (exists_isPVMIn_lt_povmValue).

                      Value models dominating a bipartite model #

                      def MIPRE.ValueModel.Dominates {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] (ω : ValueModel) (M : BipartiteModel 𝒞 𝒜 ℬ) :

                      The value model dominates the projective strategies of a bipartite model: each has value at most the value of its game.

                      Equations
                      Instances For

                        val* dominates the tensor-product model of a state on Fin a × Fin b: a projective strategy in it is a tensor-product strategy.

                        theorem MIPRE.ValueModel.commuting_dominates {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

                        ω_co dominates every bipartite model on a Hilbert space.