SigmaLayer/UntriggeredReadout: the record of the untriggered flow is faithful #
Category: 7-SigmaLayer (dynamical measurement) — the statistics half of
specs/frozen-base-obstruction-scoping.md brick 2.
What this closes, and what it does not #
Brick 2 (SigmaLayer/UntriggeredFlow.lean) built a single untriggered Hamiltonian flow that
creates a record. It said nothing about whether the record carries the right statistics —
its own honest scope flagged that as the gap. This module closes the part of that gap the
chart can express.
- ★
untriggeredReadout— the pointer's displacement,Φ_t(z).x_k − z.x_k, as a function of the initial state. This is what an observer reads. - ★★
readoutCell_eq_observable_preimage— the readout's level sets are the measured observable's level sets, rescaled byt. The pointer partitions the arena exactly the way the observable does. - ★★
measure_readoutCell— therefore, for every preparation measureμ, the probability of a pointer reading is the probability the preparation already assigned to the corresponding observable value. The measurement adds no probability of its own. map_untriggeredReadout— the same statement as a pushforward: the law of the pointer is the law oft · Â.untriggeredReadout_injOn_observable— att ≠ 0the reading determines the observable value, so the record is exact rather than merely correlated.
⚠️ Honest scope — this is the FAITHFULNESS half, not the Born half #
There is no moment map in a Darboux chart. shear_sector_born says the flow-carved sector
carries ENNReal.ofReal (momentMap p i) — a statement about ℂℙ^{N-1}, Fubini–Study, and the
Kähler moment map, none of which exist on Chart n. So this module does not prove a Born
weight, and nothing here should be cited as one.
What it proves is the half that is chart-expressible and that the Born statement presupposes:
the readout is a faithful transport of the preparation. Born would additionally require the
preparation's own weights to be the moment-map weights, and that is exactly the content
ℂℙ^{N-1} supplies and ℝ^{2n} cannot. Supplying it is the arena-level work
(⚠️ RESIDUE(R-016)); the choice of interaction remains open as a permanent boundary
(⚠️ RESIDUE(R-015)).
Measure preservation is not proved here either. RESOLVED in
SigmaLayer/UntriggeredVolume.lean: untriggeredCurve_measurePreserving shows the time-t
map preserves the chart volume (unit determinant, via Mathlib's
Measure.map_linearMap_addHaar_eq_smul_addHaar), so MeasurementConstraints.lean's
necessary conditions apply to this flow (untriggered_no_exact_collapse). The results below
still hold for an arbitrary preparation μ; the volume module says which μ the dynamics
preserves. (This paragraph originally recorded the gap; the strikethrough keeps the record.)
References #
specs/frozen-base-obstruction-scoping.md (brick 2); specs/future-work.md;
SigmaLayer/UntriggeredFlow.lean (untriggeredCurve, untriggeredCurve_records);
RecordLayer/ShearDeIsolation.lean (shear_sector_born — the arena statement this is not);
RecordLayer/MeasurementConstraints.lean (the necessary conditions that assume measure
preservation).
The readout, and the measured observable #
The readout: the pointer's displacement after time t, as a function of the initial
state. This is what an observer of the apparatus actually sees.
Equations
- CSD.SigmaLayer.untriggeredReadout c k t z = (CSD.SigmaLayer.untriggeredCurve c k z t).1 k - z.1 k
Instances For
★★ The readout partitions the arena the way the observable does #
★★ The measurement adds no probability of its own. For every preparation μ, the
measure of a set of pointer readings is the measure the preparation already assigned to the
corresponding set of observable values. The record transports the preparation; it does not
reweight it.
The same statement as a pushforward: the law of the pointer is the law of t · Â.
★ The record is exact, not merely correlated #
★ At t ≠ 0 the reading determines the observable value. Two initial states producing
the same pointer displacement had the same measured value — so the record is exact, and the
observer loses nothing by reading the pointer instead of the system.
The converse, which needs no hypothesis: equal observable values give equal readings. So at
t ≠ 0 the readout and the observable have exactly the same level sets.
Non-degeneracy: the readout is not constant, provided the coupling is non-trivial and the interaction has actually run. Without this the "record" could be vacuous.