Step (1) of the Wigner / Fubini–Study rigidity converse #
Category: 1-Mathlib (CSD-free Mathlib upstream candidate).
Glossary: https://glossary.constraintsurfacedynamics.com/wigner-rigidity/
Plain-language, CSD-role and formal statements of Wigner rigidity, with
this module as its Lean anchor. Kept symmetric by scripts/check-glossary.sh.
On upstreaming: this is a Category 1 file. Strip this Glossary block before any
Mathlib or Physlib PR; a personal project link has no place in a canonical header.
This file builds STEP (1) of the Wigner / Fubini–Study rigidity converse on
top of the transition-probability foundation
(Mathlib/LinearAlgebra/Projectivization/TransitionProbability.lean). It
delivers:
TransProbPreserving f— the predicate that a self-mapf : ℙ ℂ E → ℙ ℂ Epreserves the transition probabilitytransProb;TransProbPreserving.injective— such a map is injective (a transition probability1forces coincidence, viatransProb_selfandtransProb_eq_one_iff);transProbPreserving_unitary— the realisability inclusion: every unitary inMatrix.unitaryGroup (Fin N) ℂ, acting onℂℙ^{N-1}, isTransProbPreserving. This is theU(N) → TransProbPreservingmap whose surjectivity-up-to-phase is the deferred Wigner statement;TransProbPreserving.orthogonal/.inner_rep_eq_zero_iff— preservation of orthogonality, both as atransProb = 0face and aninner = 0face;TransProbPreserving.pairwise_orthogonalandorthonormalBasis_pairwise_orthogonal— the "orthonormal frame ↦ pairwise orthogonal family" content: an orthonormal basis induces a pairwise-orthogonal projective family, and aTransProbPreservingmap sends it to one.
Steps (2a) and (2b) (proved here): image frame and candidate unitary #
- (2a) The image orthonormal frame.
imageVecis the unit-normalised canonical representative of the image rayf (mk (b i));imageVec_norm,imageVec_ne_zero, andimageVec_orthonormal(off-diagonals transported from the source frame throughTransProbPreserving.inner_rep_eq_zero_iff) make it an orthonormal family, packaged asimageOrthonormalBasis(an orthonormal family of cardinalityNinEuclideanSpace ℂ (Fin N),finrank = N, spans).mk_imageOrthonormalBasisrecords that thei-th image ONB vector spans the image ray:mk (imageOrthonormalBasis i) = f (mk (b i)). - (2b) The candidate unitary.
candidateUnitary hf bis theOrthonormalBasis.equivchange of frameb ↦ imageOrthonormalBasis hf balong the identity reindexing ofFin N, a genuine≃ₗᵢ[ℂ]. The headlinecandidateUnitary_agrees_on_basisis the agreement on the basis points:mk (candidateUnitary hf b (b i)) = f (mk (b i))for everyi.
Step (2c) frame reduction (proved here): the reduced map fixes the basis #
- The projective image of an isometry equiv.
projMap eis theProjectivization.mapof a linear isometry equivalencee's underlying injective linear map. It preserves the transition probability (transProb_projMap, via the vector-leveltransProbVec_linearIsometryEquivfrome.inner_map_mapande.norm_map), hence isTransProbPreserving(projMap_transProbPreserving).TransProbPreserving.compgives closure of the predicate under composition. (All general inE.) - The frame-reduced map.
reducedMap hf b := projMap (candidateUnitary hf b).symm ∘ fisTransProbPreserving(reducedMap_transProbPreserving) and fixes every source basis ray (reducedMap_fixes_basis):reducedMap hf b (mk (b i)) = mk (b i)for everyi. The proof rewritesf (mk (b i))backward viacandidateUnitary_agrees_on_basis, pushes the inverse candidate unitary's projective map throughprojMap_mk, and appliesLinearIsometryEquiv.symm_apply_apply.
This reduces the open converse to the Wigner normal-form problem for the reduced map, addressed in Stages 1–3 below.
Stage 1 (proved here): moduli preservation #
TransProbPreserving.transProb_of_fixed— a preserving map fixing a pointqpreserves the transition probability from every point toq.transProb_srcPoint— the transition probability to thei-th basis ray is the normalised squared modulus of thei-th coordinateb.repr ψ i.reducedMap_coord_modulus— Stage 1 headline: writingreducedMap hf b (mk ψ) = mk φ, the modulus profile‖b.repr φ i‖² / ‖φ‖² = ‖b.repr ψ i‖² / ‖ψ‖²is preserved coordinate-by-coordinate.
Stage 2 (proved here): the two-level phase normal form #
add_basis_ne_zero,repr_eq_pair_of_support,mk_eq_two_level_of_profile— support and reconstruction infrastructure.reducedMap_two_level_normal_form— Stage 2 headline: for distincti₀ ≠ i,reducedMap hf b (mk (b i₀ + b i)) = mk (b i₀ + ε • b i)for a unimodularε. The image ray is pinned up to the single phaseε.
Both stages are derived from TransProbPreserving alone; no ℂ-linearity is
assumed anywhere.
The antiunitary witness (proved here): conjProj #
conjProj is coordinatewise complex conjugation as a ray map
(conjVec on representatives), a concrete TransProbPreserving inhabitant
(conjProj_transProbPreserving) of the antiunitary class: conjVec is
conjugate-linear (conjVec_smul : conjVec (c • ψ) = conj c • conjVec ψ), not the
underlying map of any ≃ₗᵢ[ℂ]. This makes the eventual dichotomy non-vacuous on
the antiunitary side. Built on the conjugation inner/norm identities
conjVec_inner : ⟪conjVec u, conjVec v⟫ = conj ⟪u, v⟫ and
conjVec_norm : ‖conjVec ψ‖ = ‖ψ‖.
Stage 3 piece 1 (proved here): the diagonal-phase reduction #
diagUnitary b ε hε is the diagonal-in-b isometry with unit-modulus phases
ε (via the ε-scaled orthonormal basis, scaledBasis); twoLevelPhase
extracts the Stage-2 phases anchored at ε i₀ := 1; and
diagReducedMap hf b i₀ := projMap D⁻¹ ∘ reducedMap hf b (with D built from
those phases) is TransProbPreserving (diagReducedMap_transProbPreserving),
fixes every basis ray (diagReducedMap_fixes_basis), and fixes the two-level
rays mk (b i₀ + b i) for every i ≠ i₀ (diagReducedMap_fixes_two_level).
This is the setup the cocycle step (pieces 2–3) consumes. D is constructed
from the extracted phases, not posited of f: no ℂ-linearity is assumed.
Stage 3 piece 2 (proved here): the cocycle coboundary structure #
On the diagonally reduced map g := diagReducedMap hf b i₀ the coordinate
overlap algebra pins the pairwise relative phases up to sign:
diagReducedMap_coord_modulus— Stage-1 moduli transported tog.diagReducedMap_two_level_relphase— the anchored real-part relationRe(d̄_{i₀} d_i)/‖φ‖² = Re(c̄_{i₀} c_i)/‖ψ‖².diagReducedMap_fixes_three_level(W4) — the equal triple raymk (b i₀ + b i + b j)is fixed, via moduli + saturation (norm_eq_re_imp_eq,eq_of_re_conj_mul_eq) +repr_eq_triple_of_support.diagReducedMap_fixes_two_level_general(W4) — the non-anchored raymk (b i + b j)(i, j ≠ i₀) is fixed, using the triple as a probe.diagReducedMap_pairwise_relphase(W4) — the unconditional pairwise real-part relation for alli, j ≠ i₀, the full coboundary structure.
Every probe is real-coordinate, so the fixings are consistent with both the unitary and antiunitary branches: piece 2 establishes the coboundary structure, not the global sign (that is piece 3). No ℂ-linearity is assumed.
Stage 3 piece 3 (W5, proved here): complex probe, reconstruction, dichotomy #
The converse of the realisability inclusion transProbPreserving_unitary is the
Wigner / Fubini–Study rigidity theorem:
theorem (informal): TransProbPreserving f → (∃ U : Matrix.unitaryGroup (Fin N) ℂ,f = fun p => U • p) ∨ (∃ antiunitary A, f = A-ray-action)
equivalently, the isometry group of ℂℙⁿ with the Fubini–Study metric is the
projective semi-unitary group. It is not stated here as an axiom or a
sorry.
Scope note (CL-024 audit, 2026-08-06; updated same day). This module
proves the EXISTENCE clause of the Wigner/Bargmann theorem. The up-to-phase
uniqueness clause is formalized in companion modules: matrix vocabulary in
PhaseRigidity.lean (exists_unit_smul_of_smul_eq_smul, the U(N) → PU(N)
circle kernel — predating the audit, which missed it) and this theorem's own
projMap/conjProj vocabulary in WignerUniqueness.lean
(exists_unit_smul_of_projMap_eq, exists_unit_smul_of_projMap_conjProj_eq,
via the involution conjProj_conjProj). The branch-EXCLUSIVITY facts (a map
cannot be both unitary- and antiunitary-induced, 2 ≤ N) live downstream:
Projectivization.conjProj_ne_projMap / smul_action_not_antiunitary
(Empirical/CSD/Gates/WignerDischarge.lean) and the Bargmann-invariant
discriminator (Projectivization/Bargmann.lean, LF4/BargmannSelection.lean).
Cite those modules, not this one, for uniqueness/exclusivity claims. Piece 3 (W5) delivers the branch-distinguishing machinery:
two_level_imrelphase_of_fixes/_flips— the complexI-probe pins the imaginary part of the relative phase, the datum the real probes of pieces 1–2 could not reach (fixed complex ray ⟹Impreserved; flipped ⟹Imnegated).eq_id_of_fixes_all_two_level/eq_bconj_of_flips_complex— the two reconstruction directions: a map fixing all basis + real + complex two-level rays is the identity on rays; one that flips the complex rays is coordinatewise conjugation inb(bConjVec). ℂ-linearity is an OUTPUT.diagReducedMap_complex_probe— the complex probe raymk (b i₀ + I • b i)is not conjugation-invariant, so the diagonally reduced map sends it to itself (+) or tomk (b i₀ − I • b i)(−): the per-pair± Ibranch datum.diagReducedMap_dichotomy_of_complexSign— the assembly: given the global complex-sign closure (all complex two-level rays fixed, or all flipped), the reduced map is globally the identity, or globallybConjVecconjugation. Both branches genuine; the antiunitary branch is not dropped.
W6 (DONE). The unconditional wigner_rigidity is stated and proved here.
The global-sign closure — the per-pair ± I datum is consistent across all pairs
(fixes-all ∨ flips-all) — is discharged in diagReducedMap_complexSign_closure
via the non-anchored per-pair dichotomy (diagReducedMap_complex_probe_general),
the master witness masterVec, the abstract Gram-triple core sign_link_core,
order swap by injectivity, and index linking; the unconditional
diagReducedMap_dichotomy and the headline wigner_rigidity (unitary ∨
antiunitary, ℂ-linearity an output) follow, foundational-triple only. See the
Stage 3 complete (W6) section at the end of this file. Scope of "piece 2
CLOSED" (load-bearing): piece 2 delivers the
sign-free real-part relations — the full pairwise data Re(conj dᵢ·dⱼ)/‖φ‖² = Re(conj cᵢ·cⱼ)/‖ψ‖² (equivalently the pairwise cosines cos(βⱼ−βᵢ)=cos(αⱼ−αᵢ))
for every pair, which pin the phase configuration up to global rotation AND a
single global reflection. The phrases "2-cocycle"/"coboundary structure" are
narrative labels: no formal Complex.arg-based additive identity
θ(i,j)=θ(i₀,j)−θ(i₀,i) or H² object is constructed, because extracting one
presupposes choosing an arg branch — i.e. resolving the ± reflection — which is
precisely piece 3. Critical honesty notes (load-bearing).
reducedMap_fixes_basisdoes not makereducedMapthe identity: the diagonal-phase freedom is genuine and is exactly the Stage-2 phaseε, pinned only by the Stage-3 cocycle. Do not read frame reduction asreducedMap = idnor asf = projMap (candidateUnitary hf b).- Transition-probability preservation over
ℂadmits both the unitary and the antiunitary classes; the holomorphic / Kähler complex structure selects the unitary one. Stage 3 must derive ℂ-linearity from the overlap data, not assume it: a smuggled linearity hypothesis would beg the question.
Provenance #
Staged as upstream Mathlib material. All declarations live under
namespace Projectivization with no CsdLean4-namespace prefix; the
CsdLean4/Mathlib/... location is the only staging signal. Intended location:
Mathlib/LinearAlgebra/Projectivization/WignerRigidity.lean.
Tags #
projectivization, transition probability, Fubini-Study, Wigner theorem, unitary group, complex projective space, isometry, orthogonality
Diagonal value of the projective transition probability #
The diagonal value of the projective transition probability is 1: any
projective point coincides with itself. Reduces to transProbVec_self on the
(nonzero) canonical representative via transProb_mk.
The transition-probability-preserving predicate #
A self-map of ℙ ℂ E is transition-probability preserving when it
preserves transProb on every pair of projective points. The
realisability direction transProbPreserving_unitary shows every unitary
action is such a map; the converse (every such map is induced by a unitary) is
the open Wigner target documented in the module header.
Equations
- Projectivization.TransProbPreserving f = ∀ (p q : Projectivization ℂ E), (f p).transProb (f q) = p.transProb q
Instances For
Realisability inclusion: U(N) → TransProbPreserving #
A transition-probability-preserving self-map of ℂℙ^{N-1} is injective: if
f p = f q then transProb p q = transProb (f p) (f q) = transProb (f p) (f p) = 1, so p = q by transProb_eq_one_iff. (The coincidence characterisation
transProb_eq_one_iff is the EuclideanSpace ℂ (Fin N) ingredient.)
Realisability inclusion. Every unitary in Matrix.unitaryGroup (Fin N) ℂ,
acting on ℂℙ^{N-1}, is transition-probability preserving. Immediate from
transProb_smul_unitary. This is the U(N) → TransProbPreserving map; the
surjectivity-up-to-phase of this map is the deferred Wigner statement.
The antiunitary witness conjProj #
Over ℂ, transition-probability preservation admits a second class beyond the
unitary one: the antiunitary class, realised by complex conjugation. This
subsection builds it concretely. conjVec is coordinatewise complex conjugation
on EuclideanSpace ℂ (Fin N), a conjugate-linear isometry
(conjVec_smul shows the semilinear scaling law conjVec (c • ψ) = conj c • conjVec ψ,
which is not the linear law of any ≃ₗᵢ[ℂ]). Its ray map conjProj is
TransProbPreserving (conjProj_transProbPreserving), so the eventual
Wigner dichotomy is not vacuous on the antiunitary side.
Coordinatewise complex conjugation on EuclideanSpace ℂ (Fin N): the
conjugate-linear isometry ψ ↦ (fun i => conj (ψ i)).
Equations
- Projectivization.conjVec ψ = WithLp.toLp 2 fun (i : Fin N) => (starRingEnd ℂ) (ψ.ofLp i)
Instances For
conjVec acts coordinatewise: (conjVec ψ) i = conj (ψ i) (definitional).
Conjugation inner identity. ⟪conjVec u, conjVec v⟫ = conj ⟪u, v⟫.
Reduces via PiLp.inner_apply to the coordinatewise identity
conj(conj (u i)) * conj (v i) = conj (conj (u i) * v i) (RCLike.inner_apply',
map_mul, Complex.conj_conj).
Conjugation norm identity. ‖conjVec ψ‖ = ‖ψ‖. Both squared norms are
the real part of the (conjugation-swapped) self inner product conjVec_inner;
RCLike.conj_re drops the conjugation on the real part.
Semilinearity of conjVec. conjVec (c • ψ) = conj c • conjVec ψ. This
conjugate-linear scaling law witnesses that conjVec is genuinely antiunitary:
it is not the linear scaling law satisfied by any ≃ₗᵢ[ℂ], so conjProj is not
projMap of a complex-linear isometry equivalence.
conjVec preserves nonvanishing: ‖conjVec ψ‖ = ‖ψ‖ ≠ 0.
Conjugation preserves the vector transition probability.
transProbVec (conjVec u) (conjVec v) = transProbVec u v: the numerator is
fixed since ‖conj ⟪u,v⟫‖ = ‖⟪u,v⟫‖ (conjVec_inner + RCLike.norm_conj), the
denominator by conjVec_norm.
The antiunitary ray map: complex conjugation of the canonical
representative. Total and well-defined (conjugation is norm-preserving and
injective, so the image ray does not depend on representative choice up to the
scaling conjVec_smul absorbs).
Equations
Instances For
HEADLINE (antiunitary witness). conjProj is TransProbPreserving.
Reduce both image rays to mk (conjVec ·.rep) via transProb_mk, then apply
conjVec_transProbVec. This exhibits a concrete TransProbPreserving inhabitant
of the antiunitary class: conjVec is conjugate-linear (conjVec_smul), not
the underlying map of any ≃ₗᵢ[ℂ]; for 2 ≤ N the ray-level map conjProj is
not projMap of any unitary (conjProj_ne_projMap, WignerDischarge — at
N ≤ 1 the projective space has at most one point and the distinction vanishes).
The eventual Wigner dichotomy is thus non-vacuous on the antiunitary side.
Ray-map identity for conjProj on arbitrary representatives.
conjProj (mk v hv) = mk (conjVec v). The canonical representative of mk v hv
is a • v for some nonzero a; conjVec (a • v) = conj a • conjVec v
(conjVec_smul), a nonzero rescaling, so both sides span the same ray. This is
the representative-independent form of conjProj, needed for the eventual
antiunitary assembly (Stage 3).
Orthogonality preservation #
mk-level orthogonality rewriter: for nonzero representatives v, w, the
projective transition probability of mk v, mk w vanishes iff v ⟂ w.
Routes through transProb_mk and the fact that the (positive) denominator of
transProbVec is irrelevant to vanishing.
Orthogonality preservation (transProb face). A transition-probability-
preserving map preserves orthogonality of projective points (read as
transProb = 0): the hypothesis rewrites the LHS to the RHS.
Orthogonality preservation (inner-product face). A transition-probability-
preserving self-map of ℂℙ^{N-1} preserves orthogonality of the canonical
representatives. Combines .orthogonal with the orthogonality characterisation
transProb_eq_zero_iff on both sides.
Orthogonal projective families and orthonormal frames #
Orthogonality of two projective points, read off the transition
probability: Orthogonal p q means transProb p q = 0 (equivalently, the
representatives are inner-product orthogonal).
Equations
- p.Orthogonal q = (p.transProb q = 0)
Instances For
Orthogonal family preservation. A transition-probability-preserving map
sends a pairwise-orthogonal projective family to a pairwise-orthogonal family.
Pointwise consequence of .orthogonal.
Orthonormal frame ↦ pairwise-orthogonal projective family. An
orthonormal basis of EuclideanSpace ℂ (Fin N) induces a pairwise-orthogonal
family of projective points (distinct basis rays are orthogonal). Uses
b.orthonormal.2 (the off-diagonal vanishing of an Orthonormal family) and
the mk-level rewriter transProb_mk_eq_zero_iff. Composing with
TransProbPreserving.pairwise_orthogonal exhibits the "orthonormal frame ↦
pairwise-orthogonal family" content at the orthogonality level.
Step (2a): the image orthonormal frame #
A TransProbPreserving map f together with a source orthonormal basis b
produces an orthonormal family of image representatives, the unit-normalised
canonical reps of the image rays f (mk (b i)). Pairwise orthogonality is
transported from the source frame through inner_rep_eq_zero_iff; the diagonal
is unit by construction. Indexed by Fin N in a space of finrank = N, the
family is an orthonormal basis. Each image ONB vector spans the image ray:
mk (imageOrthonormalBasis i) = f (mk (b i)).
The i-th source basis projective point mk (b i). A definitional
abbreviation kept folded inside the helper lemmas; the public headlines
(mk_imageOrthonormalBasis, candidateUnitary_agrees_on_basis) restate it as
the explicit mk ℂ (b i) (b.orthonormal.ne_zero i).
Equations
- Projectivization.srcPoint b i = Projectivization.mk ℂ (b i) ⋯
Instances For
srcPoint unfolds to the explicit mk of the basis vector.
The unit-normalised canonical representative of the image ray
f (mk (b i)). Normalising the (nonzero) rep (f (srcPoint b i)).rep by the
real reciprocal of its norm (cast to ℂ) gives a unit vector spanning the same
ray.
Equations
- Projectivization.imageVec _hf b i = ↑‖(f (Projectivization.srcPoint b i)).rep‖⁻¹ • (f (Projectivization.srcPoint b i)).rep
Instances For
The reciprocal-norm scalar in imageVec is nonzero (the rep is nonzero, so
its norm is positive).
imageVec is nonzero.
imageVec has unit norm: the reciprocal-norm scaling normalises the rep.
The image family imageVec hf b is orthonormal. Off-diagonal: the source
basis rays are orthogonal (orthonormalBasis_pairwise_orthogonal +
transProb_eq_zero_iff on the canonical reps), inner_rep_eq_zero_iff hf
transports this to the image reps, and the scalar normalisation factors pull
out of inner leaving 0. Diagonal: imageVec_norm.
The image orthonormal family, packaged as an OrthonormalBasis (Fin N):
an orthonormal family of cardinality N in EuclideanSpace ℂ (Fin N)
(finrank = N) spans the whole space, so OrthonormalBasis.mk applies.
Equations
Instances For
imageOrthonormalBasis evaluates to imageVec (the OrthonormalBasis.mk
apply lemma).
The image ONB vector's ray is the image ray. imageVec hf b i is a
nonzero scalar multiple of (f (srcPoint b i)).rep, so mk (imageVec ..)
equals mk ((f (srcPoint b i)).rep) = f (srcPoint b i) by the mk-scaling
characterisation mk_eq_mk_iff' and mk_rep.
Step (2b): the candidate unitary #
The candidate unitary is the OrthonormalBasis.equiv change-of-frame
b ↦ imageOrthonormalBasis hf b along the identity reindexing. On the source
basis vectors it reproduces the image ONB vectors, hence (via
mk_imageOrthonormalBasis) agrees ray-by-ray with f on the basis points.
This is the unitary candidate for the Wigner converse; the open content is
extending the agreement off the basis (step (2c)) and ruling out the antiunitary
branch (step (2d)).
The candidate unitary: the linear isometry equivalence carrying the source
orthonormal basis b to the image orthonormal basis along the identity
reindexing of Fin N.
Equations
- Projectivization.candidateUnitary hf b = b.equiv (Projectivization.imageOrthonormalBasis hf b) (Equiv.refl (Fin N))
Instances For
The candidate unitary sends the i-th source basis vector to the i-th
image ONB vector. From OrthonormalBasis.equiv_apply_basis and
Equiv.refl_apply.
Step (2b) headline. The candidate unitary agrees with f on the basis
points: the ray spanned by candidateUnitary hf b (b i) is exactly the image
ray f (mk (b i)). Composes candidateUnitary_apply_basis (the image ONB
vector) with mk_imageOrthonormalBasis (its ray is the image ray).
Step (2c) frame reduction: projective image of an isometry equiv #
The projective map projMap e of a linear isometry equivalence e preserves
transProb (transProb_projMap), so it is TransProbPreserving
(projMap_transProbPreserving). Composing f with the projective map of the
inverse candidate unitary yields reducedMap, which is TransProbPreserving
and fixes every basis ray (reducedMap_fixes_basis). This reduces the open
converse step (2c) to the single Wigner normal-form lemma stated in the module
header. These declarations are general in E wherever they do not consume the
EuclideanSpace-specific candidateUnitary.
The projective self-map induced by a linear isometry equivalence e: the
Projectivization.map of e's underlying (injective) linear map.
Equations
Instances For
projMap e sends mk v to mk (e v). The nonzero side is e v ≠ 0 from
e.injective (an injective linear map is zero-preserving), packaged through
Projectivization.map_mk.
projMap of the identity is the identity ray map.
projMap is functorial: the ray map of a composite is the composite of the
ray maps (trans composes left-to-right, so projMap e₂ applies second).
Transition probability is invariant under a linear isometry equivalence
(vector level). transProbVec (e u) (e v) = transProbVec u v: the numerator
is fixed by e.inner_map_map, the denominator by e.norm_map.
projMap e preserves transProb (projective level). Reduce both points
to mk of their canonical reps, push projMap through projMap_mk, collapse to
transProbVec via transProb_mk, then apply
transProbVec_linearIsometryEquiv.
projMap e is TransProbPreserving. Immediate from transProb_projMap.
General in E.
Composition of TransProbPreserving maps. g ∘ f preserves transProb
when both g and f do. General in E.
Step (2c) frame reduction: the reduced map fixes every basis ray #
reducedMap hf b := projMap (candidateUnitary hf b).symm ∘ f. It is
TransProbPreserving and fixes every source basis ray, since on srcPoint b i
the candidate unitary's projective map reproduces f's value (by
candidateUnitary_agrees_on_basis) and its inverse returns to the basis ray.
The frame-reduced map: post-compose f with the projective map of the
inverse candidate unitary. Designed so that the basis rays become fixed
points.
Equations
- Projectivization.reducedMap hf b p = Projectivization.projMap (Projectivization.candidateUnitary hf b).symm (f p)
Instances For
reducedMap is TransProbPreserving. It is the composition
projMap (candidateUnitary hf b).symm ∘ f; compose hf with
projMap_transProbPreserving.
HEADLINE (frame reduction). The frame-reduced map fixes every source
basis ray: reducedMap hf b (mk (b i)) = mk (b i).
Proof chain. Write U := candidateUnitary hf b. By definition
reducedMap hf b (srcPoint b i) = projMap U.symm (f (srcPoint b i)). Rewrite
f (srcPoint b i) backward via candidateUnitary_agrees_on_basis to
mk (U (b i)); push projMap U.symm through projMap_mk to
mk (U.symm (U (b i))); and U.symm (U (b i)) = b i by
LinearIsometryEquiv.symm_apply_apply. mk is proof-irrelevant in its nonzero
hypothesis, so the dependent nonzero proofs are immaterial.
Critical honesty note. Fixing the basis rays does not make reducedMap
the identity: the diagonal-phase freedom is genuine and is exactly what the
remaining normal-form lemma (step (2c)) must pin down. Do not read this as
reducedMap = id or f = projMap (candidateUnitary hf b).
Stage 1: moduli preservation #
A TransProbPreserving map fixing a projective point q preserves the
transition probability from every point to q (TransProbPreserving.transProb_of_fixed).
Applied to reducedMap hf b, which fixes every source basis ray, this shows the
modulus profile of the coordinates in the basis b is preserved: writing
reducedMap hf b (mk ψ) = mk φ, the normalised squared modulus
‖b.repr ψ i‖² / ‖ψ‖² of each coordinate is preserved
(reducedMap_coord_modulus). This is the coordinate-free heart of the Wigner
normal-form argument; it does not yet pin phases.
Moduli-preservation kernel. A transition-probability-preserving map
fixing a projective point q preserves the transition probability from every
point to q. General in E.
The transition probability from mk ψ to the i-th source basis ray
srcPoint b i is the normalised squared modulus of the i-th coordinate
b.repr ψ i. Uses norm_inner_symm and OrthonormalBasis.repr_apply_apply to
identify ‖⟪ψ, b i⟫‖ = ‖b.repr ψ i‖, and Orthonormal.norm_eq_one to drop the
unit basis norm from the denominator.
Stage 1 (moduli preservation). Writing reducedMap hf b (mk ψ) = mk φ,
the normalised squared modulus of every coordinate in the basis b is preserved:
‖b.repr φ i‖² / ‖φ‖² = ‖b.repr ψ i‖² / ‖ψ‖², where φ is the canonical
representative of the image ray. Combines the moduli-preservation kernel
TransProbPreserving.transProb_of_fixed (with q = srcPoint b i, fixed by
reducedMap_fixes_basis) and the coordinate reading transProb_srcPoint.
Stage 2: the two-level phase normal form #
For distinct indices i₀ ≠ i, the frame-reduced map sends the superposition ray
mk (b i₀ + b i) to a ray mk (b i₀ + ε • b i) with ε unimodular
(reducedMap_two_level_normal_form). Stage 1 forces the image rep to be
supported on {i₀, i} with equal coordinate moduli there; normalising the ray so
that the i₀-coordinate is 1 leaves a single unit phase ε := d_i / d_{i₀}.
The genuine content is the support restriction plus the modulus equality; the
phase ε is not yet pinned to 1 (that is Stage 3, the cocycle).
The sum of two distinct basis vectors is nonzero: its squared norm is 2
(Pythagoras via norm_add_sq_eq_norm_sq_add_norm_sq_of_inner_eq_zero, using the
orthogonality b.orthonormal.2 hij and the unit norms).
Support reconstruction. A vector whose coordinates in the basis b
vanish outside {i₀, i} is the pair sum of its two surviving coordinates.
OrthonormalBasis.sum_repr expands φ, Finset.sum_subset drops the null
coordinates, and Finset.sum_pair collapses the two-element sum.
Profile ⇒ two-level normal form. A nonzero vector supported on {i₀, i}
with equal coordinate moduli there (and nonzero i₀-coordinate) spans the ray
mk (b i₀ + ε • b i) for the unit phase ε := (b.repr φ i) / (b.repr φ i₀).
Factoring b.repr φ i₀ out of the pair reconstruction rescales the ray; the
modulus equality gives ‖ε‖ = 1.
Stage 2 (two-level phase normal form). For distinct i₀ ≠ i, the
frame-reduced map sends the superposition ray mk (b i₀ + b i) to
mk (b i₀ + ε • b i) for a unimodular ε. Stage 1 (reducedMap_coord_modulus)
forces the image rep to be supported on {i₀, i} with equal moduli there;
mk_eq_two_level_of_profile packages the ray normal form. This pins the image
ray up to the single phase ε; pinning ε = 1 (globally coherently) is the
Stage 3 cocycle, not proved here.
Stage 3 piece 1: the diagonal-phase reduction #
The first piece of the Stage 3 residual, on the critical path to the dichotomy.
It removes the Stage-2 two-level phases by post-composing the frame-reduced map
g = reducedMap hf b with a diagonal isometry D⁻¹ in the basis b.
- The diagonal isometry. For a unit-modulus phase family
ε : Fin N → ℂ(∀ i, ‖ε i‖ = 1), the scaled familyfun i => ε i • b iis again an orthonormal basis (scaledBasis);diagUnitary b ε hεis the≃ₗᵢ[ℂ]carryingbto it, sodiagUnitary (b i) = ε i • b i(diagUnitary_apply_basis) and(diagUnitary).symm (b i) = (ε i)⁻¹ • b i(diagUnitary_symm_apply_basis). This is diagonal in the basisb, not in the standard basis, so it is built as anOrthonormalBasis.equiv, not aMatrix.diagonal. - The extracted phases.
twoLevelPhase hf b i₀reads off, per index, the Stage-2 phaseεᵢfromreducedMap_two_level_normal_form(anchored atε i₀ := 1), with‖twoLevelPhase hf b i₀ j‖ = 1for everyj(twoLevelPhase_norm). - The diagonally-reduced map.
diagReducedMap hf b i₀ := projMap (D).symm ∘ reducedMap hf bwithD := diagUnitary b (twoLevelPhase hf b i₀) …. It isTransProbPreserving(diagReducedMap_transProbPreserving), still fixes every basis ray (diagReducedMap_fixes_basis), and additionally fixes the two-level raysmk (b i₀ + b i)for everyi ≠ i₀(diagReducedMap_fixes_two_level) — the setup the cocycle step (pieces 2–3) consumes. No ℂ-linearity is assumed:Dis constructed from the extracted phases, not posited off.
The scaled family fun i => ε i • b i is orthonormal when every phase is
unit modulus (‖ε i‖ = 1): the off-diagonals inherit b's orthogonality, and
the diagonal is conj (ε i) * ε i = ‖ε i‖² = 1 (RCLike.conj_mul).
The ε-scaled family spans: cardinality N linearly independent vectors in
finrank = N. Kept a separate Prop lemma so scaledBasis is a term-mode def
(a tactic-mode data def would over-include ambient section variables).
The ε-scaled orthonormal basis (an orthonormal family of cardinality N
in finrank = N, so OrthonormalBasis.mk applies).
Equations
- Projectivization.scaledBasis b ε hε = OrthonormalBasis.mk ⋯ ⋯
Instances For
scaledBasis evaluates to the scaled basis vector (OrthonormalBasis.mk
apply).
The diagonal isometry in the basis b: the ≃ₗᵢ[ℂ] carrying b to the
ε-scaled basis along the identity reindexing. Diagonal in b
(diagUnitary (b i) = ε i • b i), unit modulus per coordinate.
Equations
- Projectivization.diagUnitary b ε hε = b.equiv (Projectivization.scaledBasis b ε hε) (Equiv.refl (Fin N))
Instances For
diagUnitary scales the i-th basis vector by ε i.
The inverse diagUnitary scales the i-th basis vector by (ε i)⁻¹.
diagUnitary ((ε i)⁻¹ • b i) = b i (since ε i ≠ 0), then
symm_apply_apply.
The Stage-2 phase, extracted per index and anchored at ε i₀ := 1.
For j ≠ i₀, twoLevelPhase hf b i₀ j is the unit phase εⱼ supplied by
reducedMap_two_level_normal_form for the pair (i₀, j).
Equations
- Projectivization.twoLevelPhase hf b i₀ j = if h : j = i₀ then 1 else Classical.choose ⋯
Instances For
The anchor phase is 1: twoLevelPhase hf b i₀ i₀ = 1.
Every extracted phase is unit modulus: ‖twoLevelPhase hf b i₀ j‖ = 1
(anchor ‖1‖ = 1; off-anchor from the Stage-2 choose_spec).
The diagonally-reduced map: projMap D⁻¹ ∘ reducedMap hf b, where
D := diagUnitary b (twoLevelPhase hf b i₀) … is the diagonal isometry built
from the extracted phases.
Equations
- Projectivization.diagReducedMap hf b i₀ p = Projectivization.projMap (Projectivization.diagUnitary b (Projectivization.twoLevelPhase hf b i₀) ⋯).symm (Projectivization.reducedMap hf b p)
Instances For
diagReducedMap is TransProbPreserving. Composition of the
preserving projMap D⁻¹ and the preserving reducedMap hf b.
diagReducedMap still fixes every basis ray. reducedMap fixes
mk (b i), then projMap D⁻¹ sends it to mk ((ε i)⁻¹ • b i) = mk (b i)
(scaling invariance).
HEADLINE (diagonal-phase reduction). The diagonally-reduced map fixes
the two-level superposition ray mk (b i₀ + b i) for every i ≠ i₀.
Proof. Stage 2 (reducedMap_two_level_normal_form, extracted through
twoLevelPhase) gives reducedMap hf b (mk (b i₀ + b i)) = mk (b i₀ + c • b i)
with c := twoLevelPhase hf b i₀ i unit modulus. Applying D⁻¹:
D⁻¹ (b i₀) = (ε i₀)⁻¹ • b i₀ = b i₀ (anchor ε i₀ = 1) and
D⁻¹ (b i) = c⁻¹ • b i, so D⁻¹ (b i₀ + c • b i) = b i₀ + (c c⁻¹) • b i = b i₀ + b i. Hence the ray is fixed. This is the setup consumed by the cocycle
step (pieces 2–3): a TransProbPreserving map fixing every basis ray and every
two-level ray mk (b i₀ + b i). No ℂ-linearity assumed.
Stage 3 piece 2: coordinate moduli, the two-level relative phase, cocycle datum #
Piece 2 of the Stage-3 residual, the derivation-heavy core, built on the diagonally
reduced map h := diagReducedMap hf b i₀ (TransProbPreserving, fixing every basis
ray and every anchored two-level ray mk (b i₀ + b i)). Writing h (mk ψ) = mk φ,
cⱼ := b.repr ψ j, dⱼ := b.repr φ j:
- Moduli (
coord_modulus_of_fixes_basis,diagReducedMap_coord_modulus):‖dⱼ‖² / ‖φ‖² = ‖cⱼ‖² / ‖ψ‖², for anyTransProbPreservingmap fixing the basis rays. - Two-level relative phase (
two_level_relphase_of_fixes,diagReducedMap_two_level_relphase) — the heart of piece 2:Re(d̄_{i₀} d_i) / ‖φ‖² = Re(c̄_{i₀} c_i) / ‖ψ‖², i.e.arg(d_i / d_{i₀}) = ± arg(c_i / c_{i₀}). The overlap fixes only the real part; the sign of the imaginary part — the cocycle's ℤ/2 datum — stays free. - Conditional pairwise relation (
diagReducedMap_pairwise_relphase_of_fixed): for any pair(i, j)whose two-level ray is fixed byh, the analogous relationRe(d̄_i d_j) / ‖φ‖² = Re(c̄_i c_j) / ‖ψ‖²holds.
No ℂ-linearity of f/h is used anywhere below: every relation comes from the
transProb/transProbVec overlap algebra, the fixed-point content of
diagReducedMap, and the moduli. The precise residual is documented after the
lemmas and in the Stage 3 (residual) section.
Complex parallelogram expansion. For A B : ℂ,
‖A + B‖² = ‖A‖² + ‖B‖² + 2·Re(conj A · B). Via Complex.normSq_add and
Complex.normSq_eq_norm_sq; (A · conj B).re = (conj A · B).re since re is
conjugation-invariant.
The inner product of ψ with a basis vector is the conjugate of the
corresponding coordinate: ⟪ψ, b j⟫ = conj (b.repr ψ j). From
OrthonormalBasis.repr_apply_apply (b.repr ψ j = ⟪b j, ψ⟫) and
inner_conj_symm.
The inner product of ψ with a two-level basis sum unfolds to the conjugate
of the coordinate sum: ⟪ψ, b i₀ + b i⟫ = conj (b.repr ψ i₀ + b.repr ψ i).
The squared norm of a two-level basis sum is 2 (Pythagoras via
norm_add_sq_eq_norm_sq_add_norm_sq_of_inner_eq_zero and the unit norms).
Two-level overlap in coordinates. The transition probability from mk ψ
to the two-level ray mk (b i₀ + b i) is
‖b.repr ψ i₀ + b.repr ψ i‖² / (‖ψ‖² · 2). Combines transProb_mk,
inner_add_basis (the numerator), RCLike.norm_conj, and add_basis_norm_sq
(the denominator's ‖b i₀ + b i‖² = 2).
Moduli preservation for a basis-fixing preserver. Any
TransProbPreserving map g that fixes every source basis ray preserves the
normalised squared modulus of every coordinate:
‖b.repr (g (mk ψ)).rep i‖² / ‖(g (mk ψ)).rep‖² = ‖b.repr ψ i‖² / ‖ψ‖².
Generalises reducedMap_coord_modulus off reducedMap to an abstract g; the
proof is the same transProb_of_fixed + transProb_srcPoint composition.
Two-level relative-phase constraint (general). Let g be
TransProbPreserving, fixing every basis ray and the two-level ray
mk (b i₀ + b i). Writing g (mk ψ) = mk φ, the real part of the relative
phase between the i₀- and i-coordinates is preserved:
Re(conj d_{i₀} · d_i) / ‖φ‖² = Re(conj c_{i₀} · c_i) / ‖ψ‖², with
cⱼ = b.repr ψ j, dⱼ = b.repr φ j.
Proof. The two-level overlap transProb (g (mk ψ)) (mk (b i₀ + b i)) equals
transProb (mk ψ) (mk (b i₀ + b i)) because g fixes the two-level ray
(transProb_of_fixed); transProb_two_level reads both as
‖·₀ + ·ᵢ‖² / (‖·‖² · 2). Cross-multiplying and expanding the numerators with
cnorm_add_sq leaves, after cancelling the modulus terms via
coord_modulus_of_fixes_basis, exactly the real-part relation.
No linearity is used: this is pure overlap algebra. The imaginary part of
conj d_{i₀} · d_i — the sign of the relative phase, the cocycle's ℤ/2 datum —
is not pinned, and the result holds for both the unitary (d = c) and
antiunitary (d = conj c) branches.
Moduli preservation for the diagonally reduced map. Instance of
coord_modulus_of_fixes_basis for diagReducedMap hf b i₀.
HEADLINE (two-level relative phase, the heart of piece 2). The diagonally
reduced map diagReducedMap hf b i₀ preserves the real part of the relative phase
between the anchor coordinate i₀ and any coordinate i ≠ i₀:
Re(conj d_{i₀} · d_i) / ‖φ‖² = Re(conj c_{i₀} · c_i) / ‖ψ‖², i.e.
arg(d_i / d_{i₀}) = ± arg(c_i / c_{i₀}). Instance of two_level_relphase_of_fixes
with the basis fixing (diagReducedMap_fixes_basis) and the anchored two-level
fixing (diagReducedMap_fixes_two_level). The ± sign is genuinely free (only the
real part is pinned) and no ℂ-linearity is assumed.
Conditional pairwise relative phase (the (i, j) leg of the 2-cocycle).
For a pair (i, j) whose two-level ray mk (b i + b j) is fixed by
diagReducedMap hf b i₀, the relative-phase relation
Re(conj d_i · d_j) / ‖φ‖² = Re(conj c_i · c_j) / ‖ψ‖² holds. Immediate instance
of two_level_relphase_of_fixes for the pair (i, j). The fixing hypothesis
hfix is the only residual input: the anchored diagonal reduction supplies it
for i = i₀ (diagReducedMap_fixes_two_level) but not for general non-anchored
pairs (see the residual note).
Stage 3 piece 2 (W4): triple-support probe and the non-anchored two-level fixing #
The non-anchored two-level fixing g (mk (b i + b j)) = mk (b i + b j) for
i, j ≠ i₀ — the missing input that upgrades the pairwise relative-phase relation
to unconditional — is derived here through a triple-support probe. The equal
triple ray mk (b i₀ + b i + b j) is first shown fixed
(diagReducedMap_fixes_three_level), then used as a probe carrying both i and
j to fix the non-anchored two-level ray
(diagReducedMap_fixes_two_level_general), whence the conditional pairwise leg
becomes unconditional (diagReducedMap_pairwise_relphase).
Critical honesty (audit). Every probe here is a real-coordinate
superposition (all surviving source coordinates = 1), so its ray is fixed by
the identity and by coordinatewise conjugation alike: fixing it is consistent
with both the unitary (d = c) and antiunitary (d = conj c) branches, and
does not collapse the global unitary/antiunitary choice. What is established
is the coboundary structure of the phase cocycle (the pairwise real-part
relations), not the global sign (piece 3). No ℂ-linearity is assumed: every
alignment comes from moduli preservation, a single fixed-probe overlap, and the
saturation lemma.
Phase alignment from a saturated overlap. If two complex numbers have
equal modulus ‖c‖ = ‖a‖, with a ≠ 0, and the real part of conj a · c
saturates the modulus product Re(conj a · c) = ‖a‖², then c = a. Route:
‖conj a · c‖ = ‖a‖‖c‖ = ‖a‖², so Re = ‖·‖; norm_eq_re_imp_eq makes
conj a · c real and equal to ‖a‖² = conj a · a; cancel conj a ≠ 0. This is
the neutral alignment step; applied to a real-coordinate probe it aligns d = a
on both the unitary and antiunitary branches, so it does not collapse the
sign.
Triple-support reconstruction. A vector whose coordinates in the basis
b vanish outside {i₀, i, j} (distinct) is the triple sum of its three
surviving coordinates. OrthonormalBasis.sum_repr expands φ,
Finset.sum_subset drops the null coordinates, and the three-element
Finset.sum collapses. The 3-support analogue of repr_eq_pair_of_support.
The squared norm of a triple basis sum is 3 (Pythagoras: b i₀ + b i ⟂ b j
and ‖b i₀ + b i‖² = 2, ‖b j‖² = 1).
The inner product of ψ with a triple basis sum unfolds to the conjugate of
the coordinate sum: ⟪ψ, b i₀ + b i + b j⟫ = conj (c_{i₀} + c_i + c_j).
Triple parallelogram expansion. `‖A + B + C‖² = ‖A‖² + ‖B‖² + ‖C‖²
- 2·Re(conj A · B) + 2·Re(conj A · C) + 2·Re(conj B · C)
. Two applications ofcnorm_add_sqplusRe(conj (A+B) · C) = Re(conj A · C) + Re(conj B · C)`.
Triple-level overlap in coordinates. The transition probability from
mk ψ to the equal triple ray mk (b i₀ + b i + b j) is
‖c_{i₀} + c_i + c_j‖² / (‖ψ‖² · 3). Combines transProb_mk, inner_add3_basis
(numerator), RCLike.norm_conj, and add3_basis_norm_sq (denominator).
Stage 3 piece 2 (W4): the triple and non-anchored two-level fixings #
HEADLINE (triple-support fixing). The diagonally reduced map fixes the
equal triple superposition ray mk (b i₀ + b i + b j) for distinct i₀, i, j.
Proof. Write g := diagReducedMap hf b i₀, φ := (g (mk w)).rep with
w := b i₀ + b i + b j. Stage-1 moduli (coord_modulus_of_fixes_basis) restrict
φ to support {i₀, i, j} with equal coordinate moduli ‖d_k‖² = ‖φ‖²/3. The
two anchored two-level fixings (diagReducedMap_two_level_relphase at the probe
w) pin Re(conj d_{i₀} · d_i) = ‖φ‖²/3 = ‖d_{i₀}‖² and likewise for j, which
saturates the modulus product; eq_of_re_conj_mul_eq forces d_i = d_{i₀} and
d_j = d_{i₀}, so φ = d_{i₀} · w and mk φ = mk w.
Audit note. The source coordinates c_{i₀} = c_i = c_j = 1 are real, so this
fixing is consistent with both d = c (unitary) and d = conj c (antiunitary):
it establishes cocycle coboundary structure, not the global sign. No
ℂ-linearity is assumed.
HEADLINE (non-anchored two-level fixing). The diagonally reduced map fixes
every two-level superposition ray mk (b i + b j) with i, j ≠ i₀,
i ≠ j — not only the anchored ones. This upgrades the pairwise relative-phase
leg to unconditional.
Proof. Write g := diagReducedMap hf b i₀, φ := (g (mk w')).rep,
w' := b i + b j. Stage-1 moduli restrict φ to support {i, j}
(d_{i₀} = 0) with ‖d_i‖² = ‖d_j‖² = ‖φ‖²/2. The fixed triple ray
mk (b i₀ + b i + b j) (diagReducedMap_fixes_three_level) — a probe carrying
both i and j — used through transProb_of_fixed gives the overlap identity
‖d_i + d_j‖² / (‖φ‖²·3) = ‖1 + 1‖² / (2·3), whence
Re(conj d_i · d_j) = ‖φ‖²/2 = ‖d_i‖², saturating the modulus product;
eq_of_re_conj_mul_eq forces d_j = d_i, so φ = d_i · w' and mk φ = mk w'.
Audit note. The probe b i₀ + b i + b j and the source b i + b j are
real-coordinate: consistent with both branches. Coboundary structure, not global
sign. No ℂ-linearity assumed.
HEADLINE (unconditional pairwise relative phase, the 2-cocycle coboundary).
For any distinct i, j ≠ i₀, the diagonally reduced map preserves the real
part of the relative phase between coordinates i and j:
Re(conj d_i · d_j) / ‖φ‖² = Re(conj c_i · c_j) / ‖ψ‖², for every source ray
mk ψ. Discharges the hfix hypothesis of
diagReducedMap_pairwise_relphase_of_fixed via the non-anchored two-level fixing
diagReducedMap_fixes_two_level_general.
Together with diagReducedMap_two_level_relphase (the anchored legs
(i₀, k)), the pairwise legs (i, j) here give the full coboundary
structure of the phase 2-cocycle — the real-part relations
Re(c̄_i d_j) = Re(c̄_i c_j)·‖φ‖²/‖ψ‖² for all pairs — with the ± sign of the
imaginary parts still free (the ℤ/2 datum resolved only by piece 3). No
ℂ-linearity is assumed.
Stage 3 piece 3 (W5): the complex probe, the global sign, and the dichotomy #
Piece 3 is the finish. Pieces 1–2 established the phase-cocycle coboundary
structure through real-coordinate probes, which cannot see the global
unitary/antiunitary sign (they are fixed by the identity and by coordinatewise
conjugation alike). Piece 3 introduces the complex probe mk (b i₀ + I • b i),
whose ray is not conjugation-invariant, so it distinguishes the two branches,
and assembles the global dichotomy.
The layout:
- Imaginary relative phase. The
I-probe overlap (transProb_two_level_I,transProb_two_level_negI) pins the imaginary part of the relative phase, the datum invisible to piece 2:two_level_imrelphase_of_fixes(from a fixed complex ray) andtwo_level_imrelphase_of_flips(from a flipped one, the antiunitary reading). - Reconstruction. Given a
TransProbPreservingmap fixing every basis ray, every real two-level raymk (b i + b j), and every complex two-level raymk (b i + I • b j), the full Gram datumconj dᵢ · dⱼ · ‖ψ‖² = conj cᵢ · cⱼ · ‖φ‖²is pinned, forcingφ = λ • ψ, i.e. the map is the identity on rays (eq_id_of_fixes_all_two_level). If instead the complex rays are flipped, the datum conjugates and the map is coordinatewise conjugation in the basisb(eq_bconj_of_flips_complex). ℂ-linearity is an output of this reconstruction, never an input. - The complex probe local dichotomy. For each
i ≠ i₀the diagonally reduced map sendsmk (b i₀ + I • b i)tomk (b i₀ + I • b i)(plus branch) ormk (b i₀ - I • b i)(minus branch): the anchored real-part relation forces the image phase to have zero real part, and unit modulus leaves exactly± I(diagReducedMap_complex_probe).
No ℂ-linearity is assumed anywhere below.
The imaginary-part conversion (x · I · conj y).re = (conj x · y).im,
a coordinate identity in ℂ.
The I-probe b i + I • b j #
The I-probe is nonzero (norm² = 2).
Inner product of ψ with the I-probe:
⟪ψ, b i + I • b j⟫ = conj cᵢ + I · conj cⱼ.
I-probe overlap. transProb (mk ψ) (mk (b i + I • b j)) = ‖cᵢ - I · cⱼ‖² / (‖ψ‖² · 2). The numerator conjugate identity
conj cᵢ + I · conj cⱼ = conj (cᵢ - I · cⱼ) plus RCLike.norm_conj puts it in the
c-coordinate form.
Imaginary relative-phase constraint (fixed complex ray). Let g be
TransProbPreserving, fixing every basis ray and the complex two-level ray
mk (b i + I • b j). Writing g (mk ψ) = mk φ, the imaginary part of the
relative phase is preserved: Im(conj dᵢ · dⱼ) / ‖φ‖² = Im(conj cᵢ · cⱼ) / ‖ψ‖².
The I-probe is not conjugation-invariant, so this is the datum piece 2 could
not reach. Pure overlap algebra; no ℂ-linearity.
The -I-probe b i - I • b j (the flipped complex ray) #
The -I-probe is nonzero (norm² = 2).
Inner product of ψ with the -I-probe:
⟪ψ, b i - I • b j⟫ = conj cᵢ - I · conj cⱼ.
-I-probe overlap. transProb (mk ψ) (mk (b i - I • b j)) = ‖cᵢ + I · cⱼ‖² / (‖ψ‖² · 2).
Imaginary relative-phase constraint (flipped complex ray). If g
TransProbPreserving fixes every basis ray and flips the complex two-level ray,
g (mk (b i + I • b j)) = mk (b i - I • b j), then the imaginary part of the
relative phase is negated: Im(conj dᵢ · dⱼ) / ‖φ‖² = -Im(conj cᵢ · cⱼ) / ‖ψ‖².
This is the antiunitary reading. No ℂ-linearity.
Reconstruction: from the Gram datum to the identity / conjugation #
Reconstruction (unitary branch). A TransProbPreserving map g fixing
every basis ray, every real two-level ray mk (b i + b j), and every complex
two-level ray mk (b i + I • b j) is the identity on rays:
g (mk ψ) = mk ψ for every ψ ≠ 0.
The real relations (two_level_relphase_of_fixes) and the imaginary relations
(two_level_imrelphase_of_fixes) together pin the full Gram datum
conj dᵢ · dⱼ · ‖ψ‖² = conj cᵢ · cⱼ · ‖φ‖² for every pair; taking a reference
index i₁ with c_{i₁} ≠ 0 gives dⱼ = λ · cⱼ with λ fixed, so φ = λ • ψ.
ℂ-linearity is an output here, not an input.
Coordinatewise complex conjugation in the basis b:
bConjVec b ψ = ∑ⱼ conj(b.repr ψ j) • b j. Its k-th coordinate is
conj(b.repr ψ k) (repr_bConjVec). For the standard basis this is conjVec.
Equations
- Projectivization.bConjVec b ψ = ∑ j : Fin N, (starRingEnd ℂ) ((b.repr ψ).ofLp j) • b j
Instances For
bConjVec b ψ is nonzero when ψ is (some conjugate coordinate is nonzero).
Reconstruction (antiunitary branch). A TransProbPreserving map g fixing
every basis ray, every real two-level ray mk (b i + b j), and flipping every
complex two-level ray, g (mk (b i + I • b j)) = mk (b i - I • b j), is
coordinatewise conjugation in the basis b:
g (mk ψ) = mk (bConjVec b ψ) for every ψ ≠ 0.
The real relations survive, but the imaginary relations are negated
(two_level_imrelphase_of_flips), conjugating the Gram datum to
conj dᵢ · dⱼ · ‖ψ‖² = cᵢ · conj cⱼ · ‖φ‖², so dⱼ = μ · conj cⱼ and
φ = μ • bConjVec b ψ. No ℂ-linearity is assumed; this is the genuine
antiunitary branch of the Wigner disjunction.
The complex probe: the branch-distinguishing local dichotomy #
HEADLINE (the complex probe). For i ≠ i₀ the diagonally reduced map sends
the complex probe ray mk (b i₀ + I • b i) to either itself (plus branch)
or mk (b i₀ - I • b i) (minus branch).
Unlike the real probes of pieces 1–2, the complex probe ray is not invariant
under coordinatewise conjugation (conjVec (b i₀ + I • b i) = b i₀ - I • b i), so
it distinguishes the unitary branch (+) from the antiunitary branch (-).
Proof. Stage-1 moduli restrict the image φ to support {i₀, i} with equal
coordinate moduli. The anchored real relation
(diagReducedMap_two_level_relphase) at the source coordinates c_{i₀} = 1,
c_i = I gives Re(conj d_{i₀} · d_i) = 0, so the ratio ε := d_i / d_{i₀} has
zero real part and unit modulus, hence ε = ± I (unit_re_zero_eq_I_or_negI).
The two signs are the two branches. No ℂ-linearity is assumed.
The reduced-map dichotomy (conditional on the global complex sign) #
The diagonally reduced map fixes every real two-level ray mk (b i + b j),
i ≠ j (anchored via diagReducedMap_fixes_two_level, non-anchored via
diagReducedMap_fixes_two_level_general, with an add_comm swap for the j = i₀
case). Discharges the hR hypothesis of the reconstruction lemmas for the
concrete diagonally reduced map.
The reduced-map Wigner dichotomy (conditional on the global sign).
Given the global complex-sign closure hsign — either the diagonally reduced
map g := diagReducedMap hf b i₀ fixes every complex two-level ray
mk (b i + I • b j), or it flips every one to mk (b i - I • b j) — the map is
globally the identity on rays, or globally coordinatewise conjugation in
the basis b:
- fixes-all branch ⟹
g (mk ψ) = mk ψfor allψ(the unitary class); - flips-all branch ⟹
g (mk ψ) = mk (bConjVec b ψ)for allψ(the antiunitary class).
The real fixings are discharged internally (diagReducedMap_fixes_real_all); the
two disjuncts feed the two reconstruction lemmas. The antiunitary branch is
genuinely present and ℂ-linearity is an output, never assumed. The single
residual to an unconditional Wigner converse is hsign, for which
diagReducedMap_complex_probe supplies the per-pair ± I datum; see the
Stage 3 (residual) note.
Gram datum for a fixed complex ray.
Gram datum for a flipped complex ray.
Gram datum on the diagonal (moduli).
Master witness and the global-sign closure #
Master witness vector: ∑ a, (1 + I·a) • b a. All coordinates nonzero and
all pairwise imaginary relative phases nonzero.
Instances For
The complex probe mk (b i + I • b j) and its conjugate mk (b i - I • b j)
are distinct projective points (their reps are orthogonal).
Abstract algebraic core of the global-sign linking: given the Gram equations
for three coordinates and the master genericity (imaginary relative phases
nonzero), the fixed/flipped sign of the pair (a,b) matches that of (b,c).
Abbreviation: the diagonally reduced map fixes the complex two-level ray (i,j).
Equations
- Projectivization.CFixed hf b i₀ hij = (Projectivization.diagReducedMap hf b i₀ (Projectivization.mk ℂ (b i + Complex.I • b j) ⋯) = Projectivization.mk ℂ (b i + Complex.I • b j) ⋯)
Instances For
Middle-index linking: the complex sign of (a,bx) matches that of (bx,c).
Order swap: the complex sign of (i,j) matches that of (j,i) (by injectivity).
Order swap as an iff.
Shared-first-index linking: the complex sign of (a,bx) matches that of (a,c).
Global constancy: the complex sign is the same for every pair.
HEADLINE (global-sign closure). The per-pair ± I complex-probe datum is
globally consistent: either every complex two-level ray is fixed, or every one is
flipped. Discharges the hsign hypothesis of
diagReducedMap_dichotomy_of_complexSign from transition-probability preservation
alone.
HEADLINE (unconditional reduced-map dichotomy). The diagonally reduced map
is globally the identity on rays, or globally coordinatewise conjugation in b.
The global-sign residual is discharged (diagReducedMap_complexSign_closure);
both branches are genuine and no ℂ-linearity is assumed.
STEP 2: assembly of the Wigner rigidity theorem #
projMap functoriality: composition of projective isometry maps.
Coordinatewise conjugation in the standard basis is conjVec.
HEADLINE (Wigner / Fubini-Study rigidity converse). Every
transition-probability-preserving self-map of ℂℙ^{N-1} is induced by a unitary
(projMap e for a ≃ₗᵢ[ℂ] e) or by an antiunitary (projMap e ∘ conjProj).
ℂ-linearity of e is an OUTPUT of the construction (the reduced map lands on the
identity), never assumed; the antiunitary branch is genuinely present
(conjProj); the global unitary/antiunitary sign is forced from
transition-probability preservation alone. Foundational-triple only.
Stage 3 complete (W6): the Wigner / Fubini-Study rigidity converse #
Stages 1-3 are proved with no linearity assumed on f, only
TransProbPreserving. Stage 3 piece 3 (W5) delivered the complex probe, both
reconstruction directions, and the reduced-map dichotomy conditional on the
global complex-sign closure. W6 discharges that closure
(diagReducedMap_complexSign_closure) from transition-probability preservation
alone: the per-pair ± I datum is globally consistent (all complex two-level
rays fixed, or all flipped). The route is (a) the non-anchored per-pair ± I
dichotomy (diagReducedMap_complex_probe_general); (b) the master witness
masterVec with every pairwise imaginary relative phase nonzero
(masterVec_im_ne); (c) the abstract Gram-triple core sign_link_core, ruling
out mixed signs via the rank-1 identity g_ab g_bc = g_ac ‖d_b‖² and the
imaginary relative phases; (d) order swap by injectivity
(diagReducedMap_complexSign_swap, distinct rays mk (b i + I b j) and
mk (b i - I b j)) plus index linking (..._link / ..._link' / ..._all).
Neither Complex.arg nor any linearity is used; both ± branches stay alive
until the probes resolve them.
The unconditional diagReducedMap_dichotomy follows, and the headline
wigner_rigidity inverts the frame reductions
(f = projMap (candidateUnitary hf b) ∘ projMap D ∘ diagReducedMap, with
b the standard basis so bConjVec b = conjVec) to conclude that every
TransProbPreserving self-map of ℂℙ^{N-1} is projMap e for a ≃ₗᵢ[ℂ] e
(unitary) or projMap e ∘ conjProj (antiunitary). The antiunitary
branch is genuinely present (conjProj); ℂ-linearity of e is an OUTPUT of the
dichotomy landing on the identity, never assumed; the global sign is forced, not
posited. Foundational triple only (propext, Classical.choice, Quot.sound); no
busch, no sorry, no native_decide.
The Matrix.unitaryGroup reformulation #
wigner_rigidity produces a ≃ₗᵢ[ℂ] witness e and states f = projMap e
(or = projMap e ∘ conjProj). This section restates the theorem in the classic
∃ U : Matrix.unitaryGroup (Fin N) ℂ, f = U • · form, where U • · is the exact
projective action used by transProbPreserving_unitary /
transProb_smul_unitary (the MulAction.compHom of
Matrix.UnitaryGroup.toEuclideanLinearEquivHom). The bridge is the matrix of the
isometry in the standard basis: unitaryOfIsometry e := toEuclideanLin.symm e,
whose columns are e (basisFun j), hence star M * M = 1 by the isometry
property e.inner_map_map and orthonormality of basisFun. The antiunitary
branch is kept genuinely present as U • conjProj p.
The matrix of a linear isometry equivalence in the standard basis of
EuclideanSpace ℂ (Fin N), i.e. the inverse image under the linear equivalence
Matrix.toEuclideanLin. Its toEuclideanLin is e by construction
(unitaryOfIsometry_toEuclideanLin); it lies in unitaryGroup
(unitaryOfIsometry_mem).
Equations
Instances For
toEuclideanLin (unitaryOfIsometry e) = e: the matrix realises the isometry's
linear map. Immediate from LinearEquiv.apply_symm_apply.
Column formula: the (i, j) entry of unitaryOfIsometry e is the i-th
coordinate of e (basisFun j). Evaluate toEuclideanLin (unitaryOfIsometry e)
at the standard basis vector basisFun j (= Pi.single j 1 after ofLp) and use
unitaryOfIsometry_toEuclideanLin.
unitaryOfIsometry e is a unitary matrix: star M * M = 1, because the
(j, k) entry of star M * M is ⟪e (basisFun j), e (basisFun k)⟫ = ⟪basisFun j, basisFun k⟫ = δ_{jk} via e.inner_map_map and orthonormality of
basisFun.
The unitaryGroup element attached to a linear isometry equivalence.
Instances For
The action bridge. projMap e agrees with the unitaryGroup ray action
unitaryGroupOfIsometry e • · used by transProbPreserving_unitary. Reduce p
to mk p.rep, push both sides through projMap_mk /
smul_mk_eq_mk_toEuclideanLin, and note the underlying vectors agree since
toEuclideanLin (unitaryOfIsometry e) = e.
HEADLINE (Wigner rigidity, unitaryGroup form). The classic statement:
every transition-probability-preserving self-map of ℂℙ^{N-1} is U • · for a
U : Matrix.unitaryGroup (Fin N) ℂ (the unitary branch) or U • conjProj ·
(the antiunitary branch), with U • · the same MulAction used by
transProbPreserving_unitary. Reformulation of wigner_rigidity through the
isometry-to-matrix bridge projMap_eq_smul_unitary; no ℂ-linearity is assumed on
f, the antiunitary branch is genuinely present, foundational-triple only.