Documentation

MIPRE.Background.QLD.PhysModel

The models of the Pauli basis test's stages 4 and 5 #

The soundness analysis of the Pauli basis test runs, from stage 2 on, in the register model N.reg I of a bipartite model N: an EPR register I, whose first half A' the first player holds and whose second half A'' the second player holds. Stages 4 and 5 adjoin more registers, and read one state along several assignments of the registers to the players. This file builds those models once, generically in the register type I (the analysis takes I := Anc F m), and the maps between them. The names of the registers are the paper's: A is the first player's own space (the algebra 𝒜), A' and A'' the two halves of the pair, Ea the padding register; B, B', B'', Eb for the second player.

Stated in a bipartite model #

Stated in a bipartite model (Phase 5 of planning/mipco-track.md). The matrix analysis built each of these states as an explicit vector on a product of index sets and moved between them by Matrix.reindex along regroupings of those sets (PadReg, padState, extVec2, mirrorVec, physLiftEquiv, outerPairEquiv, endEquiv). Here every state is an extension N.expand e of the bipartite model by finite registers in a joint vector e, only the finite registers are ever regrouped, and a regrouping is a local isometry or an isomorphism of models (MIPRE/Foundations/ModelEmbedding.lean, MIPRE/Foundations/ModelIso.lean); several readings of one extended state are readings (BipartiteModel.recut, MIPRE/Foundations/ModelReading.lean) of one state model.

Stage 4: the Halmos-dilated padded strategy #

Stage 5: the physical state and its readings #

The padding register #

def MIPRE.QLD.ansZero {F : Type u_1} [Field F] {m d : ℕ} :
LIDT.CL.Answer F (4 * m) d 1

The zero answer to the seeded test at (q, 4m, d, 1): the reference answer of the Halmos dilation of the padded strategy.

