Documentation

MIPRE.Background.LIDT.Co.Doubling.Model

The doubled model of a finite pair #

The vendored low-individual-degree core assumes a state fixed by the swap of two identical tensor factors. The port supplies that symmetry for any finite pair M by doubling it (reports/c6b-paper-proofs.md, §4; planning/c6b-plan.md, M2): the doubled model D(M) acts on H ⊕ H, its first player by u ⊕ v and its second by v ⊕ u, its state is (ψ, ψ)/√2, and the flip (ξ, η) ↦ (η, ξ) fixes the state and exchanges the players. This file builds it as a symmetric model of the port (SymModel, Co/Basic/QuantumState.lean) and proves the formulas that later stages read through it; Co/Doubling/FinitePair.lean shows that it is again a finite pair, and Co/Doubling/Halving.lean relates its quantities to those of M.

The local algebra. The report states D(M) over the abstract product 𝒜 × ℬ; a symmetric model needs a C⋆-algebra. So the local algebra is Loc M = LocA M × LocB M, where LocA M is the commutant of the second player's operators of M and LocB M the commutant of the first player's: closed ⋆-subalgebras of B(H), so C⋆-algebras, star-ordered with the operator order (MIPRE/Foundations/FinitePairOrder.lean). In a finite pair they are the players' operators, and 𝒜 ≃⋆ₐ LocA M, ℬ ≃⋆ₐ LocB M preserve and reflect the order (IsFinitePair.equivA, IsFinitePair.equivB); Co/Doubling/FinitePair.lean assembles them into 𝒜 × ℬ ≃⋆ₐ Loc M.

The model (Doubling.model M hM hψ): K = Ampl (Fin 2) M.H = H ⊕ H, Ψ = halfVec ψ, L (a, b) = a ⊕ b (model_L), J = flip2, so that R (a, b) = b ⊕ a (model_R). The two placements commute because in a finite pair LocA M and LocB M are the two players' operators, which commute (commute_locA_locB); this is the only place the finite-pair hypothesis enters the definition.

Formulas (Lemmas 2 and 5 of the report, Theorem C):

The local algebra and the placement #

