Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The Lean 4 theorem `repState_star_mul_self` in the `?` chapter of the timepiece formalization

Definition
ChapterAbelianCyclicModel

by leonardopedro · Oct 17, 2026 · Mathlib 0df444a (Lean v4.33.1)

definitionsformalizationtimepiece

Formal definitions for the timepiece Lean 4 formalization (source chapter BookProof/ChapterAbelianCyclicModel.lean): generated def bundle for ChapterAbelianCyclicModel. See BookProof/ChapterAbelianCyclicModel.lean for full context.

Definition code
import Theorems.Thm_BookProof_ChapterAbelianGelfandModel_integral_stateMeasure

import Definitions.Def_ChapterAbelianGelfandModel
import Mathlib


/-!
# Abelian algebras with a cyclic vector: the multiplication model (plan GAP-2)

`ChapterSpectralMultiplication` proves the multiplication model for a **singly
generated** abelian algebra: a normal operator `T` with a cyclic unit vector is
multiplication by `z` on `L²(μ)`.  The obstruction recorded there — and in
`BookProof/STATUS.md` — was the passage from a singly generated abelian algebra to
an *arbitrary* one, which the classical theory obtains by producing a single
generator.

This module removes the need for a generator.  The whole argument of
`ChapterSpectralMultiplication` is carried out for an **arbitrary unital
`*`-representation** `π : C(X, ℂ) →⋆ₐ[ℂ] (H →L[ℂ] H)` of the continuous functions on
a compact Hausdorff space, with a cyclic unit vector `ξ`:

* `repState` — `f ↦ ⟪ξ, π(f) ξ⟫` is a state of `C(X, ℂ)`; positivity is
  `⟪ξ, π(f̄f)ξ⟫ = ‖π(f)ξ‖²`, which uses only that `π` preserves products and stars
  (no continuity of `π` is assumed anywhere in this file);
* `repMeasure` — its Riesz measure, a regular Borel probability measure on `X`, with
  `integral_repMeasure : ⟪ξ, π(f)ξ⟫ = ∫ f dμ`;
* `norm_rep_apply` — the isometry `‖π(f)ξ‖ = ‖f‖_{L²(μ)}`;
* `cyclicRepUnitary` — hence `f ↦ π(f)ξ` extends to a **unitary**
  `U : L²(μ) ≃ₗᵢ[ℂ] H`;
* `cyclicRepUnitary_intertwines` and HEADLINE
  `cyclic_representation_multiplication_model` — `U` conjugates multiplication by
  `g` on `L²(μ)` into `π(g)`, for *every* continuous symbol `g` simultaneously.

Composing with Gelfand duality gives the form the classification programme needs
(`abelian_algebra_multiplication_model`): **every representation of a commutative
unital C\*-algebra `A` on a Hilbert space with a cyclic unit vector is unitarily
equivalent to the representation of `A` by multiplication operators on the `L²`
space of a Borel probability measure on the character space of `A`** — no
generator, no separability, no normality of a distinguished element.

Everything is `sorry`-free and `axiom`-free.
-/

open MeasureTheory Complex WeakDual
open scoped ComplexOrder

namespace BookProof.ChapterAbelianCyclicModel

open BookProof.ChapterAbelianGelfandModel

section Rep

variable {X : Type*} [TopologicalSpace X] [CompactSpace X] [T2Space X]
  [MeasurableSpace X] [BorelSpace X]
variable {H : Type*} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]
variable (pi : C(X, ℂ) →⋆ₐ[ℂ] (H →L[ℂ] H)) (xi : H)

/-! ## 1. The vector state of a representation -/

/-- **The vector state** `f ↦ ⟪ξ, π(f) ξ⟫` of a representation at a vector. -/
noncomputable def repState : C(X, ℂ) →ₗ[ℂ] ℂ where
  toFun f := inner ℂ xi (pi f xi)
  map_add' f g := by simp
  map_smul' c f := by simp

omit [T2Space X] [MeasurableSpace X] [BorelSpace X] in
@[simp] theorem repState_apply (f : C(X, ℂ)) :
    repState pi xi f = inner ℂ xi (pi f xi) := rfl

omit [T2Space X] [MeasurableSpace X] [BorelSpace X] in
/-- `⟪ξ, π(f̄f)ξ⟫ = ‖π(f)ξ‖²`: the vector state is **positive**. -/
theorem repState_star_mul_self (f : C(X, ℂ)) :
    repState pi xi (star f * f) = ((‖pi f xi‖ : ℝ) ^ 2 : ℂ) := by
  have h1 : pi (star f * f) = star (pi f) * pi f := by rw [map_mul, map_star]
  have h2 : ((star (pi f) * pi f) xi)
      = ContinuousLinearMap.adjoint (pi f) ((pi f) xi) := by
    simp [ContinuousLinearMap.star_eq_adjoint]
  simp only [repState_apply, h1, h2, ContinuousLinearMap.adjoint_inner_right]
  rw [inner_self_eq_norm_sq_to_K]
  norm_cast

omit [T2Space X] [MeasurableSpace X] [BorelSpace X] in
theorem repState_pos (f : C(X, ℂ)) : 0 ≤ repState pi xi (star f * f) := by
  rw [repState_star_mul_self]
  simp [Complex.zero_le_real]



/-! ## 2. The measure of the representation -/

/-- **The measure of the representation at `ξ`**: the Riesz measure of the vector
state, a regular Borel measure on `X`. -/
noncomputable def repMeasure : Measure X :=
  stateMeasure (repState pi xi) (repState_pos pi xi)

