Documentation

CsdLean4.RecordLayer.TwoTimeLuders

RecordLayer/TwoTimeLuders: records at t₁ then t₂, on one arena (Q25) #

Category: 7-SigmaLayer (the record layer — the two-time composition).

The question this answers #

"What happens to the OTHER regions Ω_j when outcome i is realised?" The corpus had the one-measurement dynamics complete (swap_sector_born, swap_luders_marginal) and the sequential statistics as CONDITIONAL statements about the post-measurement ensemble (csd_sequential_born, csd_repeatability). This module composes them into the two-time statement on one arena: a single composite space carrying BOTH measurements, the JOINT law of the record pair, and the first record persisting — structurally — through the second measurement.

The construction #

Extend the swap arena with a second apparatus — a fresh register and a fresh bank ("one measurement consumes one bank" is the standing scope note, so a second measurement carries its own):

TwoStageArena Xsel K = SwapArena Xsel K × (T²_R × (Fin K → Xsel)).

Stage 1 is the first swap propagator with the second apparatus as a spectator (stageOne). Stage 2 is the second swap propagator conjugated by the coordinate shuffle regroup that brings (system, register₂, bank₂) together while the stage-1 record coordinates ride untouched (stageTwo). Because the stage-2 evolution provably never touches register₁ or bank₁ (stageTwo_register₁, stageTwo_bank₁ — definitional, the same reason swapG_register was free), the t₁ record is still on display at t₂.

What is proved #

⚠️ Scope #

References #

specs/two-time-luders-scoping.md (the Q25 scoping note this executes); RecordLayer/SwapLuders.lean (swap_luders_marginal, cond_prod_cylinder — the engine); RecordLayer/SwapClosure.lean (swapPrep, swap_sector_born, swap_sector_born_ctx, prep_outcome_pos); RecordLayer/SwapWitness.lean (the arena and propagator); Empirical/CSD/SequentialMeasurement.lean (the conditional tier this upgrades); specs/BACKLOG.md (Q25).

The two-stage arena and its evolutions #

@[reducible, inline]
abbrev CSD.RecordLayer.TwoStageArena (Xsel : Type u_2) (K : ) :
Type u_2

The two-stage arena: the swap arena of the first measurement, together with the second apparatus — a fresh register and a fresh bank.

