Documentation

CsdLean4.RecordLayer.RecordPersistence

SigmaLayer/RecordPersistence: persistence and the post-measurement ensemble (items 5–6) #

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

Two things a measurement must do beyond producing an outcome:

★ Both use the evolution, which is the point #

The plan is explicit that reusing the same set at every time does not count as persistence. So record_persists_on_interval is stated about P.evolve P.startTime t for a range of t, and its proof goes through evolve_comp — it is a statement about the propagator, not about a set that happens not to depend on time. Likewise postMeasure is a genuine pushforward along the propagator, not a relabelling of the conditioned measure.

What is proved #

★ Selection versus disturbance #

measure_outcomeSector_eq_of_correlates (previous module) answers which initial sector produced outcome i — selection. postMeasure answers where the selected ensemble ends up — disturbance. They are different operations on different measures, and the corpus previously had no way to say the second at all.

postMeasure_supported_pointerRegion is close to definitional, and that is a good sign rather than a weak one: Φ⁻¹(Bᵢ) is Ωᵢ by construction, so conditioning on Ωᵢ and pushing forward lands in Bᵢ with probability one, for any propagator. The content is in the definitions lining up, which is what a correct interface looks like.

⚠️ Scope #

References #

SigmaLayer/MeasurementProtocol.lean (MeasurementProtocol, outcomeSector, CorrelatesOn); SigmaLayer/MeasurementConstraints.lean; SigmaLayer/ConditioningLuders.lean (the operational Lüders result this does not yet connect to); specs/BACKLOG.md (the ★★ row).

Item 5 — persistence #

Post-readout invariance of the pointer regions. Once the record is made, the evolution keeps the state inside the region displaying it, for the whole operational lifetime.

⚠️ A hypothesis, deliberately not a field of MeasurementProtocol. This is an assumption about the dynamics — exactly the kind the implementation plan warns must not be hidden inside a structure. A concrete witness must establish it, either by showing Bᵢ is forward invariant under the post-interaction flow or by exhibiting a conserved pointer observable.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem CSD.RecordLayer.MeasurementProtocol.record_persists_on_interval {Sigma : Type u_1} [MeasurableSpace Sigma] {K : } (P : MeasurementProtocol Sigma K) (hinv : P.PointerInvariantOn) {i : Fin K} {x : Sigma} (hx : x P.outcomeSector i) {t : SigmaLayer.OnticTime} (ht₁ : P.readoutTime t) (ht₂ : t P.readoutTime + P.recordDuration) :

    ★ The record persists across the operational window.

    A state destined for outcome i sits in the pointer region for outcome i at every time of [T_M, T_M + τ_R], not merely at the readout time.

    ★ The proof runs through evolve_comp: Φ_{0→t} = Φ_{T→t} ∘ Φ_{0→T}, so persistence is genuinely a statement about the propagator. It is not the observation that a time-independent set is time-independent.

    theorem CSD.RecordLayer.MeasurementProtocol.readout_persists_on_interval {Sigma : Type u_1} [MeasurableSpace Sigma] {K : } (P : MeasurementProtocol Sigma K) (hinv : P.PointerInvariantOn) {i : Fin K} {x : Sigma} (hx : x P.outcomeSector i) {t : SigmaLayer.OnticTime} (ht₁ : P.readoutTime t) (ht₂ : t P.readoutTime + P.recordDuration) :
    P.readout (P.evolve P.startTime t x) = some i

    ★ The apparatus reads the same outcome throughout the record's lifetime.

    The readout-level form of persistence — and therefore the pointer-level repeatability statement: looking again at any time in [T_M, T_M + τ_R] returns the outcome that was recorded.

    Item 6 — the post-measurement ensemble #

    noncomputable def CSD.RecordLayer.MeasurementProtocol.selectedMeasure {Sigma : Type u_1} [MeasurableSpace Sigma] {K : } (P : MeasurementProtocol Sigma K) (μ : MeasureTheory.Measure Sigma) (i : Fin K) :

    The selected ensemble: the initial measure conditioned on having produced outcome i.

    This is selection — it identifies which initial states were responsible. It says nothing yet about where they end up.

    Equations
    Instances For
      noncomputable def CSD.RecordLayer.MeasurementProtocol.postMeasure {Sigma : Type u_1} [MeasurableSpace Sigma] {K : } (P : MeasurementProtocol Sigma K) (μ : MeasureTheory.Measure Sigma) (i : Fin K) :

      The post-measurement ensemble: the selected ensemble carried through the interaction.

      This is disturbance, as against selection — and it is a genuine pushforward along the propagator, which is what distinguishes it from merely relabelling selectedMeasure.

      Equations
      Instances For
        theorem CSD.RecordLayer.MeasurementProtocol.postMeasure_supported_pointerRegion {Sigma : Type u_1} [MeasurableSpace Sigma] {K : } (P : MeasurementProtocol Sigma K) {μ : MeasureTheory.Measure Sigma} (i : Fin K) (hpos : μ (P.outcomeSector i) 0) (hfin : μ (P.outcomeSector i) ) :
        (P.postMeasure μ i) (P.pointerRegion i) = 1

        ★ After the measurement, the ensemble is supported on the pointer region for the outcome observed.

        The whole selected ensemble lands in Bᵢ: postMeasure μ i (Bᵢ) = 1.

        ★ Almost definitional, and that is the right shape rather than a weakness: Φ⁻¹(Bᵢ) is Ωᵢ by the definition of outcomeSector, so conditioning on Ωᵢ and pushing forward must land in Bᵢ. The content lies in the definitions lining up — which is what a correct interface looks like — and it holds for any propagator, needing neither CorrelatesOn nor PointerInvariantOn.