Physicslib4.Operators.DensityTheorem

The von Neumann density theorem #

For a unital *-algebra homomorphism ρ : 𝔄 →⋆ₐ[β„‚] (E β†’L[β„‚] E) on a complex Hilbert space E, every element of the bicommutant ρ(𝔄)'' is a strong limit of elements of ρ(𝔄). This file proves the ingredients: the one-vector case (for T ∈ ρ(𝔄)'' and ΞΎ ∈ E, T ΞΎ lies in the closure of ρ(𝔄) ΞΎ), the diagonal amplification ρ^ΞΉ on β„“Β²(ΞΉ; E), and the fact that diag(T) ∈ (ρ^ΞΉ(𝔄))'' for a finite index type ΞΉ. The commutant is Set.centralizer, as in Physicslib4/AQFT/HaagKastler/LocalVonNeumann.lean.

Blueprint reference: lmm:cyclic-subspace-reduces, lmm:bicommutant-single-vector, def:finite-amplification, lmm:commutant-of-amplification-entries, lmm:amplification-block-expansion, lmm:diagonal-in-amplified-bicommutant.

Supporting lemmas #

theorem Physicslib4.starProjection_cyclic_mem_centralizer {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) (ΞΎ : E) :
(Submodule.span β„‚ (Set.range fun (a : 𝔄) => (ρ a) ΞΎ)).topologicalClosure.starProjection ∈ (Set.range ⇑ρ).centralizer

The cyclic subspace of a vector reduces the representation. The orthogonal projection onto the closed subspace closure (ρ(𝔄) ΞΎ) commutes with every ρ a.

Blueprint reference: lmm:cyclic-subspace-reduces.

theorem Physicslib4.apply_mem_closure_of_mem_bicommutant {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) {T : E β†’L[β„‚] E} (hT : T ∈ (Set.range ⇑ρ).centralizer.centralizer) (ΞΎ : E) :
T ΞΎ ∈ closure (Set.range fun (a : 𝔄) => (ρ a) ΞΎ)

The bicommutant moves a vector within its cyclic subspace. For T ∈ ρ(𝔄)'' and ΞΎ ∈ E, T ΞΎ lies in the closure of ρ(𝔄) ΞΎ; unitality of ρ puts ΞΎ itself in that closure.

Blueprint reference: lmm:bicommutant-single-vector.

The amplification of a representation #

For an index type ΞΉ, the amplification ρ^ΞΉ acts on β„“Β²(ΞΉ; E) by the diagonal operator diag(ρ a, ρ a, …). Every copy is bounded by ‖ρ aβ€–, so no norm on 𝔄 is needed (unlike Physicslib4.GNS.directSum, which bounds different representations through a C*-norm). Finite index types are used for the density theorem.

noncomputable def Physicslib4.ampDiag {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] (ΞΉ : Type u_3) (T : E β†’L[β„‚] E) :
β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)

The diagonal operator diag(T, T, …) on β„“Β²(ΞΉ; E).

Blueprint reference: def:finite-amplification.