Equations
Instances For
    def CSD.RecordLayer.regroup {Xsel : Type u_1} {K : } (x : TwoStageArena Xsel K) :

    The regrouping shuffle: bring (system, register₂, bank₂) together as a swap arena, with the stage-1 record coordinates (register₁, bank₁) as spectators. An involution.

    Equations
    Instances For
      theorem CSD.RecordLayer.regroup_regroup {Xsel : Type u_1} {K : } (x : TwoStageArena Xsel K) :
      noncomputable def CSD.RecordLayer.stageOne {Xsel : Type u_1} {K : } (idx₁ : XselFin K) :
      TwoStageArena Xsel KTwoStageArena Xsel K

      Stage 1: the first swap propagator runs on its own arena; the second apparatus is a spectator.

      Equations
      Instances For
        noncomputable def CSD.RecordLayer.stageTwo {Xsel : Type u_1} {K : } (idx₂ : XselFin K) :
        TwoStageArena Xsel KTwoStageArena Xsel K

        Stage 2: the second swap propagator runs on (system, register₂, bank₂); the stage-1 record coordinates are spectators. The lifted evolution, conjugated by the regrouping shuffle.

        Equations
        Instances For
          noncomputable def CSD.RecordLayer.twoStage {Xsel : Type u_1} {K : } (idx₁ idx₂ : XselFin K) :
          TwoStageArena Xsel KTwoStageArena Xsel K

          The composed two-time propagator: stage 1, then stage 2.

          Equations
          Instances For
            theorem CSD.RecordLayer.measurable_stageOne {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₁ : XselFin K) (h₁ : Measurable idx₁) :
            theorem CSD.RecordLayer.measurable_stageTwo {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₂ : XselFin K) (h₂ : Measurable idx₂) :
            theorem CSD.RecordLayer.measurable_twoStage {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₁ idx₂ : XselFin K) (h₁ : Measurable idx₁) (h₂ : Measurable idx₂) :
            Measurable (twoStage idx₁ idx₂)

            ★ The first record persists — structurally #

            theorem CSD.RecordLayer.stageTwo_register₁ {Xsel : Type u_1} {K : } (idx₂ : XselFin K) (x : TwoStageArena Xsel K) :
            (stageTwo idx₂ x).1.1.2 = x.1.1.2

            ★ The second measurement never touches the first register. Definitional: the stage-2 evolution acts through the shuffle, and register₁ rides in the spectator slot. This is what makes the t₁ record readable at t₂.

            theorem CSD.RecordLayer.stageTwo_bank₁ {Xsel : Type u_1} {K : } (idx₂ : XselFin K) (x : TwoStageArena Xsel K) :
            (stageTwo idx₂ x).1.2 = x.1.2

            The second measurement never touches the first bank — the ontic memory of the first measurement (the relocated pre-measurement state) survives the second.

            The record events #

            def CSD.RecordLayer.recordOneEvent {Xsel : Type u_1} {K : } (i : Fin K) :

            The event "the first register displays outcome i".

            Equations
            Instances For
              def CSD.RecordLayer.recordTwoEvent {Xsel : Type u_1} {K : } (j : Fin K) :

              The event "the second register displays outcome j".

              Equations
              Instances For
                def CSD.RecordLayer.jointRecordSector {Xsel : Type u_1} {K : } (idx₁ idx₂ : XselFin K) (i j : Fin K) :

                The joint two-record sector: the initial states destined to display record i at t₁ and record j at t₂.

                Equations
                Instances For
                  theorem CSD.RecordLayer.recordOneEvent_eq {Xsel : Type u_1} {K : } (i : Fin K) :

                  The first-record event is a cylinder over the first pointer region.

                  Persistence at the event level #

                  theorem CSD.RecordLayer.stageTwo_preimage_recordOne {Xsel : Type u_1} {K : } (idx₂ : XselFin K) (i : Fin K) :

                  ★ Stage 2 does not move the first-record event: reading register₁ after the second measurement is reading it before. The event-level form of persistence.

                  theorem CSD.RecordLayer.stageTwo_preimage_recordTwo {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₂ : XselFin K) (h₂ : Measurable idx₂) (j : Fin K) :

                  The second-record event pulls back through stage 2 to the second protocol's outcome sector, cylindered by the shuffle.

                  Conditioning commutes with a pushforward #

                  Conditioning commutes with a measurable pushforward. Reusable, no CSD content.

                  The generic two-stage composition #

                  noncomputable def CSD.RecordLayer.twoStagePrep {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (μ12 : MeasureTheory.Measure (Xsel × LF4.KTorus)) (ν₁ : Fin KMeasureTheory.Measure Xsel) (μR₂ : MeasureTheory.Measure LF4.KTorus) (ν₂ : Fin KMeasureTheory.Measure Xsel) :

                  The generic two-stage preparation: stage-1 system-and-register μ12 with bank ν₁; second apparatus register μR₂ with bank ν₂ — all independent, as fresh apparatus is.

                  Equations
                  Instances For
                    theorem CSD.RecordLayer.two_stage_first_record {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₁ idx₂ : XselFin K) (h₁ : Measurable idx₁) (μ12 : MeasureTheory.Measure (Xsel × LF4.KTorus)) [MeasureTheory.IsProbabilityMeasure μ12] (ν₁ : Fin KMeasureTheory.Measure Xsel) [∀ (j : Fin K), MeasureTheory.IsProbabilityMeasure (ν₁ j)] (μR₂ : MeasureTheory.Measure LF4.KTorus) [MeasureTheory.IsProbabilityMeasure μR₂] (ν₂ : Fin KMeasureTheory.Measure Xsel) [∀ (j : Fin K), MeasureTheory.IsProbabilityMeasure (ν₂ j)] (i : Fin K) :
                    (twoStagePrep μ12 ν₁ μR₂ ν₂) (twoStage idx₁ idx₂ ⁻¹' recordOneEvent i) = (μ12.prod (MeasureTheory.Measure.pi ν₁)) ((swapProtocol idx₁ h₁).outcomeSector i)

                    The stage-1 record marginal is untouched by composing — the second apparatus cannot retro-act on the first record's probability.

                    theorem CSD.RecordLayer.two_stage_joint {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₁ idx₂ : XselFin K) (h₁ : Measurable idx₁) (h₂ : Measurable idx₂) (μ12 : MeasureTheory.Measure (Xsel × LF4.KTorus)) [MeasureTheory.IsProbabilityMeasure μ12] (ν₁ : Fin KMeasureTheory.Measure Xsel) [∀ (j : Fin K), MeasureTheory.IsProbabilityMeasure (ν₁ j)] (μR₂ : MeasureTheory.Measure LF4.KTorus) [MeasureTheory.IsProbabilityMeasure μR₂] (ν₂ : Fin KMeasureTheory.Measure Xsel) [∀ (j : Fin K), MeasureTheory.IsProbabilityMeasure (ν₂ j)] (i j : Fin K) (hpos : μ12 ((shearProtocol idx₁ h₁).outcomeSector i) 0) :
                    (twoStagePrep μ12 ν₁ μR₂ ν₂) (jointRecordSector idx₁ idx₂ i j) = (μ12.prod (MeasureTheory.Measure.pi ν₁)) ((swapProtocol idx₁ h₁).outcomeSector i) * (((ν₁ i).prod μR₂).prod (MeasureTheory.Measure.pi ν₂)) ((swapProtocol idx₂ h₂).outcomeSector j)

                    ★★ The generic two-stage composition. The joint two-record probability factors as (stage-1 sector measure) × (stage-2 sector measure at the relocated state): conditioned on the first record, the second apparatus sees the slot-i calibration as its system (swap_luders_marginal) with its own fresh register and bank, so the stage-2 record probability is the single-measurement sector probability at that input. The stage-2 record event never reads the stage-1 record coordinates — only the system marginal of the conditioned state enters.

                    The CSD forms #

                    The canonical two-stage preparation: system at p with ready register and vertex-calibrated bank for the first measurement, fresh ready register and vertex-calibrated bank for the second.

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

                      ★★ The two-time Born law, on one arena. For the canonical ready preparation at p, measured in the computational basis at t₁ and in an ARBITRARY context c₂ at t₂:

                      P(record i at t₁ ∧ record j at t₂) = momentMap p i · c₂.rate [eᵢ] j.

                      The first factor is the dynamical Born weight of the preparation; the second is the Born weight of the COLLAPSED state [eᵢ] in the second context — Born-then-Lüders-Born as one number, with both records on one arena and the first persisting through the second measurement. This is the composed two-time statement csd_sequential_born (a conditional) could not express.

                      ★ Von Neumann repeatability, in composed two-time form. Measure the computational basis twice: the joint law is momentMap p i · δᵢⱼ — the same outcome recurs, any other pair of records has probability zero, as ONE statement about the two-record sector.

                      The stage-1 record marginal, in CSD form: composing does not disturb the first Born law.

                      ★ The fate of the other Ω_j — the conditioned re-partition the next context sees. CONDITIONED on record i at t₁, the probability of record j at t₂ is the collapsed state's rate c₂.rate [eᵢ] j. For the repeated context (c₂ = momentContext) this makes every other Ω_j NULL and Ω_i certain (momentMap_vertex); for a fresh context it is the Lüders-updated Born law. The post-outcome fate of the other regions, stated as a conditional probability on the composed arena.

                      Both records on display #

                      theorem CSD.RecordLayer.two_stage_readouts {Xsel : Type u_1} [MeasurableSpace Xsel] {K : } (idx₁ idx₂ : XselFin K) (h₁ : Measurable idx₁) (h₂ : Measurable idx₂) {i j : Fin K} {x : TwoStageArena Xsel K} (hx : x jointRecordSector idx₁ idx₂ i j) :
                      (swapProtocol idx₁ h₁).readout (twoStage idx₁ idx₂ x).1 = some i (swapProtocol idx₂ h₂).readout (regroup (twoStage idx₁ idx₂ x)).1 = some j

                      ★ Both records are visible at t₂. On the joint sector, the final state's first register reads some i — the persisting t₁ record — and its second register reads some j, through each protocol's own readout.