Documentation

CsdLean4.RecordLayer.ShearWitness

SigmaLayer/ShearWitness: a concrete de-isolating interaction (item 3) #

Category: 7-SigmaLayer (the record layer — the dynamical witness).

What this is #

The first concrete measurement witness: an explicit propagator on Σ_sel × T²_R that takes an apparatus-ready pointer into a pointer displaying the outcome the hidden selector had already fixed. It discharges both standing hypotheses of the interface — CorrelatesOn and PointerInvariantOn — so neither is assumed here.

The physics: the von Neumann shear #

Couple the selector's outcome-index observable ι to the pointer momentum,

H_int(t) = g(t) · (ι(x_sel) + 1) · δ · p_R

Hamilton's equations give q̇_R = g(t)(ι+1)δ, ṗ_R = 0, and — the point — ẋ_sel ∝ ∇ι = 0 almost everywhere, because ι is locally constant off the seams between selector sectors. So the coupling translates the pointer at an outcome-dependent rate and does not disturb the selector, except exactly on the measure-zero seam.

★ That is where no_everywhere_correlation said the exceptional set had to live. The constraint predicted the location of the singularity before the construction existed, and the construction puts it there. Two independent routes agreeing is the reason to believe this is the right shape.

Design choices, and why each is forced #

What is proved #

⚠️ Honest scope — what this is NOT #

  1. The Hamiltonian generation is stated, not formalised. The propagator is constructed explicitly and every required property is proved of it. That it is the time-T_M flow of the H_int above is a calculation in symplectic geometry, and Mathlib has no manifold symplectic / Hamiltonian-flow API (reconstruction-status.md §2a, the permanently scoped row). So the plan's "an explicit propagator proved to arise from that Hamiltonian" is half done: explicit propagator yes, proof of Hamiltonian origin no. Do not cite this as a formalised H_int.
  2. It is a witness, not a derivation. The coupling is engineered to work. That is what constructing a witness means, and it is the same standard the rest of the corpus's witness models meet — but it does not show that a physically natural interaction must do this.
  3. ι is the outcome index. One may object that the apparatus is "coupled to the answer". That objection applies verbatim to the textbook von Neumann coupling H ∝ Â ⊗ p̂, which this is the ontic analogue of. Recorded so the reader can weigh it rather than discover it.
  4. Σ_sel is abstract here. The witness needs only a measurable index function, so it is proved at that generality; instantiating ι from globalBasin is a separate step and is not done here.
  5. Measure preservation is not proved. RESOLVEDshear_measurePreserving. (An earlier draft of this docstring listed the theorem before it existed; the claim was withdrawn and is now restored because the proof is in.) The witness is therefore known to satisfy the standing hypothesis of every necessary condition in MeasurementConstraints.lean.
  6. Not connected to the Born weights. measure_outcomeSector_eq_of_correlates would turn shear_correlates into a dynamical Born statement, but that needs the selector sectors to be globalBasin's and their measures to be the Born weights. Now unblocked by (5), and the remaining work is the instantiation, not a missing ingredient.

References #

SigmaLayer/MeasurementProtocol.lean (MeasurementProtocol, CorrelatesOn); SigmaLayer/RecordPersistence.lean (PointerInvariantOn); SigmaLayer/MeasurementConstraints.lean (no_everywhere_correlation — which predicted the seam); SigmaLayer/CircleFibre.lean (rep); LF4/KahlerInstance.lean (KTorus).

Translating the pointer #

noncomputable def CSD.RecordLayer.pshift (a : ) (x : LF4.KTorus) :

Translate the first torus coordinate by a real amount. The pointer's q; the second coordinate is its symplectic partner and is untouched.

