Documentation

MIPRE.Background.LIDT.MIPStarRE.LDT.Test.StrategyBiProj.DirectSum

Two-Space Projective Strategies: Direct-Sum State Blocks #

This module contains the role-register direct-sum carriers and block-state construction used to symmetrize a heterogeneous projective strategy.

Direct-sum role-register helpers #

@[reducible, inline]
abbrev MIPStarRE.LDT.ProjStrat.LocalCarrierSum (ιA : Type u_1) (ιB : Type u_2) :
Type (max u_1 u_2)

Direct-sum carrier for the future heterogeneous role symmetrization.

For a two-space strategy with Alice carrier ιA and Bob carrier ιB, the later symmetrized local space will use this tagged direct sum so that Alice's operators occupy the Sum.inl block and Bob's operators occupy the Sum.inr block.

Equations
Instances For
    @[reducible, inline]
    abbrev MIPStarRE.LDT.ProjStrat.RoleRegisterLocal (ιA : Type u_1) (ιB : Type u_2) :
    Type (max u_2 u_1)

    Local carrier planned for the heterogeneous symmetrization bridge: a role bit and a direct-sum carrier. This is the direct-sum analogue of the current same-space target Role × ι in StrategyRole.lean.

    Equations
    Instances For

      Reassociate role bits and direct-sum carriers.

      This is the public heterogeneous analogue of the same-space role-register reassociation used internally by StrategyRole.lean. It prepares the target shape for reindexing block states on (Role × (ιA ⊕ ιB)) × (Role × (ιA ⊕ ιB)).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Direct-sum block states for heterogeneous role symmetrization #

        noncomputable def MIPStarRE.LDT.ProjStrat.localPairABBlock {ιA : Type u_1} {ιB : Type u_2} (X : Quantum.Op (ιA × ιB)) :

        Embed an operator on Alice's and Bob's original tensor product into the (Sum.inl _) × (Sum.inr _) block of the direct-sum tensor product.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def MIPStarRE.LDT.ProjStrat.localPairBABlock {ιA : Type u_1} {ιB : Type u_2} (X : Quantum.Op (ιB × ιA)) :

          Embed an operator on Bob's and Alice's original tensor product into the (Sum.inr _) × (Sum.inl _) block of the direct-sum tensor product.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem MIPStarRE.LDT.ProjStrat.localPairABBlock_AB_AB {ιA : Type u_1} {ιB : Type u_2} (X : Quantum.Op (ιA × ιB)) (i i' : ιA) (j j' : ιB) :
            @[simp]
            theorem MIPStarRE.LDT.ProjStrat.localPairBABlock_BA_BA {ιA : Type u_1} {ιB : Type u_2} (X : Quantum.Op (ιB × ιA)) (i i' : ιB) (j j' : ιA) :
            @[simp]
            @[simp]
            theorem MIPStarRE.LDT.ProjStrat.localPairABBlock_nonneg {ιA : Type u_1} {ιB : Type u_2} [Finite ιA] [Finite ιB] {X : Quantum.Op (ιA × ιB)} (hX : 0 X) :
            theorem MIPStarRE.LDT.ProjStrat.localPairBABlock_nonneg {ιA : Type u_1} {ιB : Type u_2} [Finite ιA] [Finite ιB] {X : Quantum.Op (ιB × ιA)} (hX : 0 X) :
            noncomputable def MIPStarRE.LDT.ProjStrat.heterogeneousSwapDensity {ιA : Type u_1} {ιB : Type u_2} (X : Quantum.Op (ιA × ιB)) :
            Quantum.Op (ιB × ιA)

            Swap an operator on ιA × ιB to one on ιB × ιA.

            Equations
            Instances For
              @[simp]

              Lean-only: Tensor products commute with the heterogeneous swap map.

              Paper origin: references/ldt-paper/inductive_step.tex:40-66; this is the matrix-index identity used to identify the two role-register sectors in the heterogeneous symmetrization.

              theorem MIPStarRE.LDT.ProjStrat.heterogeneousSwapDensity_nonneg {ιA : Type u_1} {ιB : Type u_2} [Finite ιA] [Finite ιB] {X : Quantum.Op (ιA × ιB)} (hX : 0 X) :
              noncomputable def MIPStarRE.LDT.ProjStrat.rolePairDirectSumCond {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [DecidableEq ιA] [Fintype ιB] [DecidableEq ιB] (rL rR : Role) (X : Quantum.Op (LocalCarrierSum ιA ιB × LocalCarrierSum ιA ιB)) :

              Place a direct-sum bipartite operator in a chosen pair of role sectors.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MIPStarRE.LDT.ProjStrat.rolePairDirectSumCond_nonneg {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [DecidableEq ιA] [Fintype ιB] [DecidableEq ιB] (rL rR : Role) {X : Quantum.Op (LocalCarrierSum ιA ιB × LocalCarrierSum ιA ιB)} (hX : 0 X) :
                @[simp]
                theorem MIPStarRE.LDT.ProjStrat.rolePairDirectSumCond_mul_eq_zero_of_ne {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [DecidableEq ιA] [Fintype ιB] [DecidableEq ιB] (rL rR sL sR : Role) (X Y : Quantum.Op (LocalCarrierSum ιA ιB × LocalCarrierSum ιA ιB)) (h : (rL, rR) (sL, sR)) :

                Distinct role-pair sectors of the direct-sum role register are orthogonal.

                noncomputable def MIPStarRE.LDT.ProjStrat.roleRegisterDensityScale (ιA : Type u_1) (ιB : Type u_2) [Fintype ιA] [Fintype ιB] :

                Normalizing scalar for the direct-sum heterogeneous role-register state.

                Equations
                Instances For
                  noncomputable def MIPStarRE.LDT.ProjStrat.roleRegisterSymmState {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [DecidableEq ιA] [Fintype ιB] [DecidableEq ιB] (ψ : QuantumState (ιA × ιB)) :

                  Heterogeneous role-register symmetrization of a two-space bipartite state.

                  The state lives on Role × (ιA ⊕ ιB) on each side. Its occupied sectors are A/B, carrying the original density in the Sum.inl × Sum.inr direct-sum block, and B/A, carrying the swapped density in the Sum.inr × Sum.inl block. The scalar compensates for normalized trace on the enlarged direct-sum carrier. Normalization and the LDT goodness comparison are separate lemmas.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def MIPStarRE.LDT.ProjStrat.localDirectSumBlock {ιA : Type u_1} {ιB : Type u_2} (A : Quantum.Op ιA) (B : Quantum.Op ιB) :

                    Block-diagonal operator on ιA ⊕ ιB, with Alice's block in the Sum.inl sector and Bob's block in the Sum.inr sector.

                    This is the matrix-level direct sum that will underlie symmetrized measurements such as |0⟩⟨0| ⊗ A^A + |1⟩⟨1| ⊗ A^B from references/ldt-paper/inductive_step.tex:55-59.

                    Equations
                    Instances For
                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_inl_inl {ιA : Type u_1} {ιB : Type u_2} (A : Quantum.Op ιA) (B : Quantum.Op ιB) (i j : ιA) :
                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_inl_inr {ιA : Type u_1} {ιB : Type u_2} (A : Quantum.Op ιA) (B : Quantum.Op ιB) (i : ιA) (j : ιB) :
                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_inr_inl {ιA : Type u_1} {ιB : Type u_2} (A : Quantum.Op ιA) (B : Quantum.Op ιB) (i : ιB) (j : ιA) :
                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_inr_inr {ιA : Type u_1} {ιB : Type u_2} (A : Quantum.Op ιA) (B : Quantum.Op ιB) (i j : ιB) :
                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_add {ιA : Type u_1} {ιB : Type u_2} (A₁ A₂ : Quantum.Op ιA) (B₁ B₂ : Quantum.Op ιB) :
                      localDirectSumBlock A₁ B₁ + localDirectSumBlock A₂ B₂ = localDirectSumBlock (A₁ + A₂) (B₁ + B₂)

                      Direct-sum blocks are additive in the two diagonal blocks.

                      @[simp]
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_mul {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [Fintype ιB] (A₁ A₂ : Quantum.Op ιA) (B₁ B₂ : Quantum.Op ιB) :
                      localDirectSumBlock A₁ B₁ * localDirectSumBlock A₂ B₂ = localDirectSumBlock (A₁ * A₂) (B₁ * B₂)
                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_nonneg {ιA : Type u_1} {ιB : Type u_2} [Finite ιA] [Finite ιB] {A : Quantum.Op ιA} {B : Quantum.Op ιB} (hA : 0 A) (hB : 0 B) :

                      A direct sum of positive semidefinite operators is positive semidefinite.

                      theorem MIPStarRE.LDT.ProjStrat.localDirectSumBlock_finset_sum {α : Type u_1} {ιA : Type u_2} {ιB : Type u_3} (s : Finset α) (A : αQuantum.Op ιA) (B : αQuantum.Op ιB) :
                      as, localDirectSumBlock (A a) (B a) = localDirectSumBlock (∑ as, A a) (∑ as, B a)

                      Finite sums commute through direct-sum blocks.

                      This is the completeness calculation for block-diagonal measurements: if Alice's and Bob's effects each sum to their local totals, then the direct-sum effects sum to the direct sum of those totals.

                      noncomputable def MIPStarRE.LDT.ProjStrat.roleBlock {ιA : Type u_1} {ιB : Type u_2} (A B : Quantum.Op (LocalCarrierSum ιA ιB)) :

                      Role-blocked operator on Role × (ιA ⊕ ιB).

                      The first block is used when the role register is Role.A; the second block is used when the role register is Role.B. This is the direct-sum scaffold for the paper's symmetrized measurements in inductive_step.tex:55-59.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_A {ιA : Type u_1} {ιB : Type u_2} (A B : Quantum.Op (LocalCarrierSum ιA ιB)) (i j : LocalCarrierSum ιA ιB) :
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_B {ιA : Type u_1} {ιB : Type u_2} (A B : Quantum.Op (LocalCarrierSum ιA ιB)) (i j : LocalCarrierSum ιA ιB) :
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_AB {ιA : Type u_1} {ιB : Type u_2} (A B : Quantum.Op (LocalCarrierSum ιA ιB)) (i j : LocalCarrierSum ιA ιB) :
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_BA {ιA : Type u_1} {ιB : Type u_2} (A B : Quantum.Op (LocalCarrierSum ιA ιB)) (i j : LocalCarrierSum ιA ιB) :
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_one {ιA : Type u_1} {ιB : Type u_2} [DecidableEq ιA] [DecidableEq ιB] :
                        roleBlock 1 1 = 1
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_zero {ιA : Type u_1} {ιB : Type u_2} :
                        roleBlock 0 0 = 0
                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_add {ιA : Type u_1} {ιB : Type u_2} (A₁ A₂ B₁ B₂ : Quantum.Op (LocalCarrierSum ιA ιB)) :
                        roleBlock A₁ B₁ + roleBlock A₂ B₂ = roleBlock (A₁ + A₂) (B₁ + B₂)

                        Role-register blocks are additive in their two role sectors.

                        @[simp]
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_mul {ιA : Type u_1} {ιB : Type u_2} [Fintype ιA] [Fintype ιB] (A₁ A₂ B₁ B₂ : Quantum.Op (LocalCarrierSum ιA ιB)) :
                        roleBlock A₁ B₁ * roleBlock A₂ B₂ = roleBlock (A₁ * A₂) (B₁ * B₂)
                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_nonneg {ιA : Type u_1} {ιB : Type u_2} [Finite ιA] [Finite ιB] {A B : Quantum.Op (LocalCarrierSum ιA ιB)} (hA : 0 A) (hB : 0 B) :

                        A role block of positive semidefinite operators is positive semidefinite.

                        theorem MIPStarRE.LDT.ProjStrat.roleBlock_finset_sum {α : Type u_1} {ιA : Type u_2} {ιB : Type u_3} (s : Finset α) (A B : αQuantum.Op (LocalCarrierSum ιA ιB)) :
                        as, roleBlock (A a) (B a) = roleBlock (∑ as, A a) (∑ as, B a)

                        Finite sums commute through role-register blocks.

                        This is the role-sector analogue of localDirectSumBlock_finset_sum and is the main completeness calculation for role-blocked measurements.