instance instIsFiniteMeasureRepMeasure : IsFiniteMeasure (repMeasure pi xi) := by
  unfold repMeasure
  infer_instance

instance instRegularRepMeasure : (repMeasure pi xi).Regular := by
  unfold repMeasure
  infer_instance





/-! ## 3. The isometry `f ↦ π(f)ξ` -/

/-- The linear map `f ↦ π(f)ξ` from continuous functions to `H`. -/
noncomputable def repVec : C(X, ℂ) →ₗ[ℂ] H where
  toFun f := pi f xi
  map_add' f g := by simp
  map_smul' c f := by simp

omit [T2Space X] [MeasurableSpace X] [BorelSpace X] in
@[simp] theorem repVec_apply (f : C(X, ℂ)) : repVec pi xi f = pi f xi := rfl

/-- **The key isometry**: `‖π(f)ξ‖` is the `L²(μ)` norm of `f`. -/
theorem norm_rep_apply (f : C(X, ℂ)) :
    ‖pi f xi‖ = ‖ContinuousMap.toLp 2 (repMeasure pi xi) ℂ f‖ := by
  set mu := repMeasure pi xi with hmu
  have hL : ((‖pi f xi‖ : ℝ) ^ 2 : ℂ) = ∫ x, (starRingEnd ℂ) (f x) * f x ∂mu := by
    rw [← repState_star_mul_self pi xi f]
    have h := integral_stateMeasure (repState pi xi) (repState_pos pi xi) (star f * f)
    rw [h]
    rfl
  have hR : ((‖ContinuousMap.toLp 2 mu ℂ f‖ : ℝ) ^ 2 : ℂ)
      = ∫ x, (starRingEnd ℂ) (f x) * f x ∂mu := by
    have h1 : (inner ℂ (ContinuousMap.toLp 2 mu ℂ f) (ContinuousMap.toLp 2 mu ℂ f) : ℂ)
        = ((‖ContinuousMap.toLp 2 mu ℂ f‖ : ℝ) ^ 2 : ℂ) := by
      rw [inner_self_eq_norm_sq_to_K]
      norm_cast
    rw [← h1, L2.inner_def]
    refine integral_congr_ae ?_
    filter_upwards [ContinuousMap.coeFn_toLp (p := 2) mu (𝕜 := ℂ) f] with x hx
    rw [RCLike.inner_apply', hx]
  have hsq : (‖pi f xi‖ : ℝ) ^ 2 = (‖ContinuousMap.toLp 2 mu ℂ f‖ : ℝ) ^ 2 := by
    have hc : ((‖pi f xi‖ : ℝ) ^ 2 : ℂ) = ((‖ContinuousMap.toLp 2 mu ℂ f‖ : ℝ) ^ 2 : ℂ) := by
      rw [hL, hR]
    exact_mod_cast hc
  have h1 : (0 : ℝ) ≤ ‖pi f xi‖ := norm_nonneg _
  have h2 : (0 : ℝ) ≤ ‖ContinuousMap.toLp 2 mu ℂ f‖ := norm_nonneg _
  nlinarith [hsq, h1, h2]

/-! ## 4. The unitary and the multiplication form -/

variable (hcyc : DenseRange (repVec pi xi))

/-- **The unitary of a cyclic representation.**  For a cyclic vector `ξ`, the isometry
`f ↦ π(f)ξ` extends to a unitary from `L²(μ)` onto `H`. -/
noncomputable def cyclicRepUnitary : Lp ℂ 2 (repMeasure pi xi) ≃ₗᵢ[ℂ] H :=
  (LinearEquiv.refl ℂ C(X, ℂ)).extendOfIsometry
    (ContinuousMap.toLp 2 (repMeasure pi xi) ℂ).toLinearMap
    (repVec pi xi)
    (ContinuousMap.toLp_denseRange ℂ _ (μ := repMeasure pi xi) (by simp))
    hcyc
    (fun f => norm_rep_apply pi xi f)

@[simp] theorem cyclicRepUnitary_toLp (f : C(X, ℂ)) :
    cyclicRepUnitary pi xi hcyc (ContinuousMap.toLp 2 (repMeasure pi xi) ℂ f)
      = pi f xi :=
  LinearEquiv.extendOfIsometry_eq _ _ _ _ _ _ f







end Rep

/-! ## 5. The Gelfand form: an arbitrary commutative unital C*-algebra -/

section Gelfand

variable {A : Type*} [CommCStarAlgebra A]
variable {H : Type*} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]

/-- A representation of `A` read as a representation of `C(characterSpace ℂ A, ℂ)`
through the inverse Gelfand transform. -/
noncomputable def gelfandRep (rho : A →⋆ₐ[ℂ] (H →L[ℂ] H)) :
    C(characterSpace ℂ A, ℂ) →⋆ₐ[ℂ] (H →L[ℂ] H) :=
  rho.comp ((gelfandModel A).symm : C(characterSpace ℂ A, ℂ) →⋆ₐ[ℂ] A)

@[simp] theorem gelfandRep_gelfandModel (rho : A →⋆ₐ[ℂ] (H →L[ℂ] H)) (a : A) :
    gelfandRep rho (gelfandModel A a) = rho a := by
  simp [gelfandRep]



end Gelfand

end BookProof.ChapterAbelianCyclicModel
Source
https://github.com/leonardopedro/timepiece/blob/61595bc/BookProof/ChapterAbelianCyclicModel.lean

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me