Equations
Instances For
    theorem CSD.RecordLayer.pshift_add (a b : ) (x : LF4.KTorus) :
    pshift a (pshift b x) = pshift (a + b) x
    theorem CSD.RecordLayer.rep_pshift_of_mem (x : LF4.KTorus) (a : ) (h : rep x.1 + a Set.Ioc 0 1) :
    rep (pshift a x).1 = rep x.1 + a

    rep is additive under a shift that does not wrap around the circle. The whole reason the region arithmetic below stays on the real line.

    Arc measures #

    volume_circleCell computes the measure of a CDF cell. The witness needs the same fact for arcs specified by arbitrary endpoints, so the general statement is extracted here.

    theorem CSD.RecordLayer.volume_repPreimage {a b : } (h0 : 0 a) (_hab : a b) (hb : b 1) :

    The Haar measure of a circle arc, for endpoints within one turn.

    The witness #

    noncomputable def CSD.RecordLayer.shearWidth (K : ) :

    The arc width ε.

    Equations
    Instances For
      noncomputable def CSD.RecordLayer.shearGap (K : ) :

      The arc spacing δ.

      Equations
      Instances For
        noncomputable def CSD.RecordLayer.shearAmt (K : ) (i : Fin K) :

        The total shift applied to the pointer when the selector reads outcome i.

        Equations
        Instances For
          noncomputable def CSD.RecordLayer.elapsed (u : ) :

          How much of the interaction has run by time u: the coupling is switched on over [0,1] and off thereafter. This is what makes the propagator two-time rather than a group.

          Equations
          Instances For
            noncomputable def CSD.RecordLayer.readyArc (K : ) :

            The apparatus-ready arc: rep ∈ (0, ε].

            Equations
            Instances For

              Arithmetic of the arcs #

              theorem CSD.RecordLayer.shearAmt_pos {K : } (i : Fin K) :
              0 < shearAmt K i

              Every shifted ready state stays below 1: no wraparound.

              theorem CSD.RecordLayer.shearAmt_strictMono {K : } {i j : Fin K} (h : i < j) :

              The ready arc has positive Haar measure, so conditioning on it is legitimate.

              The propagator #

              noncomputable def CSD.RecordLayer.shearEvolve {Xsel : Type u_1} {K : } (idx : XselFin K) (s t : SigmaLayer.OnticTime) :
              Xsel × LF4.KTorusXsel × LF4.KTorus

              The shear propagator. Over [s,t] the pointer is translated by (elapsed t - elapsed s) · (ι+1)δ; the selector is untouched.

              Equations
              Instances For
                theorem CSD.RecordLayer.shearEvolve_comp' {Xsel : Type u_1} {K : } (idx : XselFin K) (s t u : SigmaLayer.OnticTime) :
                shearEvolve idx t u shearEvolve idx s t = shearEvolve idx s u

                The shear composes across time, standalone form (also a field of shearProtocol).

                theorem CSD.RecordLayer.shearEvolve_frozen {Xsel : Type u_1} {K : } (idx : XselFin K) {s t : SigmaLayer.OnticTime} (hs : 1 s) (ht : 1 t) :
                shearEvolve idx s t = id

                Right of the readout time the shear is frozen: the propagator is the identity.

                noncomputable def CSD.RecordLayer.shearProtocol {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) :

                The measurement witness as a MeasurementProtocol.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Measure preservation #

                  Haar measure on the register is translation invariant. Not found by instance search: volume on a product is definitionally the product measure but the invariance instance does not fire through the MeasureSpace instance, so it is supplied here.

                  Translating the pointer preserves Haar measure on the register — translation invariance of Haar on the compact group .

                  The shear propagator preserves the Liouville measure.

                  This is what makes the witness a dynamics rather than an arbitrary relabelling of states, and it is the hypothesis every necessary condition in MeasurementConstraints.lean assumes. A skew product: the selector is held fixed and each fibre is translated by a Haar-preserving shift.

                  ⚠️ The system state does not collapse #

                  ★ The interaction does not change the system's marginal.

                  Prod.fst ∘ evolve = Prod.fst — the shear moves only the pointer — so the base marginal of the post-measurement ensemble is the base marginal of the selected ensemble. Nothing about the system has moved.

                  ⚠️ This is a genuine limitation of the witness, and it is worth stating rather than burying. It means the shear gives repeatability (re-reading the same observable returns the same outcome — readout_persists_on_interval) but it does not implement the Lüders update: after outcome i the system is still at [ψ], not at [eᵢ]. A subsequent incompatible measurement would therefore see the original preparation, which is not what quantum mechanics predicts.

                  ★ And the tension is structural, not an oversight: the property that makes this witness work — ẋ_sel ∝ ∇ι = 0, no back-reaction on the selector — is exactly the property that prevents collapse. A witness that reproduces Lüders must disturb the selector, and then the clean correlation argument has to be redone. So item 6's Lüders half is not merely unbuilt here; this witness cannot supply it, and a different coupling is required.

                  def CSD.RecordLayer.selReady {Xsel : Type u_1} {K : } (idx : XselFin K) (i : Fin K) :

                  The selector-and-ready sector for outcome i.

                  Equations
                  Instances For
                    theorem CSD.RecordLayer.selReady_eq_prod {Xsel : Type u_1} {K : } (idx : XselFin K) (i : Fin K) :
                    selReady idx i = (idx ⁻¹' {i}) ×ˢ readyArc K

                    The selector-and-ready sector factors as a product: selector fibre × ready arc.

                    theorem CSD.RecordLayer.measurableSet_selReady {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) (i : Fin K) :
                    theorem CSD.RecordLayer.selReady_pairwiseDisjoint {Xsel : Type u_1} {K : } (idx : XselFin K) :

                    Distinct selector-and-ready sectors are disjoint: the selector reads one index.

                    theorem CSD.RecordLayer.shear_correlates {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) :

                    CorrelatesOn DISCHARGED. The interaction carries a ready pointer, over a selector reading i, into the pointer arc displaying i. This is the correlation theorem the Paper D obligation asks for — here proved of an explicit propagator rather than assumed.

                    theorem CSD.RecordLayer.shear_pointerInvariant {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) :

                    PointerInvariantOn DISCHARGED — and for a reason that is physics, not bookkeeping: after the readout time the coupling is switched off, so the propagator is the identity and the record cannot move. A one-parameter group could not have expressed the switch-off; this is what the two-time propagator was for.

                    theorem CSD.RecordLayer.shear_readout_ready {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) {x : Xsel × LF4.KTorus} (hx : x.2 readyArc K) :

                    ★ The non-triviality pair. Before the interaction the apparatus reads nothing; after it, it reads exactly the outcome the hidden selector had fixed. Together these rule out an identity flow or a pre-existing label being presented as a created record.

                    theorem CSD.RecordLayer.shear_readout_after {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) {i : Fin K} {x : Xsel × LF4.KTorus} (hx : x selReady idx i) :
                    (shearProtocol idx hidx).readout ((shearProtocol idx hidx).evolve 0 1 x) = some i

                    Externality: the before/after pair #

                    The record-network programme's necessary condition — externality, the outcome information having left the measured system — has a before/after pair on this witness. ⚠️ The "after" half is structurally vacuous here and is recorded as such rather than re-landed as content: the readout reads the register factor only, so the displayed record is invariant under every system-side map by rfl (readout_system_invariant); that is architecture, not physics. The standalone content is the "before" half: prior to the stroke, a system-only transformation changes which outcome gets recorded (outcome_system_dependent_before) — the outcome information is still in the system, and the stroke is what exports it to the register.

                    theorem CSD.RecordLayer.outcome_system_dependent_before {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) {i j : Fin K} (hij : i j) {s s' : Xsel} (hs : idx s = i) (hs' : idx s' = j) {q : LF4.KTorus} (hq : q readyArc K) :
                    (shearProtocol idx hidx).readout ((shearProtocol idx hidx).evolve 0 1 (s, q)) (shearProtocol idx hidx).readout ((shearProtocol idx hidx).evolve 0 1 (s', q))

                    Before the stroke, the outcome is system-dependent. A system-only change moving the selector across basins changes the record the propagator will create: the outcome information has not yet left the system. The contentful half of the externality pair.

                    theorem CSD.RecordLayer.readout_system_invariant {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx : XselFin K) (hidx : Measurable idx) (f : XselXsel) (x : Xsel × LF4.KTorus) :
                    (shearProtocol idx hidx).readout (f x.1, x.2) = (shearProtocol idx hidx).readout x

                    ⚠️ The "after" half, vacuous by architecture and recorded so it is not re-landed as content: the readout reads the register factor only, so the displayed record is invariant under every system-side map, definitionally. Externality of a displayed record is a property of the arena's product structure here, not a theorem with content; the contentful half is outcome_system_dependent_before.