Documentation

CsdLean4.RecordLayer.ShearDiscontinuity

SigmaLayer/ShearDiscontinuity: the measurement propagator is provably not continuous #

Category: dynamical measurement / classification (machine-checking an external review's claim, 2026-08-02).

The claim, and why it matters #

The external review of the dynamical arc observed: the shear witness's measurement-interval propagator displaces the register by shearAmt (basinIndex x) — an amount depending on a discrete index that jumps across basin seams — so the propagator cannot be continuous, and therefore cannot be the time slice of any ordinary (continuous, let alone smooth Hamiltonian) flow. The earlier classification of "Hamiltonian generation" as scoped on Mathlib's missing manifold API was therefore misjustified: writing down H_int = g(t)·Â_sel ⊗ P̂_R does not make the witness its flow — the flow of that (bounded, self-adjoint) generator is continuous, and the witness is not.

This module machine-checks the review's claim: ★ shearEvolve_not_continuous.

What this does and does not say #

Supporting results #

References #

SigmaLayer/ShearWitness.lean (shearEvolve, pshift, shearAmt); SigmaLayer/MeasurementConstraints.lean (no_everywhere_correlation — the forced-seam no-go); SigmaLayer/DynamicBorn.lean (basinIndex, basinIndex_eq_of_mem); SigmaLayer/DegenerateLuders.lean (vertexPoint, momentMap_vertex); Mathlib/LinearAlgebra/Projectivization/Topology.lean (connectedness, staged); specs/reconstruction-status.md §2a (A2 row); specs/BACKLOG.md (the reopened row).

ℂℙ^{N-1} and KSigma N are connected #

Basin inhabitants at the vertices #

Every fibre point over a vertex lies in that vertex's basin: the vertex's cell has full width, and rep lands in Ioc 0 1 by construction.

The shear displacements are pairwise distinct #

theorem CSD.RecordLayer.pshift_shearAmt_inj (K : ) (r : LF4.KTorus) {i j : Fin K} (h : pshift (shearAmt K i) r = pshift (shearAmt K j) r) :
i = j

Distinct outcomes displace the register to distinct points.

The headline #

★ The shear witness's measurement propagator is not continuous. Over the full measurement interval, the propagator displaces the register by shearAmt (basinIndex x). If it were continuous, the register marginal at a fixed ready register would be a continuous map from the connected space KSigma N onto ≥ 2 distinct points, whose fibres would give a clopen partition — impossible. So the witness is a measurable, measure-preserving, piecewise map, not a time slice of any continuous flow. (Correction 2026-08-02: the no-go forces an exceptional non-correlating set, not discontinuity — see the module header; a continuous propagator with seams mapped outside the pointer regions was open when that was written and is now delivered: continuous_pointerEvolve and nullSeamClosure, both 2026-08-03. Corrected 2026-08-04 (codebase audit).)