Equations
Instances For
    @[simp]
    theorem Physicslib4.ampDiag_apply_coe {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] (ΞΉ : Type u_3) (T : E β†’L[β„‚] E) (x : β†₯(lp (fun (x : ΞΉ) => E) 2)) (i : ΞΉ) :
    ↑((ampDiag ΞΉ T) x) i = T (↑x i)
    noncomputable def Physicslib4.diagAmplification {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] (ΞΉ : Type u_3) (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) :
    𝔄 →⋆ₐ[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)

    The amplification ρ^ΞΉ of a unital *-representation ρ on β„“Β²(ΞΉ; E): ρ^ΞΉ(a) = diag(ρ a, ρ a, …).

    Blueprint reference: def:finite-amplification, lmm:finite-amplification-star-hom.

    Equations
    Instances For
      @[simp]
      theorem Physicslib4.diagAmplification_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] (ΞΉ : Type u_3) (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) (a : 𝔄) :
      (diagAmplification ι ρ) a = ampDiag ι (ρ a)
      noncomputable def Physicslib4.toLp2 {E : Type u_1} [NormedAddCommGroup E] {ΞΉ : Type u_3} [Finite ΞΉ] (ΞΎ : ΞΉ β†’ E) :
      β†₯(lp (fun (x : ΞΉ) => E) 2)

      A finite family of vectors as an element of β„“Β²(ΞΉ; E).

      Equations
      Instances For
        @[simp]
        theorem Physicslib4.toLp2_apply {E : Type u_1} [NormedAddCommGroup E] {ΞΉ : Type u_3} [Finite ΞΉ] (ΞΎ : ΞΉ β†’ E) (i : ΞΉ) :
        ↑(toLp2 ΞΎ) i = ΞΎ i

        Block entries and the diagonal of the bicommutant #

        noncomputable def Physicslib4.blockEntry {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] {ΞΉ : Type u_3} [DecidableEq ΞΉ] (S : β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)) (j k : ΞΉ) :

        The block entry S_{jk} = (coordinate j) ∘ S ∘ (inclusion k) of an operator on β„“Β²(ΞΉ; E).

        Blueprint reference: lmm:commutant-of-amplification-entries.

        Equations
        Instances For
          theorem Physicslib4.blockEntry_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] {ΞΉ : Type u_3} [DecidableEq ΞΉ] (S : β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)) (j k : ΞΉ) (v : E) :
          (blockEntry S j k) v = ↑(S (lp.single 2 k v)) j
          theorem Physicslib4.blockEntry_mem_centralizer {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] {ΞΉ : Type u_3} [DecidableEq ΞΉ] (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) {S : β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)} (hS : S ∈ (Set.range ⇑(diagAmplification ΞΉ ρ)).centralizer) (j k : ΞΉ) :

          The block entries of an operator commuting with the amplification commute with ρ.

          Blueprint reference: lmm:commutant-of-amplification-entries.

          theorem Physicslib4.apply_eq_sum_blockEntry {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] {ΞΉ : Type u_3} [DecidableEq ΞΉ] [Fintype ΞΉ] (S : β†₯(lp (fun (x : ΞΉ) => E) 2) β†’L[β„‚] β†₯(lp (fun (x : ΞΉ) => E) 2)) (x : β†₯(lp (fun (x : ΞΉ) => E) 2)) (j : ΞΉ) :
          ↑(S x) j = βˆ‘ k : ΞΉ, (blockEntry S j k) (↑x k)

          Block expansion. On a finite index type, (S x)_j = βˆ‘β‚– S_{jk} (x k).

          Blueprint reference: lmm:amplification-block-expansion.

          theorem Physicslib4.ampDiag_mem_bicommutant {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] {ΞΉ : Type u_3} [Finite ΞΉ] (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) {T : E β†’L[β„‚] E} (hT : T ∈ (Set.range ⇑ρ).centralizer.centralizer) :

          The diagonal of a bicommutant element lies in the amplified bicommutant. If T ∈ ρ(𝔄)'', then diag(T, …, T) ∈ (ρ^ΞΉ(𝔄))'' for a finite index type ΞΉ.

          Blueprint reference: lmm:diagonal-in-amplified-bicommutant.

          Finitely many vectors at once #

          theorem Physicslib4.exists_forall_norm_sub_lt_of_mem_bicommutant {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace β„‚ E] [CompleteSpace E] {𝔄 : Type u_2} [Ring 𝔄] [StarRing 𝔄] [Algebra β„‚ 𝔄] (ρ : 𝔄 →⋆ₐ[β„‚] E β†’L[β„‚] E) {T : E β†’L[β„‚] E} (hT : T ∈ (Set.range ⇑ρ).centralizer.centralizer) {s : Set E} (hs : s.Finite) {Ξ΅ : ℝ} (hΞ΅ : 0 < Ξ΅) :
          βˆƒ (a : 𝔄), βˆ€ x ∈ s, β€–T x - (ρ a) xβ€– < Ξ΅

          Finitely many vectors at once. For T ∈ ρ(𝔄)'', a finite set s of vectors and Ξ΅ > 0, some a has β€–T x - ρ a xβ€– < Ξ΅ for every x ∈ s. (Apply the one-vector case to the amplification over s, to diag(T) and to the family s β†ͺ E.)

          Blueprint reference: lmm:bicommutant-finite-vectors.