Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 3.7 — Spectral theorem for unbounded self-adjoint operators

Proved
TeschlQM.Spectral.spectral_theorem

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

functional-analysisp2o-batch-books5p2o-gran-per-chapterp2o-plan-bookp2o-v1self-adjoint-operatorsspectral-theory

Let H\mathfrak HH be a complex Hilbert space and let AAA be a self-adjoint operator in H\mathfrak HH (densely defined, with A∗=AA^* = AA∗=A, domains included). Then there is a unique projection-valued measure PAP_APA​ on the Borel sets of R\mathbb{R}R such that

A=∫Rλ dPA(λ)(3.49),A = \int_{\mathbb{R}} \lambda\, dP_A(\lambda) \qquad (3.49),A=∫R​λdPA​(λ)(3.49),

that is, AAA equals the spectral integral PA(f)P_A(f)PA​(f) of the function f(λ)=λf(\lambda) = \lambdaf(λ)=λ: D(A)={ψ∣∫λ2 dμψ(λ)<∞}\mathfrak D(A) = \{\psi \mid \int \lambda^2\, d\mu_\psi(\lambda) < \infty\}D(A)={ψ∣∫λ2dμψ​(λ)<∞} and ⟨ψ,Aψ⟩=∫λ dμψ(λ)\langle\psi, A\psi\rangle = \int \lambda\, d\mu_\psi(\lambda)⟨ψ,Aψ⟩=∫λdμψ​(λ) on it, where μψ\mu_\psiμψ​ are the spectral measures of PAP_APA​.

The theorem converts every self-adjoint operator into a multiplication by the identity function against a projection-valued measure; it is what gives meaning to f(A)=PA(f)f(A) = P_A(f)f(A)=PA​(f), to the unitary group e−itAe^{-itA}e−itA and to the spectral projections PA(Ω)P_A(\Omega)PA​(Ω) used throughout quantum mechanics.

Formalization Note. AAA is a LinearPMap H →ₗ.[ℂ] H and self-adjointness is Mathlib's IsSelfAdjoint A (which includes density of the domain). The equality in (3.49) is equality of LinearPMaps, domains included, with spectralIntegral. Existence and uniqueness are both asserted; uniqueness says any projection-valued measure QQQ with A=∫λ dQ(λ)A = \int \lambda\, dQ(\lambda)A=∫λdQ(λ) agrees with PAP_APA​ on every Borel set. The only hypothesis is self-adjointness; the Hilbert space is not assumed separable (the result and the book's proof do not need it).

Preamble
import Mathlib
import Definitions.Def_TeschlQM_Shared_IsProjValuedMeasure
import Definitions.Def_TeschlQM_Spectral_spectralIntegral

open MeasureTheory
open scoped ENNReal InnerProductSpace
Formal statement
namespace TeschlQM.Spectral

/-- Teschl, p. 96, Theorem 3.7 (Spectral theorem). To every self-adjoint operator `A` there
corresponds a unique projection-valued measure `P_A` such that `A = ∫_ℝ λ dP_A(λ)` (3.49), the
equality being one of operators, domains included. Uniqueness is among projection-valued
measures, which are determined by their values on Borel sets. -/
theorem spectral_theorem {H : Type*} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H]
    (A : H →ₗ.[ℂ] H) (hA : IsSelfAdjoint A) :
    ∃ P : Set ℝ → (H →L[ℂ] H), TeschlQM.Shared.IsProjValuedMeasure P ∧
      A = spectralIntegral P (fun x => (x : ℂ)) ∧
      ∀ Q : Set ℝ → (H →L[ℂ] H), TeschlQM.Shared.IsProjValuedMeasure Q →
        A = spectralIntegral Q (fun x => (x : ℂ)) →
        ∀ Ω : Set ℝ, MeasurableSet Ω → Q Ω = P Ω := by sorry

end TeschlQM.Spectral
Source
Teschl, Mathematical Methods in Quantum Mechanics, AMS GSM 99, 2009, p. 96, Theorem 3.7
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Let HHH be any complex inner product space (⟨⋅,⋅⟩\langle\cdot,\cdot\rangle⟨⋅,⋅⟩ over C\mathbb{C}C) that is complete in the induced norm, i.e. a complex Hilbert space. No separability or dimension assumption is made. Let AAA be a partially defined C\mathbb{C}C-linear operator on HHH. That is, AAA consists of a linear subspace D(A)⊆H\mathcal{D}(A) \subseteq HD(A)⊆H, its domain, which is not assumed dense or closed, together with a linear map D(A)→H\mathcal{D}(A) \to HD(A)→H. The hypothesis is that AAA is self-adjoint in Mathlib's sense for partially defined operators, A∗=AA^* = AA∗=A. This is an equality of partial operators, so the domains agree, D(A∗)=D(A)\mathcal{D}(A^*) = \mathcal{D}(A)D(A∗)=D(A), and the two maps agree on that common domain.

