Empirical/CSD: the einselection commutation criterion ([P, H_int] = 0) #
Category: 6-Local (the open-system / decoherence stratum of D1 — the Hamiltonian-level einselection criterion on the LF6-B machinery).
Build 15a (Empirical/CSD/Einselection.lean) proved decoherence is
basis-selective: the de-isolation channel's output is diagonal in exactly one
basis (up to degeneracy). What it deliberately did not model — its honest-scope
note says so — is the Hamiltonian-level account of which observable an
interaction leaves intact. That is Zurek's einselection criterion: the pointer
observable is the one the interaction Hamiltonian commutes with, hence does
not disturb. This module proves the criterion.
The criterion #
For an interaction H_int (Hermitian) with unitary flow
U(t) = exp (t • (−i • H_int)) (intFlow), commutation [P, H_int] = 0 makes
P a constant of the interaction motion:
- ★
pointer_invariant_of_commute— Heisenberg invarianceU(t)ᴴ P U(t) = P; pointer_population_conserved—tr (P · U ρ Uᴴ) = tr (P · ρ)for every stateρand every time: pointer records do not degrade under the interaction;compress_conj_comm/sector_state_invariant— compressing to theP-sector commutes with the flow, so a state in a pointer sector stays in it;- ★★
pointer_basis_of_commuting— the packaged criterion, for a familyP : ι → Matrix _ _ ℂwith∀ i, Commute (P i) H_int: all three conclusions, every member, every time. Commutation alone is load-bearing — no projection or positivity hypothesis is needed for any of the three (stronger than the textbook phrasing, which states the criterion for projection-valued pointer observables).
The class of interactions, and coherence survival under the flow #
single_commute_diagonal— every computational projection|eᵢ⟩⟨eᵢ| = Matrix.single i i 1(outerProduct_single,LF5/DilationFromFlow.lean) commutes with every pointer-diagonal interaction: the criterion holds for the whole classH_int = diagonal (real spectrum), not one instance (pointer_basis_of_diagonal).intFlow_diagonal— the flow of a diagonal interaction is the diagonal-phase unitary, computed viaMatrix.exp_diagonal.- ★
coherence_modulus_preserved— under that flow every coherence modulus is exactly preserved:‖(U ρ Uᴴ) i j‖ = ‖ρ i j‖. The interaction flow alone never dephases the pointer basis; the dephasing ofLF6/Decoherence.leanis the unmonitored-environment trace, not the flow. Flow preserves, trace selects — the two halves of einselection, now both theorems.
The contrast: a non-commuting observable is disturbed #
Reusing Build 15a's rotated-basis contrast (the Hadamard qmH):
rotatedProj = qmH · |e₀⟩⟨e₀| · qmH is a genuine projection
(rotatedProj_mul_self) that fails the criterion
(rotatedProj_not_commute, against contrastH = diagonal (0, π)), and the flow
punishes it maximally: its population in its own eigenstate falls 1 → 0 in one
stroke (noncommuting_population_disturbed). ★★
einselection_commutation_contrast bundles the two sides: commuting ⟹ conserved,
non-commuting ⟹ disturbed. The pointer basis is the one the interaction does not
disturb — computed, not narrated.
Honest scope and residue #
The criterion einselects the basis given the interaction: H_int is the
measurement context and remains an input, exactly as it is for Bohm and for
Everett — no interpretation derives the apparatus Hamiltonian from first
principles, and this module does not either. What is discharged is the
Hamiltonian-level criterion (parity with the field's accepted einselection
answer, machine-checked); what remains is the D1 obligation, untouched here
(RecordLayer/MomentMapRace.lean, specs/q12-fibre-mechanism-scoping.md).
This supersedes in part the Build 15a honest-scope note ("the basis is the
de-isolation's by construction"): given H_int, the basis is now the
commutation-selected one, a theorem; the interaction itself is still posited.
References #
specs/future-work.md; Empirical/CSD/Einselection.lean (Build 15a — the
channel-level basis selectivity this completes); LF6/Decoherence.lean
(decohereReduced, the trace half); Mathlib/Analysis/Matrix/StoneC1.lean
(Matrix.StoneC1.exp_smul_unitary); LF5/DilationFromFlow.lean
(outerProduct_single). All exports are foundational-triple-only.
The interaction flow #
The interaction flow of a (Hermitian) interaction Hint:
U(t) = exp (t • (−i • Hint)), the one-parameter unitary group Hint generates.
Equations
- CSD.Empirical.CSDBridge.Einselection.intFlow Hint t = NormedSpace.exp (t • -Complex.I • Hint)
Instances For
The interaction flow is unitary (left inverse): U(t)ᴴ U(t) = 1.
Via Matrix.StoneC1.exp_smul_unitary on the skew generator.
The interaction flow is unitary (right inverse): U(t) U(t)ᴴ = 1.
Commutation with the generator also transfers to the adjoint flow:
[P, Hint] = 0 ⟹ [P, U(t)ᴴ] = 0 (the adjoint is the reversed flow).
The criterion: commuting pointer observables are constants of the motion #
★ Heisenberg invariance (the einselection criterion). A pointer observable
commuting with the interaction is a constant of the interaction motion:
U(t)ᴴ P U(t) = P at every time. The interaction does not disturb P — Zurek's
criterion for the preferred (pointer) observable, as a theorem.
Trace bookkeeping: a Heisenberg-fixed observable has conserved expectation under the corresponding Schrödinger conjugation, by trace cyclicity alone.
Pointer populations are exactly conserved. For every state ρ and every
time, tr (P · U(t) ρ U(t)ᴴ) = tr (P · ρ): the record weight in a commuting
pointer observable does not degrade under the interaction flow.
Sector compression commutes with the interaction flow:
P (U ρ Uᴴ) P = U (P ρ P) Uᴴ. Compressing to the pointer sector before or after
the interaction is the same operation.
Pointer-sector states stay in their sector. If ρ is supported in the
P-sector (P ρ P = ρ), so is its image under the interaction flow.
★★ The einselection commutation criterion, packaged. For an interaction
Hint (Hermitian) and a family of pointer observables P i each commuting with
Hint ([P i, H_int] = 0):
- every
P iis a constant of the interaction motion,U(t)ᴴ (P i) U(t) = P i(pointer_invariant_of_commute); - every pointer population is exactly conserved in every state,
tr (P i · U ρ Uᴴ) = tr (P i · ρ)(pointer_population_conserved); - every pointer-sector state stays in its sector (
sector_state_invariant).
Coherences in the P-basis survive the H_int flow; a non-commuting observable
does not enjoy this (see einselection_commutation_contrast). Commutation alone
is load-bearing: no projection hypothesis is required. Residue: the criterion
selects the basis given the interaction — H_int is the measurement context
and remains an input.
The converse: invariance forces commutation — the criterion is a characterisation #
Heisenberg invariance at a time transfers to plain commutation with the flow at that time:
U(t)ᴴ P U(t) = P ⟹ P U(t) = U(t) P (left-multiply by U(t) and cancel U Uᴴ = 1).
★ The converse of the criterion. An observable that is a constant of the interaction
motion at every time commutes with the interaction: differentiate P · U(t) = U(t) · P at
t = 0 to recover [P, H_int] = 0.
★★ The einselection criterion is a characterisation. A pointer observable is a constant of
the interaction motion at every time iff it commutes with the interaction: the pointer
observables of H_int are exactly the commuting ones. Forward: differentiate at t = 0
(commute_of_pointer_invariant); backward: pointer_invariant_of_commute. This upgrades the
criterion from sufficient to characterising, which is the form the einselection literature
intends.
Trace separation: distinct matrices are told apart by some trace pairing (the matrix witness
ρ = single j i 1 reads entry (i, j); ρ is a matrix, not necessarily a state — the
state-level witness is the N = 2 contrast below).
★ A non-commuting observable is disturbed. If [P, H_int] ≠ 0 then at some time some
trace-functional detects the change: tr (P · U ρ Uᴴ) ≠ tr (P · ρ). (The witness ρ is a
matrix; the concrete state-level disturbance is noncommuting_population_disturbed.) With
pointer_population_conserved this separates the commuting from the non-commuting observables
at the population level.
The class: pointer-diagonal interactions #
Every computational pointer projection |eᵢ⟩⟨eᵢ| = Matrix.single i i 1
commutes with every diagonal interaction.
The computational pointer projections are idempotent.
A real-spectrum diagonal is Hermitian.
★ The criterion holds for the whole class of pointer-diagonal
interactions. For every real spectrum d, every computational projection
commutes with H_int = diagonal d and is a constant of its flow — the
class-level statement of einselection for the computational pointer basis.
The flow of a diagonal interaction is the diagonal-phase unitary
diag (e^{−i t d(j)}) (via Matrix.exp_diagonal).
Each diagonal phase has unit modulus.
★ Every coherence modulus survives the interaction flow. Under the flow
of any pointer-diagonal interaction, ‖(U ρ Uᴴ) i j‖ = ‖ρ i j‖ for every entry:
the flow rotates coherences by phases and destroys none of them. The dephasing of
LF6/Decoherence.lean is the unmonitored-environment trace, not the flow —
flow preserves, trace selects.
The contrast: a non-commuting observable is disturbed #
The other half of einselection, concrete at N = 2, reusing Build 15a's
rotated-basis contrast. The interaction contrastH = diag (0, π) is
pointer-diagonal; the Hadamard-rotated projection rotatedProj = qmH |e₀⟩⟨e₀| qmH
(the |+⟩⟨+| projector) does not commute with it, and its population in its
own eigenstate is driven 1 → 0 by the time-one flow — maximal disturbance,
against exact conservation for the commuting pointer projections.
The contrast interaction diag (0, π): pointer-diagonal, Hermitian,
generating the time-one flow diag (1, −1) (the Pauli-Z stroke).
Equations
- CSD.Empirical.CSDBridge.Einselection.contrastH = Matrix.diagonal fun (j : Fin 2) => ↑(![0, Real.pi] j)
Instances For
The Hadamard-rotated pointer projection qmH |e₀⟩⟨e₀| qmH — the |+⟩⟨+|
projector, Build 15a's rotated basis.
Equations
Instances For
The rotated projection, computed: |+⟩⟨+| = (1/2) !![1,1;1,1].
The rotated observable is a genuine projection (idempotent): non-vacuity that the disturbed observable is a legitimate pointer candidate.
The rotated projection fails the commutation criterion:
[rotatedProj, contrastH] ≠ 0. The failing entry is (0,1), where the products
differ by π/2 ≠ 0.
The time-one flow of the contrast interaction is the Pauli-Z stroke
diag (1, −1) (via intFlow_diagonal, Complex.exp_pi_mul_I).
The non-commuting observable is maximally disturbed. In its own
eigenstate (ρ = rotatedProj, population 1), one stroke of the contrast flow
drives the rotatedProj-population to 0: tr (Q · U Q Uᴴ) = 0 while
tr (Q · Q) = 1. Compare pointer_population_conserved: a commuting observable
is conserved in every state, at every time.
★★ The einselection commutation contrast: the criterion separates. For
the pointer-diagonal contrast interaction contrastH = diag (0, π):
- commuting ⟹ conserved — every computational pointer projection is a
constant of the flow,
U(t)ᴴ |eᵢ⟩⟨eᵢ| U(t) = |eᵢ⟩⟨eᵢ|(pointer_basis_of_diagonal); - the rotated observable fails the criterion —
[rotatedProj, contrastH] ≠ 0(rotatedProj_not_commute), though it is a genuine projection (rotatedProj_mul_self); - and is maximally disturbed — its population in its own eigenstate is
driven
1 → 0by one stroke (noncommuting_population_disturbed).
The pointer basis is the one the interaction does not disturb — the field's
einselection answer to "why this basis", machine-checked. Residue: the
interaction H_int is the measurement context and remains an input.