Equations
Instances For
    @[reducible, inline]
    abbrev MIPRE.QLD.PadAnc (F : Type u_1) (m d K : ℕ) :
    Type u_1

    The padding register Ea (and Eb): the ancilla of the Halmos dilation of a POVM with the seeded test's answers as outcomes (DilationAncilla), with K + 1 terms. Both players' dilations are taken on it with one common K, so that the two runs of stage 4 read one physical state.

    Equations
    Instances For
      def MIPRE.QLD.t₀ {F : Type u_1} [Field F] {m d K : ℕ} :
      PadAnc F m d K

      The reference vector of the padding register: the zero answer, at the first term, where the dilation compresses to the POVM it dilates (exists_pvm_dilation_ge).

      Equations
      Instances For
        @[instance_reducible]
        instance MIPRE.QLD.instFintypePadAnc {F : Type u_1} {m d K : ℕ} [Fintype F] :
        Fintype (PadAnc F m d K)
        Equations
        @[instance_reducible]
        instance MIPRE.QLD.instDecidableEqPadAnc {F : Type u_1} {m d K : ℕ} [DecidableEq F] :

        Decidable equality on the padding register, assembled once.

        Equations

        The padded model, where the seeded test's soundness is applied #

        noncomputable def MIPRE.QLD.padE (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [DecidableEq F] (m d K : ℕ) :
        (PadAnc F m d K × I) × PadAnc F m d K × I → ℂ

        The joint state of the padded model's registers, flattened: the first player's (Ea, A') and the second player's (Eb, A''), the padding registers in |t₀⟩ ⊗ |t₀⟩ and the EPR pair across.

        Equations
        Instances For
          theorem MIPRE.QLD.padE_apply {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [DecidableEq F] {m d K : ℕ} (q : (PadAnc F m d K × I) × PadAnc F m d K × I) :
          padE I F m d K q = basisVec t₀ t₀ (q.1.1, q.2.1) * Introspection.registerEPR I (q.1.2, q.2.2)

          The product condition of the associativity from the padded model (padModel).

          theorem MIPRE.QLD.padE_eq_expVec {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [DecidableEq F] {m d K : ℕ} :

          The flattened padded state is the expanded vector of the two padding vectors and the pair.

          theorem MIPRE.QLD.norm_padE {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} [Nonempty I] {K : ℕ} :
          ‖evec (padE I F m d K)‖ = 1

          The flattened padded state is a unit vector.

          @[reducible, inline]
          noncomputable abbrev MIPRE.QLD.padModel {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
          BipartiteModel (Matrix (PadAnc F m d K × PadAnc F m d K) (PadAnc F m d K × PadAnc F m d K) (Matrix (I × I) (I × I) 𝒞)) (Matrix (PadAnc F m d K) (PadAnc F m d K) (Matrix I I 𝒜)) (Matrix (PadAnc F m d K) (PadAnc F m d K) (Matrix I I ℬ))

          The model of the Halmos-dilated padded strategy: the register model N.reg I extended by the padding register of each player, in the product basis vector |t₀⟩ ⊗ |t₀⟩. Each player's dilation acts on that player's padding register only, so the two dilations are one-sided; a Born probability of the padded model is that of the two reference entries (BipartiteModel.bornProb_expand_basisVec).

          Equations
          Instances For
            theorem MIPRE.QLD.soundIn_padModel {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [StarProper 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] [StarProper ℬ] {I : Type} [Fintype I] [DecidableEq I] [Nonempty I] {F : Type} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} (hL : ∀ {α β : Type} [inst : Fintype α] [inst_1 : DecidableEq α] [inst_2 : Fintype β] [inst_3 : DecidableEq β] (e : α × β → ℂ), ‖evec e‖ = 1 → LIDT.Simul.SoundIn (N.expand e)) (K : ℕ) :

            The seeded test is sound in the padded model as soon as it is sound in every extension of N by a unit vector: the padded model is the extension of N by the registers (Ea, A') and (Eb, A'') in the flattened vector padE, by associativity (BipartiteModel.assocIso).

            theorem MIPRE.QLD.soundIn_padModel_swap {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] [PartialOrder 𝒜] [StarOrderedRing 𝒜] [StarProper 𝒜] [PartialOrder ℬ] [StarOrderedRing ℬ] [StarProper ℬ] {I : Type} [Fintype I] [DecidableEq I] [Nonempty I] {F : Type} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} (hL : ∀ {α β : Type} [inst : Fintype α] [inst_1 : DecidableEq α] [inst_2 : Fintype β] [inst_3 : DecidableEq β] (e : α × β → ℂ), ‖evec e‖ = 1 → LIDT.Simul.SoundIn (N.expand e)) (K : ℕ) :

            The seeded test is sound in the padded model of the model with the players exchanged, from its soundness in the extensions of N: the test is symmetric in the players (LIDT.Simul.soundIn_swap_expand_of_norm).

            The physical registers and the physical state #

            @[reducible, inline]
            abbrev MIPRE.QLD.PhysReg (I : Type u_1) (F : Type u_2) (m d K : ℕ) :
            Type (max u_1 u_1 u_2)

            One player's physical registers (A'', (Ea, A')): the far half of the player's own EPR pair, then the padding register and the near half.

            Equations
            Instances For
              @[instance_reducible]
              instance MIPRE.QLD.instFintypePhysReg {I : Type u_1} [Fintype I] {F : Type u_2} [Fintype F] {m d : ℕ} (K : ℕ) :
              Fintype (PhysReg I F m d K)
              Equations
              @[instance_reducible]
              instance MIPRE.QLD.instDecidableEqPhysReg {I : Type u_1} [DecidableEq I] {F : Type u_2} [DecidableEq F] {m d : ℕ} (K : ℕ) :
              DecidableEq (PhysReg I F m d K)

              Decidable equality on the physical registers, assembled by hand once.

              Equations
              noncomputable def MIPRE.QLD.physE (I : Type u_1) [Fintype I] [DecidableEq I] (F : Type u_2) [Field F] [DecidableEq F] (m d K : ℕ) :
              PhysReg I F m d K × PhysReg I F m d K → ℂ

              The physical state of the registers: each player's own EPR pair, (A'', A') and (B'', B'), and the two padding registers in |t₀⟩ ⊗ |t₀⟩.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MIPRE.QLD.physE_apply {I : Type u_1} [Fintype I] [DecidableEq I] {F : Type u_2} [Field F] [DecidableEq F] {m d K : ℕ} (p : PhysReg I F m d K × PhysReg I F m d K) :
                physE I F m d K p = Introspection.registerEPR I (p.1.1, p.1.2.2) * Introspection.registerEPR I (p.2.1, p.2.2.2) * basisVec t₀ t₀ (p.1.2.1, p.2.2.1)

                The physical state, entry by entry.

                theorem MIPRE.QLD.physE_symm {I : Type u_1} [Fintype I] [DecidableEq I] {F : Type u_2} [Field F] [DecidableEq F] {m d K : ℕ} (p : PhysReg I F m d K × PhysReg I F m d K) :
                physE I F m d K p.swap = physE I F m d K p

                The physical state is symmetric in the two players' blocks: exchanging the blocks exchanges the two pairs and the two padding registers, which are in the same state.

                def MIPRE.QLD.physSplit {I : Type u_1} {F : Type u_2} {m d : ℕ} (K : ℕ) :
                PhysReg I F m d K × PhysReg I F m d K ≃ ((I × I) × PadAnc F m d K) × (I × I) × PadAnc F m d K

                The regrouping of the physical registers as the three pairs ((A'', B''), Ea) and ((A', B'), Eb), along which the physical state is a product.

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

                  The physical state, read along physSplit, is the product of the two pairs and the padding vector.

                  theorem MIPRE.QLD.norm_physE {I : Type u_1} [Fintype I] [DecidableEq I] {F : Type u_2} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} [Nonempty I] {K : ℕ} :
                  ‖evec (physE I F m d K)‖ = 1

                  The physical state is a unit vector.

                  The mirror identities of the two pairs #

                  theorem MIPRE.QLD.physE_mulVec_mirror_A {I : Type u_1} [Fintype I] [DecidableEq I] {F : Type u_2} [Field F] [Fintype F] [DecidableEq F] {m d K : ℕ} (P : Matrix I I ℂ) (Q : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℂ) :
                  (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P)) Q).mulVec (physE I F m d K) = (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1) Q).mulVec (physE I F m d K)

                  The mirror identity of the first player's pair, on the registers: an operator P on the near half A' acts on the physical state as its transpose on the far half A'', whatever acts on the second player's registers.

                  theorem MIPRE.QLD.physE_mulVec_mirror_B {I : Type u_1} [Fintype I] [DecidableEq I] {F : Type u_2} [Field F] [Fintype F] [DecidableEq F] {m d K : ℕ} (Q : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℂ) (P : Matrix I I ℂ) :
                  (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) Q (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P))).mulVec (physE I F m d K) = (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) Q (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1)).mulVec (physE I F m d K)

                  The mirror identity of the second player's pair, on the registers: an operator P on the near half B' acts on the physical state as its transpose on the far half B'', whatever acts on the first player's registers.

                  The physical model and its first cut #

                  @[reducible, inline]
                  noncomputable abbrev MIPRE.QLD.phys {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                  BipartiteModel (Matrix (PhysReg I F m d K × PhysReg I F m d K) (PhysReg I F m d K × PhysReg I F m d K) 𝒞) (Matrix (PhysReg I F m d K) (PhysReg I F m d K) 𝒜) (Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℬ)

                  The physical model: N with each player's physical registers (A'', (Ea, A')) and (B'', (Eb, B')), in the physical state. The first player's operators are the matrices over 𝒜 on the first player's physical registers, the second's over ℬ on the second's.

                  Equations
                  Instances For
                    theorem MIPRE.QLD.physE_mirror_smulKron_A {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : 𝒜) (Y : ℬ) (P : Matrix I I ℂ) (Q : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℂ) :
                    ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron X (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P))) * (phys I F m d N K).πB (smulKron Y Q))) (phys I F m d N K).ψ = ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron X (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1)) * (phys I F m d N K).πB (smulKron Y Q))) (phys I F m d N K).ψ

                    The mirror identity of the first player's pair, in the physical model: an operator of the first player that acts as P on the near half A' acts on the state as the one that acts as Pᵀ on the far half A'', whatever the second player applies.

                    theorem MIPRE.QLD.physE_mirror_smulKron_B {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : 𝒜) (Y : ℬ) (Q : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℂ) (P : Matrix I I ℂ) :
                    ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron X Q) * (phys I F m d N K).πB (smulKron Y (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P))))) (phys I F m d N K).ψ = ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron X Q) * (phys I F m d N K).πB (smulKron Y (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1)))) (phys I F m d N K).ψ

                    The mirror identity of the second player's pair, in the physical model: an operator of the second player that acts as P on the near half B' acts on the state as the one that acts as Pᵀ on the far half B'', whatever the first player applies.

                    theorem MIPRE.QLD.physE_mirror_A {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (P : Matrix I I ℂ) :
                    ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P))))) (phys I F m d N K).ψ = ((phys I F m d N K).π ((phys I F m d N K).πA (smulKron 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1)))) (phys I F m d N K).ψ

                    The mirror identity of the first player's pair (reg_mirror for the physical model): a matrix P on the near half A' acts on the state as its transpose on the far half A''.

                    theorem MIPRE.QLD.physE_mirror_B {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (P : Matrix I I ℂ) :
                    ((phys I F m d N K).π ((phys I F m d N K).πB (smulKron 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) 1 P))))) (phys I F m d N K).ψ = ((phys I F m d N K).π ((phys I F m d N K).πB (smulKron 1 (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) P.transpose 1)))) (phys I F m d N K).ψ

                    The mirror identity of the second player's pair (reg_mirror for the physical model): a matrix P on the near half B' acts on the state as its transpose on the far half B''.

                    @[reducible, inline]
                    noncomputable abbrev MIPRE.QLD.cut1 {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                    BipartiteModel (Matrix (PhysReg I F m d K × PhysReg I F m d K) (PhysReg I F m d K × PhysReg I F m d K) 𝒞) (Matrix (PadAnc F m d K × I) (PadAnc F m d K × I) 𝒜) (Matrix (I × PhysReg I F m d K) (I × PhysReg I F m d K) ℬ)

                    The first cut, A A' Ea | B A'' Eb (B' B''): the reading of the physical state model that hands the first player's far half A'' to the second player. It has the physical model's space, state and representation; the first player's operators act on (Ea, A'), the second player's on (A'', (B'', (Eb, B'))).

                    Equations
                    Instances For
                      theorem MIPRE.QLD.cut1_πA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : Matrix (PadAnc F m d K × I) (PadAnc F m d K × I) 𝒜) :
                      (cut1 I F m d N K).πA X = (phys I F m d N K).πA (compHom (Matrix.diagonal fun (x : I) => X))

                      Reading lemma for the first player of the first cut: an operator X of (Ea, A') is the physical operator 1_{A''} ⊗ X.

                      theorem MIPRE.QLD.cut1_πB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (Y : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℬ) (Q : Matrix I I ℂ) :
                      (cut1 I F m d N K).πB (compHom (smulKron Y Q)) = (phys I F m d N K).πA (compHom (smulKron 1 Q)) * (phys I F m d N K).πB Y

                      Reading lemma for the second player of the first cut: an operator that is a product Q ⊗ Y of a matrix Q on the moved half A'' and an operator Y of the second player's physical registers is the product of the physical first-player operator Q ⊗ 1 and the physical second-player operator Y.

                      The stage-4 models in the first cut #

                      noncomputable def MIPRE.QLD.pair2 (I : Type u_4) [Fintype I] [DecidableEq I] :
                      Unit × I × I → ℂ

                      The second player's pair (B'', B'), adjoined to the padded model's registers with nothing for the first player.

                      Equations
                      Instances For
                        theorem MIPRE.QLD.norm_pair2 {I : Type u_4} [Fintype I] [DecidableEq I] [Nonempty I] :

                        The adjoined pair is a unit vector.

                        noncomputable def MIPRE.QLD.pairPadE (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [DecidableEq F] (m d K : ℕ) :
                        (Unit × PadAnc F m d K × I) × (I × I) × PadAnc F m d K × I → ℂ

                        The registers of the first cut before their regrouping: the first player's ((), (Ea, A')), the second player's ((B'', B'), (Eb, A'')), in the product of the adjoined pair and the flattened padded state.

                        Equations
                        Instances For
                          theorem MIPRE.QLD.pairPadE_apply {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [DecidableEq F] {m d K : ℕ} (q : (Unit × PadAnc F m d K × I) × (I × I) × PadAnc F m d K × I) :
                          pairPadE I F m d K q = pair2 I (q.1.1, q.2.1) * padE I F m d K (q.1.2, q.2.2)

                          The product condition of the associativity adjoining the second player's pair.

                          def MIPRE.QLD.cutRelabel (I : Type u_4) (F : Type u_5) (m d K : ℕ) :
                          I × PhysReg I F m d K ≃ (I × I) × PadAnc F m d K × I

                          The regrouping of the second player's registers of the first cut: (A'', (B'', (Eb, B'))) as ((B'', B'), (Eb, A'')).

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem MIPRE.QLD.physE_comp_moveEquiv_symm {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [DecidableEq F] {m d K : ℕ} (p : (PadAnc F m d K × I) × I × PhysReg I F m d K) :
                            (physE I F m d K ∘ ⇑(moveEquiv I (PadAnc F m d K × I) (PhysReg I F m d K)).symm) p = pairPadE I F m d K ((Equiv.punitProd (PadAnc F m d K × I)).symm p.1, (cutRelabel I F m d K) p.2)

                            The relabelling condition of the first cut: the physical state, read along the first cut, is the adjoined pair times the flattened padded state, regrouped.

                            noncomputable def MIPRE.QLD.j₁ {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) [Nonempty I] (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                            (padModel I F m d N K).Embedding (cut1 I F m d N K)

                            The padded model embeds in the first cut: flatten the padded registers (BipartiteModel.assocEmb), adjoin the second player's pair (BipartiteModel.inertEmb), flatten again, regroup the second player's registers (BipartiteModel.relabelEmb), and read the result as the first cut (BipartiteModel.recutEmb).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable def MIPRE.QLD.ι₁ {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) [Nonempty I] (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                              (N.reg I).Embedding (cut1 I F m d N K)

                              The register model embeds in the first cut: the padding registers in |t₀⟩ ⊗ |t₀⟩ (BipartiteModel.inertEmb), then j₁. Both runs of stage 4 carry the register state to the one physical state.

                              Equations
                              Instances For
                                @[simp]
                                theorem MIPRE.QLD.j₁_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} [Nonempty I] {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : Matrix (PadAnc F m d K) (PadAnc F m d K) (Matrix I I 𝒜)) :
                                (j₁ I F m d N K).ΦA X = compHom X

                                The first player's operators of the padded model, in the first cut: the flattening.

                                @[simp]
                                theorem MIPRE.QLD.ι₁_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} [Nonempty I] {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (Z : Matrix I I 𝒜) :
                                (ι₁ I F m d N K).ΦA Z = compHom (Matrix.diagonal fun (x : PadAnc F m d K) => Z)

                                The first player's register operators, in the first cut: an operator Z of A' acts as 1_{Ea} ⊗ Z.

                                @[simp]
                                theorem MIPRE.QLD.ι₁_ΦB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} [Nonempty I] {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (Z : Matrix I I ℬ) :
                                (ι₁ I F m d N K).ΦB Z = compHom (Z.map fun (y : ℬ) => Matrix.diagonal fun (x : PhysReg I F m d K) => y)

                                The second player's register operators, in the first cut: an operator Z of A'' acts as Z ⊗ 1 on (A'', (B'', (Eb, B'))).

                                Item 1's cut, and the exchange of the blocks #

                                @[reducible, inline]
                                noncomputable abbrev MIPRE.QLD.tgt {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                                BipartiteModel (Matrix (I × I) (I × I) (Matrix ((PadAnc F m d K × I) × PadAnc F m d K × I) ((PadAnc F m d K × I) × PadAnc F m d K × I) 𝒞)) (Matrix I I (Matrix (PadAnc F m d K × I) (PadAnc F m d K × I) 𝒜)) (Matrix I I (Matrix (PadAnc F m d K × I) (PadAnc F m d K × I) ℬ))

                                Item 1's cut (A A' Ea, B B' Eb) × (A'', B''): the extension of N by the padded registers (Ea, A') and (Eb, B'), with an EPR register (A'', B'') outside.

                                Equations
                                Instances For
                                  noncomputable def MIPRE.QLD.unassocIsometry {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                                  (phys I F m d N K).H →ₗᵢ[ℂ] (tgt I F m d N K).H

                                  The isometry of unassoc: a vector of the physical registers, read with the outer registers (A'', B'') of the two players outside and the inner ones ((Ea, A'), (Eb, B')) inside.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem MIPRE.QLD.ampl_unassocIsometry {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (w : (phys I F m d N K).H) (i : I × I) (q : (PadAnc F m d K × I) × PadAnc F m d K × I) :
                                    ((N.ampl (padE I F m d K)) ((((N.expand (padE I F m d K)).ampl (Introspection.registerEPR I)) ((unassocIsometry I F m d N K) w)).ofLp i)).ofLp q = ((N.ampl (physE I F m d K)) w).ofLp ((i.1, q.1), i.2, q.2)

                                    The components of unassocIsometry.

                                    theorem MIPRE.QLD.assoc_W_unassocIsometry {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (w : (phys I F m d N K).H) :
                                    (N.assoc (padE I F m d K) (Introspection.registerEPR I) (physE I F m d K)).W ((unassocIsometry I F m d N K) w) = w

                                    The associativity of item 1's cut undoes unassocIsometry.

                                    noncomputable def MIPRE.QLD.unassoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                                    (phys I F m d N K).LocalIsometry (tgt I F m d N K)

                                    The physical registers regrouped as item 1's cut: the inverse of the associativity BipartiteModel.assoc of item 1's cut, with no state condition --- the two cuts hold different pairs, so it does not carry the physical state to the state of item 1's cut, and it is read on a transported state (LocalIsometry.bornProb_withState).

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[simp]
                                      theorem MIPRE.QLD.unassoc_W {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (w : (phys I F m d N K).H) :
                                      (unassoc I F m d N K).W w = (unassocIsometry I F m d N K) w
                                      @[simp]
                                      theorem MIPRE.QLD.unassoc_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : Matrix (PhysReg I F m d K) (PhysReg I F m d K) 𝒜) :
                                      (unassoc I F m d N K).ΦA X = uncompHom X

                                      The first player's physical operators, in item 1's cut: the block matrices over A''.

                                      @[simp]
                                      theorem MIPRE.QLD.unassoc_ΦB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (Y : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℬ) :
                                      (unassoc I F m d N K).ΦB Y = uncompHom Y

                                      The second player's physical operators, in item 1's cut: the block matrices over B''.

                                      noncomputable def MIPRE.QLD.blockSwapIso {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (I : Type u_4) [Fintype I] [DecidableEq I] (F : Type u_5) [Field F] [Fintype F] [DecidableEq F] (m d : ℕ) (N : BipartiteModel 𝒞 𝒜 ℬ) (K : ℕ) :
                                      (phys I F m d N.swap K).Iso (phys I F m d N K).swap

                                      The exchange of the blocks: the physical model of N.swap is the physical model of N with the players exchanged, by the unitary exchanging the two blocks of registers (BipartiteModel.swapExpand), which fixes the physical state (physE_symm). The players' algebras are the same on both sides and the isomorphism is the identity on them, so the second player's objects of one are the first player's of the other.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem MIPRE.QLD.blockSwapIso_ΦA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (X : Matrix (PhysReg I F m d K) (PhysReg I F m d K) ℬ) :
                                        (blockSwapIso I F m d N K).ΦA X = X
                                        @[simp]
                                        theorem MIPRE.QLD.blockSwapIso_ΦB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (Y : Matrix (PhysReg I F m d K) (PhysReg I F m d K) 𝒜) :
                                        (blockSwapIso I F m d N K).ΦB Y = Y
                                        theorem MIPRE.QLD.ampl_blockSwapIso_W {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {I : Type u_4} [Fintype I] [DecidableEq I] {F : Type u_5} [Field F] [Fintype F] [DecidableEq F] {m d : ℕ} {N : BipartiteModel 𝒞 𝒜 ℬ} {K : ℕ} (w : (phys I F m d N.swap K).H) (p : PhysReg I F m d K × PhysReg I F m d K) :
                                        ((N.ampl (physE I F m d K)) ((blockSwapIso I F m d N K).W w)).ofLp p = ((N.swap.ampl (physE I F m d K)) w).ofLp p.swap

                                        The unitary of blockSwapIso exchanges the two blocks of registers.