Gleason's theorem, finite-dimensional: the projection package and its frame function #
Category: 1-Mathlib (CSD-free; staged for upstream). The statement side of the
finite-dimensional Gleason theorem, and the reductions of its "Layer A" that are pure linear
algebra (specs/gleason-feasibility.md).
A projection package on ℂᴺ assigns to every orthogonal projection P (an IsStarProjection
matrix — self-adjoint idempotent) a number p P with 0 ≤ p P, p 1 = 1, and
p (P + Q) = p P + p Q whenever P * Q = 0. Gleason's theorem says that for N ≥ 3 such a
p is P ↦ Tr(ρ P) for a unique density matrix ρ; the theorem is Gleason/Core.lean (and its
real counterpart Gleason/Real.lean), and this file sets up:
rankOne v = |v⟩⟨v|, a star projection for‖v‖ = 1(isStarProjection_rankOne), phase invariant (rankOne_smul_of_norm_one), with∑ᵢ rankOne (bᵢ) = 1over every orthonormal basis (sum_rankOne_orthonormalBasis) and pairwise-orthogonal products over orthonormal families;ProjectionPackage.p_sum— additivity over any finite family of pairwise-orthogonal projections (induction onIsStarProjection.add),p_zero,p_le_one;- A1, the frame function
frame v = p (rankOne v): nonnegative, at most1, constant on phases (frame_smul), summing to1over every orthonormal basis (sum_frame_orthonormalBasis), i.e.IsFrameFunction ℂ OP.frame 1; - A2, restriction: for a complex-orthonormal family
e : Fin k → ℂᴺ, the functionrealRestrict OP e x = frame (∑ᵢ xᵢ eᵢ)onℝᵏis a real frame function with weightp (∑ᵢ rankOne (eᵢ))(isFrameFunction_realRestrict) — fork = 3a frame function on the real sphereS², the input of Gleason's core lemma.
Design #
Projections are matrices with IsStarProjection (Mathlib's self-adjoint idempotents), and p
is a total function on matrices whose values off the projections are never constrained: this
keeps every statement free of subtypes, and Mathlib's IsStarProjection.add is exactly the
closure property the additivity axiom needs. Vectors live in EuclideanSpace ℂ (Fin N) and
rank-one projections are vecMulVec v (star v), so Matrix.posSemidef_vecMulVec_self_star and
the vecMulVec calculus apply verbatim.
Source #
Gleason 1957, J. Math. Mech. 6, 885 (§1 frame functions, §3 the complex reduction); Cooke–Keane–Moran 1985, Math. Proc. Cambridge Philos. Soc. 98, 117 (the elementary proof of the core lemma).
The Gram matrix of a family: (Eᴴ E) i j = ⟪e i, e j⟫.
An orthonormal family has Gram matrix 1.
An orthonormal basis has E Eᴴ = 1 as well (square matrices).
∑ᵢ |eᵢ⟩⟨eᵢ| = E Eᴴ.
Rank-one projections #
The rank-one projection |v⟩⟨v| onto v (a projection when ‖v‖ = 1).
Equations
- Gleason.rankOne v = Matrix.vecMulVec v.ofLp (star v.ofLp)
Instances For
|v⟩⟨v| is an orthogonal projection for every unit vector v.
The rank-one projections of an orthonormal family are pairwise orthogonal.
∑ᵢ |eᵢ⟩⟨eᵢ| = E Eᴴ for the column matrix E of the family.
Resolution of the identity: ∑ᵢ |bᵢ⟩⟨bᵢ| = 1 over an orthonormal basis.
Frame functions #
A frame function on 𝕜ⁿ with weight W: ∑ᵢ f (bᵢ) = W over every orthonormal basis
(Gleason 1957, §1).
Equations
- Gleason.IsFrameFunction 𝕜 f W = ∀ (b : OrthonormalBasis (Fin n) 𝕜 (EuclideanSpace 𝕜 (Fin n))), ∑ i : Fin n, f (b i) = W
Instances For
The projection package #
A projection package on ℂᴺ: a nonnegative, normalised, orthogonally additive
assignment on the orthogonal projections. The values of p off the projections are
unconstrained and never used.
Instances For
p 0 = 0: 0 = 0 + 0 with 0 * 0 = 0.
A finite sum of pairwise-orthogonal projections is a projection.
Additivity over any finite family of pairwise-orthogonal projections.
The frame function of the package: frame v = p |v⟩⟨v|.
Equations
- OP.frame v = OP.p (Gleason.rankOne v)
Instances For
The frame function is constant on phases.
Additivity over the rank-one projections of an orthonormal family.
A1. The frame function sums to 1 over every orthonormal basis.
A1, packaged: frame is a complex frame function of weight 1.
A2 — restriction to a completely real subspace #
The vectors of ℂᴺ with real coordinates in a complex-orthonormal family e: the
completely real subspace span_ℝ {e₁, …, eₖ}, parametrised by ℝᵏ.
Equations
- Gleason.ProjectionPackage.realCombination e x = ∑ i : Fin k, ↑(x.ofLp i) • e i
Instances For
The complex column matrix of a real vector family.
Transporting a real orthonormal family through a complex-orthonormal e gives a
complex-orthonormal family: Gram = Bᴴ (Eᴴ E) B = Bᴴ B = 1.
The rank-one projections of a transported orthonormal basis sum to those of e:
∑ⱼ |wⱼ⟩⟨wⱼ| = E (B Bᴴ) Eᴴ = E Eᴴ = ∑ᵢ |eᵢ⟩⟨eᵢ|.
A real unit vector transports to a complex unit vector.
The restriction of the frame function to a completely real subspace, as a function on
ℝᵏ: realRestrict OP e x = frame (∑ᵢ xᵢ eᵢ).
Equations
- OP.realRestrict e x = OP.frame (Gleason.ProjectionPackage.realCombination e x)
Instances For
A2. For a complex-orthonormal e : Fin k → ℂᴺ, the restriction is a real frame function
on ℝᵏ with weight p (∑ᵢ |eᵢ⟩⟨eᵢ|) — for k = 3, a frame function on the sphere S².
The restriction is nonnegative on the real unit sphere.