Documentation

MIPRE.Foundations.AmplCommutant

The commutant of a matrix amplification #

The low-individual-degree hypothesis of Phase 5 of planning/mipco-track.md, LIDT.Simul.SoundCo, is soundness in the model S.toModel of every commuting-operator strategy S; the Pauli basis analysis needs it in the ancilla extensions S.toModel.expand e (MIPRE/Foundations/AncillaModel.lean). This file shows that an extension by a unit vector of a commuting-operator model is a commuting-operator model, up to isomorphism (BipartiteModel.Iso, MIPRE/Foundations/ModelIso.lean), so that the hypothesis applies to it as it stands (LIDT.Simul.SoundCo.expand, on the Background side).

The strategy is S.expandStrategy e he, on the space H ⊗ ℂ^{α × β} of the extension and in its state. Only the second player's operators determine the model's algebras, and they are chosen so that their commutant is exactly the first player's algebra of the extension: the operators 1_α ⊗ 1_β ⊗ F^y_b of S, the projections 1_α ⊗ |b⟩⟨b| ⊗ 1 onto the basis vectors of the register β, and the projection 1_α ⊗ |u⟩⟨u| ⊗ 1 onto its uniform superposition u, each measured as a two-outcome measurement. The first player asks one question and always gives the same answer.

An operator T on H ⊗ ℂ^ι is the operator of the matrix of its compressions, T = toCLM (entries T) (OperatorMatrix.toCLM_entries), so commuting with an operator matrix is matrix algebra (OperatorMatrix.commute_toCLM_iff). Then:

So the first player's algebra of the strategy is the image of M_α(𝒜), for 𝒜 = S.aliceAlg (CommutingOperatorStrategy.expandAliceEquiv). That image contains M_α(ℂ) ⊗ 1 and 𝒜 ⊗ 1, so the same two facts, for the first register, make its commutant the image of M_β(𝒜'), and 𝒜' = S.bobAlg by definition (CommutingOperatorStrategy.expandBobEquiv). Both equivalences are the representations of the extension, so the identity of the space is an isomorphism of bipartite models S.toModel.expand e ≅ (S.expandStrategy e he).toModel (CommutingOperatorStrategy.expandIso).

expandStrategy is not reducible, so that the instances stated for every commuting-operator strategy, the order of its algebras among them, are found for it; the proofs read it through its reducible twin expandStrategyAux, whose space is seen to be H ⊗ ℂ^{α × β} with that space's own instances.

The entries of an operator on an amplification #

noncomputable def MIPRE.OperatorMatrix.entries {ι : Type u_1} {H : Type u_2} [DecidableEq ι] [NormedAddCommGroup H] [InnerProductSpace ℂ H] (T : Ampl ι H →L[ℂ] Ampl ι H) :
Matrix ι ι (H →L[ℂ] H)

The entries of an operator on the amplification: the entry (i, j) is the compression ξ ↦ (T (ξ ⊗ e_j))_i of T from the j-th copy of H to the i-th.

