Imports
/-
Copyright (c) 2026 Gregory J. Loges. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Gregory J. Loges
-/
module
public import Mathlib.Analysis.InnerProductSpace.Adjoint
public import Mathlib.MeasureTheory.VectorMeasure.BasicSpectral measures
i. Overview
A spectral measure μS on a measurable space α is a σ-additive function Set α → H →L[ℂ] H
such that each set is mapped to a star projection on H, the empty set and non-measurable sets are
mapped to zero, and univ is mapped to the identity.
This is implemented as a structure extending VectorMeasure α (H →L[ℂ] H) with additional fields
constraining μS A to be a star projection for each set A and μS univ = 1.
For each x : H there is an associated measure μₓ given by μₓ A = ‖μS A x‖² = ⟪x, μS A x⟫ ≤ 1.
ii. Key results
SpectralMeasure : A star projection-valued measure.
comp_eq_of_inter : For a spectral measure μS and measurable sets A and B,
the composition μS A ∘ μS B = μS (A ∩ B).
iii. Table of contents
A. Definition
B. Composition
iv. References
@[expose] public sectioninstance (H : Type*) [SeminormedAddCommGroup H] [InnerProductSpace ℂ H] :
IsAddTorsionFree (H →L[ℂ] H) where
nsmul_right_injective n hn := H:Type u_1inst✝¹:SeminormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hn:ℕhn:n ≠ 0⊢ Function.Injective fun a => n • a
H:Type u_1inst✝¹:SeminormedAddCommGroup Hinst✝:InnerProductSpace ℂ Hn:ℕhn:n ≠ 0x:H →L[ℂ] H⊢ (fun f => (↑n)⁻¹ • f) ((fun a => n • a) x) = x
All goals completed! 🐙A. Definition
A spectral measure on a measurable space α is a σ-additive function Set α → H →L[ℂ] H
such that each set is mapped to a star projection on H, the empty set and non-measurable sets
are mapped to zero, and univ is mapped to the identity.
structure SpectralMeasure
(α : Type*) [MeasurableSpace α]
(H : Type*) [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]
extends VectorMeasure α (H →L[ℂ] H) where
isStarProjection' : ∀ A, IsStarProjection (measureOf' A)
univ' : measureOf' univ = 1attribute [coe] toVectorMeasureinstance instCoeVectorMeasure : Coe (SpectralMeasure α H) (VectorMeasure α (H →L[ℂ] H)) :=
⟨toVectorMeasure⟩instance instCoeFun : CoeFun (SpectralMeasure α H) fun _ ↦ Set α → H →L[ℂ] H :=
⟨fun μS ↦ ⇑μS.toVectorMeasure⟩lemma isStarProjection (A : Set α) : IsStarProjection (μS A) := μS.isStarProjection' A@[simp]
lemma univ : μS univ = 1 := μS.univ'B. Composition
@[simp]
lemma comp_self (A : Set α) : μS A ∘L μS A = μS A := (μS.isStarProjection A).isIdempotentElemα:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αh:Disjoint A BhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS A ∘SL ↑μS (A ∪ B) = ↑μS A
refine (IsStarProjection.sub_iff_mul_eq_left (μS.isStarProjection A)
(μS.isStarProjection (A ∪ B))).mp ?_ α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αh:Disjoint A BhA:MeasurableSet AhB:MeasurableSet B⊢ IsStarProjection (↑μS (A ∪ B) - ↑μS A)
simpa [μS.of_union h hA hB] using μS.isStarProjection B All goals completed! 🐙
lemma comp_eq_of_inter {A B : Set α} (hA : MeasurableSet A) (hB : MeasurableSet B) :
μS A ∘L μS B = μS (A ∩ B) := by α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS A ∘SL ↑μS B = ↑μS (A ∩ B)
nth_rw 1 [← inter_union_sdiff B A, α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS A ∘SL ↑μS (B ∩ A ∪ B \ A) = ↑μS (A ∩ B) ← inter_union_sdiff A B α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (A ∩ B ∪ A \ B) ∘SL ↑μS (B ∩ A ∪ B \ A) = ↑μS (A ∩ B)] α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (A ∩ B ∪ A \ B) ∘SL ↑μS (B ∩ A ∪ B \ A) = ↑μS (A ∩ B)
simp only [μS.of_union, hA.inter hB, hB.inter hA, hA.diff hB, hB.diff hA,
disjoint_sdiff_inter.symm, add_comp, comp_add] α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (A ∩ B) ∘SL ↑μS (B ∩ A) + ↑μS (A \ B) ∘SL ↑μS (B ∩ A) +
(↑μS (A ∩ B) ∘SL ↑μS (B \ A) + ↑μS (A \ B) ∘SL ↑μS (B \ A)) =
↑μS (A ∩ B)
rw [inter_comm B A, α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (A ∩ B) ∘SL ↑μS (A ∩ B) + ↑μS (A \ B) ∘SL ↑μS (A ∩ B) +
(↑μS (A ∩ B) ∘SL ↑μS (B \ A) + ↑μS (A \ B) ∘SL ↑μS (B \ A)) =
↑μS (A ∩ B) α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A) μS.comp_of_disjoint disjoint_sdiff_inter (hA.diff hB) (hA.inter hB), α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (A ∩ B) ∘SL ↑μS (A ∩ B) + 0 + (↑μS (A ∩ B) ∘SL ↑μS (B \ A) + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (A ∩ B) α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A)
inter_comm A B, α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (↑μS (B ∩ A) ∘SL ↑μS (B \ A) + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A) α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A) μS.comp_of_disjoint disjoint_sdiff_inter.symm (hB.inter hA) (hB.diff hA) α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A) α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A)] α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhA:MeasurableSet AhB:MeasurableSet B⊢ ↑μS (B ∩ A) ∘SL ↑μS (B ∩ A) + 0 + (0 + ↑μS (A \ B) ∘SL ↑μS (B \ A)) = ↑μS (B ∩ A)
simp [μS.comp_of_disjoint disjoint_sdiff_sdiff (hA.diff hB) (hB.diff hA)] All goals completed! 🐙lemma commute (A B : Set α) : Commute (μS A) (μS B) := by α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set α⊢ Commute (↑μS A) (↑μS B)
by_cases hAB : MeasurableSet A ∧ MeasurableSet B pos α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:MeasurableSet A ∧ MeasurableSet B⊢ Commute (↑μS A) (↑μS B)neg α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)⊢ Commute (↑μS A) (↑μS B)
· pos α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:MeasurableSet A ∧ MeasurableSet B⊢ Commute (↑μS A) (↑μS B) simp [commute_iff_eq, mul_def, comp_eq_of_inter, hAB, inter_comm] All goals completed! 🐙
· neg α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)⊢ Commute (↑μS A) (↑μS B) rcases not_and_or.mp hAB with hA | hB neg.inl α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)hA:¬MeasurableSet A⊢ Commute (↑μS A) (↑μS B)neg.inr α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)hB:¬MeasurableSet B⊢ Commute (↑μS A) (↑μS B) <;> neg.inl α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)hA:¬MeasurableSet A⊢ Commute (↑μS A) (↑μS B)neg.inr α:Type u_1inst✝³:MeasurableSpace αH:Type u_2inst✝²:NormedAddCommGroup Hinst✝¹:InnerProductSpace ℂ Hinst✝:CompleteSpace HμS:SpectralMeasure α HA:Set αB:Set αhAB:¬(MeasurableSet A ∧ MeasurableSet B)hB:¬MeasurableSet B⊢ Commute (↑μS A) (↑μS B) simp [*] All goals completed! 🐙