@[reducible, inline]
abbrev MIPRE.LIDT.Co.Doubling.LocA {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
Type u_4

The first player's block of the doubled local algebra: the commutant of the second player's operators of M (in a finite pair, the first player's operators).

Equations
Instances For
    @[reducible, inline]
    abbrev MIPRE.LIDT.Co.Doubling.LocB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
    Type u_4

    The second player's block of the doubled local algebra: the commutant of the first player's operators of M (in a finite pair, the second player's operators).

    Equations
    Instances For
      @[reducible, inline]
      abbrev MIPRE.LIDT.Co.Doubling.Loc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
      Type u_4

      The local algebra of the doubled model, LocA M × LocB M: a C⋆-algebra, star-ordered componentwise with the operator order.

      Equations
      Instances For

        The structure of Loc M is that of a C⋆-algebra; the shortcut instances below make every synthesis of its ring, star and algebra structure go through CStarAlgebra (Loc M), the path the symmetric model SymModel (Loc M) _ and its bipartite model are stated with, rather than through the product, so that the two need no unfolding to be compared.

        @[instance_reducible, instance 10000]
        noncomputable instance MIPRE.LIDT.Co.Doubling.instCStarAlgebraLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The doubled local algebra is a C⋆-algebra (shortcut).

        Equations
        @[instance_reducible, instance 10000]
        noncomputable instance MIPRE.LIDT.Co.Doubling.instRingLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
        Ring (Loc M)

        The ring structure of the doubled local algebra, through its C⋆-algebra structure (shortcut).

        Equations
        @[instance_reducible, instance 10000]
        noncomputable instance MIPRE.LIDT.Co.Doubling.instStarRingLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The star structure of the doubled local algebra, through its C⋆-algebra structure (shortcut).

        Equations
        @[instance_reducible, instance 10000]
        noncomputable instance MIPRE.LIDT.Co.Doubling.instAlgebraLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The complex algebra structure of the doubled local algebra, through its C⋆-algebra structure (shortcut).

        Equations
        @[instance_reducible, instance 10000]
        noncomputable instance MIPRE.LIDT.Co.Doubling.instPartialOrderLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The order of the doubled local algebra: componentwise (shortcut).

        Equations
        @[instance 10000]
        instance MIPRE.LIDT.Co.Doubling.instStarOrderedRingLoc {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The doubled local algebra is star-ordered (shortcut).

        noncomputable def MIPRE.LIDT.Co.Doubling.fstOp {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

        The first block of an element of the doubled local algebra, as an operator.

        Equations
        Instances For
          noncomputable def MIPRE.LIDT.Co.Doubling.sndOp {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

          The second block of an element of the doubled local algebra, as an operator.

          Equations
          Instances For
            noncomputable def MIPRE.LIDT.Co.Doubling.locL {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :

            The first placement of the doubled model, (a, b) ↦ a ⊕ b, a unital ⋆-homomorphism.

            Equations
            Instances For
              theorem MIPRE.LIDT.Co.Doubling.locL_apply {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) (x : Loc M) :
              (locL M) x = OperatorMatrix.diag2 (↑x.1, ↑x.2)

              The first placement of (a, b) is a ⊕ b.

              theorem MIPRE.LIDT.Co.Doubling.commute_locA_locB {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (a : LocA M) (b : LocB M) :
              Commute ↑a ↑b

              In a finite pair the two blocks commute: LocA M is the first player's operators, and LocB M commutes with them.

              noncomputable def MIPRE.LIDT.Co.Doubling.model {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) :

              The doubled model D(M) of a finite pair with a unit state (reports/c6b-paper-proofs.md, §4.1): on H ⊕ H, with the state (ψ, ψ)/√2, the first placement (a, b) ↦ a ⊕ b of Loc M = LocA M × LocB M, and the flip of the two copies.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem MIPRE.LIDT.Co.Doubling.model_Ψ {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) :

                The state of the doubled model is the half vector (ψ, ψ)/√2.

                theorem MIPRE.LIDT.Co.Doubling.model_L {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x : Loc M) :
                (model hM hψ).L x = OperatorMatrix.diag2 (↑x.1, ↑x.2)

                The first placement of the doubled model: L (a, b) = a ⊕ b.

                theorem MIPRE.LIDT.Co.Doubling.model_R {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x : Loc M) :
                (model hM hψ).R x = OperatorMatrix.diag2 (↑x.2, ↑x.1)

                The second placement of the doubled model: R (a, b) = b ⊕ a.

                Expectations #

                theorem MIPRE.LIDT.Co.Doubling.ev_diag2 {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (c : (M.H →L[ℂ] M.H) × (M.H →L[ℂ] M.H)) :
                (model hM hψ).ev (OperatorMatrix.diag2 c) = 2⁻¹ * (Op.qform M.ψ c.1 + Op.qform M.ψ c.2)

                The state formula (Lemma 2 of reports/c6b-paper-proofs.md, §4.3): the expectation of a block-diagonal operator is the average of its blocks' expectations at ψ.

                theorem MIPRE.LIDT.Co.Doubling.ev_L {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x : Loc M) :
                (model hM hψ).ev ((model hM hψ).L x) = 2⁻¹ * (Op.qform M.ψ ↑x.1 + Op.qform M.ψ ↑x.2)

                The expectation of the first placement is the average of the blocks' expectations.

                theorem MIPRE.LIDT.Co.Doubling.ev_R {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x : Loc M) :
                (model hM hψ).ev ((model hM hψ).R x) = 2⁻¹ * (Op.qform M.ψ ↑x.1 + Op.qform M.ψ ↑x.2)

                The expectation of the second placement is the average of the blocks' expectations.

                theorem MIPRE.LIDT.Co.Doubling.L_mul_R {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x y : Loc M) :
                (model hM hψ).L x * (model hM hψ).R y = OperatorMatrix.diag2 (↑x.1 * ↑y.2, ↑y.1 * ↑x.2)

                The product of the two placements is block diagonal: L x R y = (x₁ y₂) ⊕ (y₁ x₂).

                theorem MIPRE.LIDT.Co.Doubling.inner_L_mul_R {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x y : Loc M) :
                inner ℂ (model hM hψ).Ψ (((model hM hψ).L x * (model hM hψ).R y) (model hM hψ).Ψ) = 2⁻¹ * (inner ℂ M.ψ ((↑x.1 * ↑y.2) M.ψ) + inner ℂ M.ψ ((↑y.1 * ↑x.2) M.ψ))

                The role average (Theorem C, Lemma 5 of reports/c6b-paper-proofs.md, §4): ⟪Ψ, L x R y Ψ⟫ = ½ (⟪ψ, x₁ y₂ ψ⟫ + ⟪ψ, y₁ x₂ ψ⟫).

                theorem MIPRE.LIDT.Co.Doubling.ev_L_mul_R {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x y : Loc M) :
                (model hM hψ).ev ((model hM hψ).L x * (model hM hψ).R y) = 2⁻¹ * (Op.qform M.ψ (↑x.1 * ↑y.2) + Op.qform M.ψ (↑y.1 * ↑x.2))

                The role average, for the expectation: ev (L x R y) = ½ (⟨x₁ y₂⟩ + ⟨y₁ x₂⟩).

                theorem MIPRE.LIDT.Co.Doubling.bornProb_model {𝒞 : Type u_1} {𝒜 : Type u_2} {ℬ : Type u_3} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] {M : BipartiteModel 𝒞 𝒜 ℬ} (hM : M.IsFinitePair) (hψ : ‖M.ψ‖ = 1) (x y : Loc M) :
                (model hM hψ).toBipartite.bornProb x y = 2⁻¹ * (Op.qform M.ψ (↑x.1 * ↑y.2) + Op.qform M.ψ (↑y.1 * ↑x.2))

                The Born probability of the doubled model is the average of the operator Born probabilities of the two role assignments.