Documentation

MIPRE.Foundations.ModelReading

Readings of an extended model along a regrouping of its registers #

An extension M.expand e of a bipartite model by a register α for the first player and a register β for the second (MIPRE/Foundations/AncillaModel.lean) fixes which registers each player holds. The soundness analysis of the Pauli basis test reads one state along several such assignments, its cuts: a register handed across the cut is read by the other player, and nothing happens to the state. New in Phase 5 of planning/mipco-track.md, where the analysis is stated in a bipartite model; this file is the model form of the matrix regroupings of the registers (Matrix.reindex along Equiv.prodAssoc and its relatives) of that analysis.

Reindexing square matrices over a ⋆-algebra #

def MIPRE.reindexStarAlgHomR {R : Type u_1} [Ring R] [StarRing R] [Algebra ℂ R] {n : Type u_2} {n' : Type u_3} [Fintype n] [DecidableEq n] [Fintype n'] [DecidableEq n'] (σ : n ≃ n') :

Matrix.reindex over a ⋆-algebra, as a unital ⋆-algebra homomorphism: the homomorphism underlying submatrixStarAlgEquiv σ.symm (MIPRE/Foundations/ModelIso.lean), as πA and πB of a model are unital.

Equations
Instances For
    @[simp]
    theorem MIPRE.reindexStarAlgHomR_apply {R : Type u_1} [Ring R] [StarRing R] [Algebra ℂ R] {n : Type u_2} {n' : Type u_3} [Fintype n] [DecidableEq n] [Fintype n'] [DecidableEq n'] (σ : n ≃ n') (X : Matrix n n R) (i j : n') :
    (reindexStarAlgHomR σ) X i j = X (σ.symm i) (σ.symm j)

    Register operators as block matrices #

    theorem MIPRE.smulKron_eq_diagonal_mul {R : Type u_1} [Ring R] [Algebra ℂ R] {α : Type u_2} [Fintype α] [DecidableEq α] (X : R) (P : Matrix α α ℂ) :
    smulKron X P = (Matrix.diagonal fun (x : α) => X) * smulKron 1 P

    X ⊗ P is (X ⊗ 1)(1 ⊗ P): the element on the diagonal, times the register operator.

    theorem MIPRE.compHom_smulKron_smulKron {R : Type u_1} [Ring R] [Algebra ℂ R] {α : Type u_2} {α' : Type u_3} [Fintype α] [DecidableEq α] [Fintype α'] [StarRing R] (X : R) (P : Matrix α α ℂ) (Q : Matrix α' α' ℂ) :
    compHom (smulKron (smulKron X P) Q) = smulKron X (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) Q P)

    A register operator of the outer register, tensored with an element and a register operator of the inner one, is one register operator of the pair of registers (Matrix.comp).

    theorem MIPRE.compHom_smulKron_one {R : Type u_1} [Ring R] [Algebra ℂ R] {α : Type u_2} {α' : Type u_3} [Fintype α] [DecidableEq α] [Fintype α'] [StarRing R] (Q : Matrix α' α' ℂ) :
    compHom (smulKron 1 Q) = smulKron 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) Q 1)

    A register operator of the outer register is a register operator of the pair, acting as the identity on the inner register.

    Moving a register across the cut, and product basis vectors #

    def MIPRE.moveEquiv (γ : Type u_1) (α₀ : Type u_2) (β : Type u_3) :
    (γ × α₀) × β ≃ α₀ × γ × β

    The regrouping of registers handing the first player's outer register γ to the second player: ((c, a), b) ↦ (a, (c, b)).

    Equations
    • MIPRE.moveEquiv γ α₀ β = { toFun := fun (p : (γ × α₀) × β) => (p.1.2, p.1.1, p.2), invFun := fun (q : α₀ × γ × β) => ((q.2.1, q.1), q.2.2), left_inv := ⋯, right_inv := ⋯ }
    Instances For
      @[simp]
      theorem MIPRE.moveEquiv_apply (γ : Type u_1) (α₀ : Type u_2) (β : Type u_3) (p : (γ × α₀) × β) :
      (moveEquiv γ α₀ β) p = (p.1.2, p.1.1, p.2)
      @[simp]
      theorem MIPRE.moveEquiv_symm_apply (γ : Type u_1) (α₀ : Type u_2) (β : Type u_3) (q : α₀ × γ × β) :
      (moveEquiv γ α₀ β).symm q = ((q.2.1, q.1), q.2.2)
      def MIPRE.basisVec {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] (a₀ : α) (b₀ : β) :
      α × β → ℂ

      The basis vector |a₀⟩ ⊗ |b₀⟩ of a pair of registers.

      Equations
      Instances For
        theorem MIPRE.basisVec_apply {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] (a₀ : α) (b₀ : β) (p : α × β) :
        basisVec a₀ b₀ p = if p = (a₀, b₀) then 1 else 0
        theorem MIPRE.basisVec_swap {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] (a₀ : α) (b₀ : β) (p : β × α) :
        basisVec a₀ b₀ p.swap = basisVec b₀ a₀ p

        Exchanging the two registers exchanges the two reference points.

        theorem MIPRE.norm_basisVec {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] [Fintype α] [Fintype β] {a₀ : α} {b₀ : β} :
        ‖evec (basisVec a₀ b₀)‖ = 1

        A product basis vector is a unit vector.

        Readings of an extension #

        noncomputable def MIPRE.BipartiteModel.recut {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :
        BipartiteModel (Matrix (α × β) (α × β) 𝒞) (Matrix α' α' 𝒜) (Matrix β' β' ℬ)

        The reading of an extension along a regrouping of its registers: the state model of M.expand e (its space, state and representation), with the first player's α' × α' matrices and the second player's β' × β' matrices acting through the bijection σ : α × β ≃ α' × β'. Two readings of one extension differ only in their players' representations.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem MIPRE.BipartiteModel.recut_toStateModel {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :

          Every reading of an extension has the extension's state model.

          theorem MIPRE.BipartiteModel.recut_πA_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (X : Matrix α' α' 𝒜) (p q : α × β) :
          (M.recut e σ).πA X p q = if (σ p).2 = (σ q).2 then M.πA (X (σ p).1 (σ q).1) else 0

          The first player's operators of a reading, entry by entry.

          theorem MIPRE.BipartiteModel.recut_πB_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (Y : Matrix β' β' ℬ) (p q : α × β) :
          (M.recut e σ).πB Y p q = if (σ p).1 = (σ q).1 then M.πB (Y (σ p).2 (σ q).2) else 0

          The second player's operators of a reading, entry by entry.

          theorem MIPRE.BipartiteModel.expand_πA_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (X : Matrix α α 𝒜) (p q : α × β) :
          (M.expand e).πA X p q = if p.2 = q.2 then M.πA (X p.1 q.1) else 0

          The first player's operators of an extension, entry by entry.

          theorem MIPRE.BipartiteModel.expand_πB_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (Y : Matrix β β ℬ) (p q : α × β) :
          (M.expand e).πB Y p q = if p.1 = q.1 then M.πB (Y p.2 q.2) else 0

          The second player's operators of an extension, entry by entry.

          theorem MIPRE.BipartiteModel.expand_πA_mul_πB_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (X : Matrix α α 𝒜) (Y : Matrix β β ℬ) (p q : α × β) :
          ((M.expand e).πA X * (M.expand e).πB Y) p q = M.πA (X p.1 q.1) * M.πB (Y p.2 q.2)

          A product of the two players' operators of an extension, entry by entry.

          Moving the first player's outer register to the second player #

          theorem MIPRE.BipartiteModel.recut_move_πA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {β : Type u_5} [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) {γ : Type u_8} {α₀ : Type u_9} [Fintype γ] [DecidableEq γ] [Fintype α₀] [DecidableEq α₀] (e : (γ × α₀) × β → ℂ) (X : Matrix α₀ α₀ 𝒜) :
          (M.recut e (moveEquiv γ α₀ β)).πA X = (M.expand e).πA (compHom (Matrix.diagonal fun (x : γ) => X))

          Reading lemma for the first player: once the first player's outer register γ is handed to the second player, an operator X of the first player's remaining register α₀ is the extension's operator 1_γ ⊗ X.

          theorem MIPRE.BipartiteModel.recut_move_πB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {β : Type u_5} [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) {γ : Type u_8} {α₀ : Type u_9} [Fintype γ] [DecidableEq γ] [Fintype α₀] [DecidableEq α₀] (e : (γ × α₀) × β → ℂ) (Y : Matrix β β ℬ) (Q : Matrix γ γ ℂ) :
          (M.recut e (moveEquiv γ α₀ β)).πB (compHom (smulKron Y Q)) = (M.expand e).πA (compHom (smulKron 1 Q)) * (M.expand e).πB Y

          Reading lemma for the second player: once the first player's outer register γ is handed to the second player, an operator of the second player that is a product Q ⊗ Y of a register operator Q of γ and an operator Y of the second player's own registers is the product of the extension's first-player operator Q ⊗ 1 and second-player operator Y.

          A reading is isomorphic to the extension along the regrouped registers #

          noncomputable def MIPRE.BipartiteModel.recutAmpl {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :

          The Hilbert space of a reading is the ℓ² sum (as for the extension, BipartiteModel.ampl).

          Equations
          Instances For
            theorem MIPRE.BipartiteModel.recutAmpl_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (v : (M.recut e σ).H) (p : α × β) :
            ((M.recutAmpl e σ) v).ofLp p = ((M.ampl e) v).ofLp p
            noncomputable def MIPRE.BipartiteModel.recutIsom {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :
            (M.expand (e ∘ ⇑σ.symm)).LocalIsometry (M.recut e σ)

            The change of cut as a local isometry: the extension along the regrouped registers onto the reading of the original extension, by the reindexing of the ℓ² sum, the players' algebras unchanged.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem MIPRE.BipartiteModel.recutAmpl_recutIsom_W {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (v : (M.expand (e ∘ ⇑σ.symm)).H) (p : α × β) :
              ((M.recutAmpl e σ) ((M.recutIsom e σ).W v)).ofLp p = ((M.ampl (e ∘ ⇑σ.symm)) v).ofLp (σ p)
              @[simp]
              theorem MIPRE.BipartiteModel.recutIsom_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (X : Matrix α' α' 𝒜) :
              (M.recutIsom e σ).ΦA X = X
              @[simp]
              theorem MIPRE.BipartiteModel.recutIsom_ΦB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (Y : Matrix β' β' ℬ) :
              (M.recutIsom e σ).ΦB Y = Y
              theorem MIPRE.BipartiteModel.recutIsom_W_ψ {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :
              (M.recutIsom e σ).W (M.expand (e ∘ ⇑σ.symm)).ψ = (M.recut e σ).ψ

              The change of cut carries the state to the state.

              noncomputable def MIPRE.BipartiteModel.recutIso {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :
              (M.expand (e ∘ ⇑σ.symm)).Iso (M.recut e σ)

              A reading of an extension is isomorphic to the extension along the regrouped registers: the reindexing of the ℓ² sum, with the players' algebras unchanged (recutIsom).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem MIPRE.BipartiteModel.recutIso_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (X : Matrix α' α' 𝒜) :
                (M.recutIso e σ).ΦA X = X
                @[simp]
                theorem MIPRE.BipartiteModel.recutIso_ΦB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') (Y : Matrix β' β' ℬ) :
                (M.recutIso e σ).ΦB Y = Y
                @[simp]
                theorem MIPRE.BipartiteModel.recutIso_toLocalIsometry {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} {α' : Type u_6} {β' : Type u_7} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Fintype α'] [DecidableEq α'] [Fintype β'] [DecidableEq β'] (M : BipartiteModel 𝒞 𝒜 ℬ) (e : α × β → ℂ) (σ : α × β ≃ α' × β') :

                The two-sided compression at a product basis vector #

                theorem MIPRE.BipartiteModel.bornProb_expand_basisVec {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) (a₀ : α) (b₀ : β) (X : Matrix α α 𝒜) (Y : Matrix β β ℬ) :
                (M.expand (basisVec a₀ b₀)).bornProb X Y = M.bornProb (X a₀ a₀) (Y b₀ b₀)

                The two-sided compression: on the extension at a product basis vector |a₀⟩ ⊗ |b₀⟩, a Born probability is the Born probability of the two reference entries.

                theorem MIPRE.BipartiteModel.povmValue_expand_basisVec {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) [PartialOrder 𝒜] [StarOrderedRing 𝒜] [StarProper 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] [StarProper ℬ] (a₀ : α) (b₀ : β) {X : Type u_10} {Y : Type u_11} {A : Type u_12} {B : Type u_13} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (G : Game X Y A B) (PA : X → POVMIn A (Matrix α α 𝒜)) (PB : Y → POVMIn B (Matrix β β ℬ)) (PA' : X → POVMIn A 𝒜) (PB' : Y → POVMIn B ℬ) (hA : ∀ (x : X) (a : A), (PA x).op a a₀ a₀ = (PA' x).op a) (hB : ∀ (y : Y) (b : B), (PB y).op b b₀ b₀ = (PB' y).op b) :
                (M.expand (basisVec a₀ b₀)).povmValue G PA PB = M.povmValue G PA' PB'

                The value of a strategy of an extension at a product basis vector is the value of the families of its reference entries.

                theorem MIPRE.BipartiteModel.inconsistency_expand_basisVec_congr {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {α : Type u_4} {β : Type u_5} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (M : BipartiteModel 𝒞 𝒜 ℬ) [PartialOrder 𝒜] [StarOrderedRing 𝒜] [StarProper 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] [StarProper ℬ] (a₀ : α) (b₀ : β) {Λ : Type u_10} {X : Type u_11} [Fintype Λ] [DecidableEq Λ] [Fintype X] (μ : X → ℝ) {P P' : X → POVMIn Λ (Matrix α α 𝒜)} {Q Q' : X → POVMIn Λ (Matrix β β ℬ)} (hP : ∀ (x : X) (a : Λ), (P x).op a a₀ a₀ = (P' x).op a a₀ a₀) (hQ : ∀ (x : X) (b : Λ), (Q x).op b b₀ b₀ = (Q' x).op b b₀ b₀) :
                (M.expand (basisVec a₀ b₀)).inconsistency μ P Q = (M.expand (basisVec a₀ b₀)).inconsistency μ P' Q'

                On an extension at a product basis vector, two families with the same reference entries have the same inconsistency: a Born probability sees only the reference entries.