Equations
Instances For
    @[simp]
    theorem MIPRE.OperatorMatrix.entries_apply {ι : Type u_1} {H : Type u_2} [DecidableEq ι] [NormedAddCommGroup H] [InnerProductSpace ℂ H] (T : Ampl ι H →L[ℂ] Ampl ι H) (i j : ι) (ξ : H) :
    (entries T i j) ξ = (T ((emb j) ξ)).ofLp i
    theorem MIPRE.OperatorMatrix.sum_emb {ι : Type u_1} {H : Type u_2} [Fintype ι] [DecidableEq ι] [NormedAddCommGroup H] [InnerProductSpace ℂ H] (f : Ampl ι H) :
    ∑ j : ι, (emb j) (f.ofLp j) = f

    A vector of the amplification is the sum of its coordinates, embedded.

    An operator is the operator of its entries.

    theorem MIPRE.OperatorMatrix.entries_toCLM {ι : Type u_1} {H : Type u_2} [Fintype ι] [DecidableEq ι] [NormedAddCommGroup H] [InnerProductSpace ℂ H] (M : Matrix ι ι (H →L[ℂ] H)) :

    The entries of the operator of a matrix are the matrix.

    theorem MIPRE.OperatorMatrix.commute_toCLM_iff {ι : Type u_1} {H : Type u_2} [Fintype ι] [DecidableEq ι] [NormedAddCommGroup H] [InnerProductSpace ℂ H] (T : Ampl ι H →L[ℂ] Ampl ι H) (Z : Matrix ι ι (H →L[ℂ] H)) :

    An operator commutes with the operator of a matrix exactly when its entries do.

    Matrices commuting with a register #

    theorem MIPRE.commute_diagonal_const_iff {R : Type u_1} [Ring R] {ι : Type u_4} [Fintype ι] [DecidableEq ι] (T : Matrix ι ι R) (f : R) :
    Commute T (Matrix.diagonal fun (x : ι) => f) ↔ ∀ (i j : ι), Commute (T i j) f

    A matrix commutes with a constant diagonal matrix exactly when its entries commute with the constant.

    theorem MIPRE.liftLeft_diagonal_const {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (c : R) :
    liftLeft (Matrix.diagonal fun (x : α) => c) = Matrix.diagonal fun (x : α × β) => c

    A constant diagonal matrix of the first register acts on the pair as the constant diagonal.

    theorem MIPRE.liftRight_diagonal_const {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (c : R) :
    liftRight (Matrix.diagonal fun (x : β) => c) = Matrix.diagonal fun (x : α × β) => c

    A constant diagonal matrix of the second register acts on the pair as the constant diagonal.

    theorem MIPRE.commute_liftLeft_liftRight {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (X : Matrix α α R) (Y : Matrix β β R) (h : ∀ (a a' : α) (b b' : β), Commute (X a a') (Y b b')) :

    The two registers' matrices commute when their entries do.

    theorem MIPRE.mul_liftRight_single_apply {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (T : Matrix (α × β) (α × β) R) (b b' : β) (p q : α × β) :
    (T * liftRight (Matrix.single b b' 1)) p q = if q.2 = b' then T p (q.1, b) else 0
    theorem MIPRE.liftRight_single_mul_apply {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (T : Matrix (α × β) (α × β) R) (b b' : β) (p q : α × β) :
    (liftRight (Matrix.single b b' 1) * T) p q = if p.2 = b then T (p.1, b') q else 0
    theorem MIPRE.mul_liftLeft_single_apply {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (T : Matrix (α × β) (α × β) R) (a a' : α) (p q : α × β) :
    (T * liftLeft (Matrix.single a a' 1)) p q = if q.1 = a' then T p (a, q.2) else 0
    theorem MIPRE.liftLeft_single_mul_apply {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] (T : Matrix (α × β) (α × β) R) (a a' : α) (p q : α × β) :
    (liftLeft (Matrix.single a a' 1) * T) p q = if p.1 = a then T (a', p.2) q else 0
    theorem MIPRE.eq_liftLeft_of_commute {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] {T : Matrix (α × β) (α × β) R} (hT : ∀ (b b' : β), Commute T (liftRight (Matrix.single b b' 1))) (b₀ : β) :
    T = liftLeft (Matrix.of fun (a a' : α) => T (a, b₀) (a', b₀))

    The commutant of the second register's matrix units is the first register's matrices: a matrix commuting with every 1_α ⊗ E_{bb'} is X ⊗ 1_β, with X its block at any b₀.

    theorem MIPRE.eq_liftRight_of_commute {R : Type u_1} {α : Type u_2} {β : Type u_3} [Ring R] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [StarRing R] [Algebra ℂ R] {T : Matrix (α × β) (α × β) R} (hT : ∀ (a a' : α), Commute T (liftLeft (Matrix.single a a' 1))) (a₀ : α) :
    T = liftRight (Matrix.of fun (b b' : β) => T (a₀, b) (a₀, b'))

    The commutant of the first register's matrix units is the second register's matrices: a matrix commuting with every E_{aa'} ⊗ 1_β is 1_α ⊗ Y, with Y its block at any a₀.

    The projections of a register that generate its matrices #

    noncomputable def MIPRE.uniformProj (β : Type u_1) [Fintype β] :
    Matrix β β ℂ

    The projection |u⟩⟨u| onto the uniform superposition u = |β|^{-1/2} ∑_b |b⟩ of a register: every entry is 1 / |β|.

    Equations
    Instances For
      theorem MIPRE.single_eq_smul_mul_uniformProj_mul {β : Type u_1} [Fintype β] [DecidableEq β] (b b' : β) :

      A matrix unit from the diagonal projections and the uniform one: E_{bb'} = |β| E_{bb} |u⟩⟨u| E_{b'b'}.

      theorem MIPRE.commute_liftRight_single_of_commute {β : Type u_1} [Fintype β] [DecidableEq β] {R : Type u_2} {α : Type u_3} [Ring R] [StarRing R] [Algebra ℂ R] [Fintype α] [DecidableEq α] {Z : Matrix (α × β) (α × β) R} (hdiag : ∀ (b : β), Commute Z (liftRight ((Matrix.single b b 1).map ⇑(algebraMap ℂ R)))) (hunif : Commute Z (liftRight ((uniformProj β).map ⇑(algebraMap ℂ R)))) (b b' : β) :

      Commuting with the diagonal and the uniform projections of the second register is commuting with its matrix units.

      The commutant of an amplification, as operators #

      theorem MIPRE.OperatorMatrix.commute_toCLM_liftLeft_liftRight {H : Type u_1} {α : Type u_2} {β : Type u_3} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (X : Matrix α α (H →L[ℂ] H)) (Y : Matrix β β (H →L[ℂ] H)) (h : ∀ (a a' : α) (b b' : β), Commute (X a a') (Y b b')) :

      The two registers' operators commute when their entries do.

      theorem MIPRE.OperatorMatrix.exists_eq_toCLM_liftLeft {H : Type u_1} {α : Type u_2} {β : Type u_3} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Nonempty β] {s : Set (H →L[ℂ] H)} {T : Ampl (α × β) H →L[ℂ] Ampl (α × β) H} (hs : ∀ f ∈ s, Commute T (toCLM (Matrix.diagonal fun (x : α × β) => f))) (hreg : ∀ (b b' : β), Commute T (toCLM (liftRight (Matrix.single b b' 1)))) :
      ∃ (X : Matrix α α (H →L[ℂ] H)), (∀ (a a' : α), ∀ f ∈ s, Commute (X a a') f) ∧ T = toCLM (liftLeft X)

      An operator commuting with the second register and with an amplified set is a matrix of the first register over the commutant of the set: if T on H ⊗ ℂ^{α × β} commutes with f ⊗ 1 for every f ∈ s and with 1 ⊗ 1_α ⊗ E_{bb'} for all b, b', then T = X ⊗ 1_β with every entry of X commuting with s.

      theorem MIPRE.OperatorMatrix.exists_eq_toCLM_liftRight {H : Type u_1} {α : Type u_2} {β : Type u_3} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] [Nonempty α] {s : Set (H →L[ℂ] H)} {T : Ampl (α × β) H →L[ℂ] Ampl (α × β) H} (hs : ∀ f ∈ s, Commute T (toCLM (Matrix.diagonal fun (x : α × β) => f))) (hreg : ∀ (a a' : α), Commute T (toCLM (liftLeft (Matrix.single a a' 1)))) :
      ∃ (Y : Matrix β β (H →L[ℂ] H)), (∀ (b b' : β), ∀ f ∈ s, Commute (Y b b') f) ∧ T = toCLM (liftRight Y)

      An operator commuting with the first register and with an amplified set is a matrix of the second register over the commutant of the set: the mirror of exists_eq_toCLM_liftLeft.

      The first register's matrices act injectively, when the second register is not empty.

      The second register's matrices act injectively, when the first register is not empty.

      theorem MIPRE.mem_centralizer_of_forall_commute {A : Type u_1} [Ring A] [StarRing A] [Algebra ℂ A] [StarModule ℂ A] {s : Set A} (hs : ∀ f ∈ s, star f ∈ s) {x : A} (hx : ∀ f ∈ s, Commute x f) :

      An element commuting with a star-closed set lies in its commutant.

      theorem MIPRE.nonempty_of_norm_evec_eq_one {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] {e : α × β → ℂ} (he : ‖evec e‖ = 1) :

      A unit vector of ℂ^{α × β} has both registers nonempty.

      def MIPRE.twoOutcome {R : Type u_1} [Ring R] (P : R) (t : Bool) :
      R

      The two-outcome measurement {P, 1 - P} of an element P, the outcome true for P.

      Equations
      Instances For
        theorem MIPRE.sum_twoOutcome {R : Type u_1} [Ring R] (P : R) :
        ∑ t : Bool, twoOutcome P t = 1

        The strategy of an ancilla extension #

        noncomputable def MIPRE.CommutingOperatorStrategy.expandRegProj {β : Type} [Fintype β] [DecidableEq β] :
        Option β → Matrix β β ℂ

        The projections of the register β that the second player of an extension measures: none the projection onto the uniform superposition, some b the projection onto the basis vector b.

        Equations
        Instances For
          noncomputable def MIPRE.CommutingOperatorStrategy.expandBobMat {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) :
          Y ⊕ Option β → B ⊕ Bool → Matrix β β (S.H →L[ℂ] S.H)

          The second player's operators of the ancilla strategy, as matrices over B(H) on the register β (the first register acting trivially): to a question y of S, the amplified S.F y b; to a question g about the register, the two-outcome measurement of expandRegProj g.

          Equations
          Instances For
            theorem MIPRE.CommutingOperatorStrategy.expandBobMat_inl_inl {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (y : Y) (b : B) :
            S.expandBobMat (Sum.inl y) (Sum.inl b) = Matrix.diagonal fun (x : β) => S.F y b
            theorem MIPRE.CommutingOperatorStrategy.expandBobMat_inr_inr {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (g : Option β) (t : Bool) :
            theorem MIPRE.CommutingOperatorStrategy.expandBobMat_inl_inr {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (y : Y) (t : Bool) :
            theorem MIPRE.CommutingOperatorStrategy.expandBobMat_inr_inl {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (g : Option β) (b : B) :
            theorem MIPRE.CommutingOperatorStrategy.commute_expandBobMat_apply {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) {x : S.H →L[ℂ] S.H} (hx : x ∈ S.aliceAlg) (y : Y ⊕ Option β) (b : B ⊕ Bool) (b₁ b₂ : β) :
            Commute x (S.expandBobMat y b b₁ b₂)

            The entries of the second player's operators commute with the first player's algebra.

            theorem MIPRE.CommutingOperatorStrategy.sum_expandBobMat {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {β : Type} [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (y : Y ⊕ Option β) :
            ∑ b : B ⊕ Bool, S.expandBobMat y b = 1
            theorem MIPRE.CommutingOperatorStrategy.sum_toCLM_liftRight_expandBobMat {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (y : Y ⊕ Option β) :
            @[reducible, inline]
            noncomputable abbrev MIPRE.CommutingOperatorStrategy.expandStrategyAux {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

            expandStrategy, reducibly: the proofs below read its space as H ⊗ ℂ^{α × β} with that space's own instances, which is what lets its operators be compared with operator matrices. expandStrategy itself is not reducible, so that instances stated for every commuting-operator strategy (the order of its algebras, for example) are found for it.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def MIPRE.CommutingOperatorStrategy.expandStrategy {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

              The commuting-operator strategy of an ancilla extension of S by registers α, β in the unit state e: the space H ⊗ ℂ^{α × β} and the state ψ ⊗ e of S.toModel.expand e; the first player asks one question and always gives the same answer, with the operator 1; the second player answers a question y of S with the operators 1_α ⊗ 1_β ⊗ F^y_b, and a question g : Option β about the register with the two-outcome measurement of expandRegProj g.

              Equations
              Instances For
                noncomputable def MIPRE.CommutingOperatorStrategy.expandAliceRep {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) :

                The first player's matrices of an extension, as operators on H ⊗ ℂ^{α × β}: X ⊗ 1_β.

                Equations
                Instances For
                  noncomputable def MIPRE.CommutingOperatorStrategy.expandBobRep {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) :

                  The second player's matrices of an extension, as operators on H ⊗ ℂ^{α × β}: 1_α ⊗ Y.

                  Equations
                  Instances For
                    theorem MIPRE.CommutingOperatorStrategy.expandAliceRep_apply {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (X✝ : Matrix α α ↥S.aliceAlg) :
                    theorem MIPRE.CommutingOperatorStrategy.expandBobRep_apply {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (Y✝ : Matrix β β ↥S.bobAlg) :
                    theorem MIPRE.CommutingOperatorStrategy.expandAliceRep_eq {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (X✝ : Matrix α α ↥S.aliceAlg) :
                    S.expandAliceRep X✝ = (S.toModel.expand e).π ((S.toModel.expand e).πA X✝)

                    expandAliceRep is the first player's representation of the extension.

                    theorem MIPRE.CommutingOperatorStrategy.expandBobRep_eq {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (Y✝ : Matrix β β ↥S.bobAlg) :
                    S.expandBobRep Y✝ = (S.toModel.expand e).π ((S.toModel.expand e).πB Y✝)

                    expandBobRep is the second player's representation of the extension.

                    theorem MIPRE.CommutingOperatorStrategy.expandAliceRep_mem {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (X✝ : Matrix α α ↥S.aliceAlg) :

                    The first player's operators of the extension are in the first player's algebra of the strategy: they commute with the second player's operators.

                    theorem MIPRE.CommutingOperatorStrategy.exists_expandAliceRep_eq {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) {T : OperatorMatrix.Ampl (α × β) S.H →L[ℂ] OperatorMatrix.Ampl (α × β) S.H} (hT : T ∈ (S.expandStrategy e he).aliceAlg) :
                    ∃ (X_1 : Matrix α α ↥S.aliceAlg), S.expandAliceRep X_1 = T

                    The first player's algebra of the strategy is the first player's algebra of the extension: every operator commuting with the second player's operators is X ⊗ 1_β for a matrix X over the commutant of S's second player.

                    noncomputable def MIPRE.CommutingOperatorStrategy.expandAliceHom {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

                    The first player's representation of the extension, into the first player's algebra of the strategy. (The representation is first read on the strategy's space, where the algebra lives, so that the restriction of its codomain is between subalgebras of one type.)

                    Equations
                    Instances For
                      theorem MIPRE.CommutingOperatorStrategy.expandAliceHom_bijective {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :
                      noncomputable def MIPRE.CommutingOperatorStrategy.expandAliceEquiv {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

                      The first player's algebra of the strategy is the matrix algebra M_α(𝒜) over the first player's algebra 𝒜 of S, by the representation of the extension.

                      Equations
                      Instances For
                        theorem MIPRE.CommutingOperatorStrategy.coe_expandAliceEquiv {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (X✝ : Matrix α α ↥S.aliceAlg) :
                        ↑((S.expandAliceEquiv e he) X✝) = S.expandAliceRep X✝
                        theorem MIPRE.CommutingOperatorStrategy.expandBobRep_mem {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (Y✝ : Matrix β β ↥S.bobAlg) :

                        The second player's operators of the extension are in the second player's algebra of the strategy: they commute with its first player's algebra, which is the first player's algebra of the extension.

                        theorem MIPRE.CommutingOperatorStrategy.exists_expandBobRep_eq {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) {T : OperatorMatrix.Ampl (α × β) S.H →L[ℂ] OperatorMatrix.Ampl (α × β) S.H} (hT : T ∈ (S.expandStrategy e he).bobAlg) :
                        ∃ (Y_1 : Matrix β β ↥S.bobAlg), S.expandBobRep Y_1 = T

                        The second player's algebra of the strategy is the second player's algebra of the extension: every operator commuting with the first player's algebra of the strategy is 1_α ⊗ Y for a matrix Y over the commutant of S.aliceAlg, which is S.bobAlg.

                        noncomputable def MIPRE.CommutingOperatorStrategy.expandBobHom {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

                        The second player's representation of the extension, into the second player's algebra of the strategy.

                        Equations
                        Instances For
                          theorem MIPRE.CommutingOperatorStrategy.expandBobHom_bijective {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :
                          noncomputable def MIPRE.CommutingOperatorStrategy.expandBobEquiv {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

                          The second player's algebra of the strategy is the matrix algebra M_β(ℬ) over the second player's algebra ℬ of S, by the representation of the extension.

                          Equations
                          Instances For
                            theorem MIPRE.CommutingOperatorStrategy.coe_expandBobEquiv {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (Y✝ : Matrix β β ↥S.bobAlg) :
                            ↑((S.expandBobEquiv e he) Y✝) = S.expandBobRep Y✝
                            theorem MIPRE.CommutingOperatorStrategy.mem_expandStrategy_aliceAlg_iff {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) {T : OperatorMatrix.Ampl (α × β) S.H →L[ℂ] OperatorMatrix.Ampl (α × β) S.H} :
                            T ∈ (S.expandStrategy e he).aliceAlg ↔ ∃ (X_1 : Matrix α α ↥S.aliceAlg), S.expandAliceRep X_1 = T

                            The first player's algebra of the strategy, as a set: the operators X ⊗ 1_β for the matrices X over S.aliceAlg.

                            theorem MIPRE.CommutingOperatorStrategy.mem_expandStrategy_bobAlg_iff {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) {T : OperatorMatrix.Ampl (α × β) S.H →L[ℂ] OperatorMatrix.Ampl (α × β) S.H} :
                            T ∈ (S.expandStrategy e he).bobAlg ↔ ∃ (Y_1 : Matrix β β ↥S.bobAlg), S.expandBobRep Y_1 = T

                            The second player's algebra of the strategy, as a set: the operators 1_α ⊗ Y for the matrices Y over S.bobAlg.

                            The extension of a commuting-operator model is a commuting-operator model #

                            noncomputable def MIPRE.CommutingOperatorStrategy.expandIso {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) :

                            The ancilla extension of a commuting-operator model is the model of a commuting-operator strategy, S.toModel.expand e ≅ (S.expandStrategy e he).toModel: the identity of the space H ⊗ ℂ^{α × β}, which carries the state to itself, with the equivalences expandAliceEquiv and expandBobEquiv of the players' algebras.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem MIPRE.CommutingOperatorStrategy.expandIso_W {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (v : (S.toModel.expand e).H) :
                              (S.expandIso e he).W v = v
                              @[simp]
                              theorem MIPRE.CommutingOperatorStrategy.expandIso_ΦA {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (X✝ : Matrix α α ↥S.aliceAlg) :
                              ↑((S.expandIso e he).ΦA X✝) = S.expandAliceRep X✝
                              @[simp]
                              theorem MIPRE.CommutingOperatorStrategy.expandIso_ΦB {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] {α β : Type} [Fintype α] [DecidableEq α] [Fintype β] [DecidableEq β] (S : CommutingOperatorStrategy X Y A B) (e : α × β → ℂ) (he : ‖evec e‖ = 1) (Y✝ : Matrix β β ↥S.bobAlg) :
                              ↑((S.expandIso e he).ΦB Y✝) = S.expandBobRep Y✝