Here A∗A^*A∗ is Mathlib's adjoint. Its domain is the set of y∈Hy \in Hy∈H for which x↦⟨y,Ax⟩x \mapsto \langle y, Ax\ranglex↦⟨y,Ax⟩ is continuous on D(A)\mathcal{D}(A)D(A). On that domain it acts as the usual adjoint when D(A)\mathcal{D}(A)D(A) is dense. When D(A)\mathcal{D}(A)D(A) is not dense, Mathlib defines it to be the zero map.

The statement uses two definitions from this bundle whose bodies are not supplied to this read-back, so their content cannot be unfolded here:

  • a predicate IsProjValuedMeasure(P)\mathrm{IsProjValuedMeasure}(P)IsProjValuedMeasure(P) on functions PPP from subsets of R\mathbb{R}R to bounded operators;
  • an operation spectralIntegral(P,f)\mathrm{spectralIntegral}(P, f)spectralIntegral(P,f) that takes such a PPP and a function f:R→Cf : \mathbb{R} \to \mathbb{C}f:R→C and returns a partially defined linear operator on HHH.

Whatever properties these names suggest, the read-back can only say that the statement holds with respect to whatever those definitions actually say.

With that understood, the statement asserts that there exists a function

P:P(R)→B(H),P : \mathcal{P}(\mathbb{R}) \to \mathcal{B}(H),P:P(R)→B(H),

assigning a bounded (continuous) C\mathbb{C}C-linear operator on HHH to every subset of R\mathbb{R}R, measurable or not, such that all three of the following hold:

  1. IsProjValuedMeasure(P)\mathrm{IsProjValuedMeasure}(P)IsProjValuedMeasure(P) holds.
  2. The following is an equality of partial operators, so both the domains and the values coincide:
A=spectralIntegral(P, x↦x),A = \mathrm{spectralIntegral}\big(P,\ x \mapsto x\big),A=spectralIntegral(P, x↦x),

where x↦xx \mapsto xx↦x is the identity function R→C\mathbb{R} \to \mathbb{C}R→C, x↦x+0ix \mapsto x + 0ix↦x+0i. 3. Uniqueness on measurable sets. Let Q:P(R)→B(H)Q : \mathcal{P}(\mathbb{R}) \to \mathcal{B}(H)Q:P(R)→B(H) be any other function such that IsProjValuedMeasure(Q)\mathrm{IsProjValuedMeasure}(Q)IsProjValuedMeasure(Q) holds and A=spectralIntegral(Q,x↦x)A = \mathrm{spectralIntegral}(Q, x \mapsto x)A=spectralIntegral(Q,x↦x), again as partial operators. Then

Q(Ω)=P(Ω)for every Borel-measurable Ω⊆R.Q(\Omega) = P(\Omega) \quad \text{for every Borel-measurable } \Omega \subseteq \mathbb{R}.Q(Ω)=P(Ω)for every Borel-measurable Ω⊆R.

The measurable structure is the standard Borel σ\sigmaσ-algebra on R\mathbb{R}R. Nothing is asserted about Q(Ω)Q(\Omega)Q(Ω) versus P(Ω)P(\Omega)P(Ω) for non-measurable Ω\OmegaΩ, unless the unseen predicate IsProjValuedMeasure\mathrm{IsProjValuedMeasure}IsProjValuedMeasure itself constrains those values.

The conclusion is thus an existence claim together with agreement on Borel sets. It does not assert that PPP is unique as a function on all of P(R)\mathcal{P}(\mathbb{R})P(R).

Degenerate cases. The self-adjointness hypothesis is satisfiable in every such HHH; for example, the zero operator with domain HHH satisfies it. Under Mathlib's convention above, it cannot be satisfied by an operator with non-dense domain. Such an AAA would have to equal the zero map on its domain. But the adjoint of a zero map has all of HHH as its domain, which would force D(A)=H\mathcal{D}(A) = HD(A)=H, and HHH is dense. So the theorem is never vacuous, and every AAA it covers is densely defined.

If H={0}H = \{0\}H={0}, every bounded operator is 000, so every PPP and QQQ is the constant zero map and the uniqueness clause holds trivially. Existence then amounts to the constant zero function satisfying IsProjValuedMeasure\mathrm{IsProjValuedMeasure}IsProjValuedMeasure, with spectralIntegral\mathrm{spectralIntegral}spectralIntegral of it returning the zero operator on {0}\{0\}{0}. Whether that holds depends on the unseen definitions.

The integrand x↦xx \mapsto xx↦x is unbounded on R\mathbb{R}R. Whatever domain or default value spectralIntegral\mathrm{spectralIntegral}spectralIntegral assigns to unbounded or non-integrable integrands is exactly what the equalities in items 2 and 3 compare against AAA. This read-back cannot state what that is.

Human review
  • Endorsed by Shuze Chen · Oct 2, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 2, 2026

    Confirmed by the mission captain (proposal self-audit).

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