RecordLayer/DrivenTwoTime: measure, DRIVE, measure — the two-time law with a flow between the readouts #
Category: 7-SigmaLayer (the record layer — Q25's two-stage arena with a sector flow inserted
between the two measurements, and the first measurement in an arbitrary orthonormal basis; the
record-layer engine TH5d consumes, specs/BACKLOG.md ▶ OPEN QUEUE #4).
What was missing #
RecordLayer/TwoTimeLuders.lean composes two measurements on one arena, but nothing happens
to the system BETWEEN them: the second apparatus reads the relocated state [eᵢ] as it was left.
Every "measure, evolve, measure" statement — a two-point-measurement protocol, a Ramsey sequence,
an echo — needs a flow in the gap. This module inserts one, and lets the first measurement read
an arbitrary orthonormal basis (the two-stage arena's first context was the computational
basis), with a MIXED preparation.
The construction #
driveStage Φ moves the system coordinate by Φ : Xsel → Xsel and touches nothing else;
drivenTwoStage idx₁ Φ idx₂ = stageTwo idx₂ ∘ driveStage Φ ∘ stageOne idx₁. The first register
and bank ride through the drive (driveStage_register₁, driveStage_bank₁), so the t₁ record
still persists structurally.
★ The reindexing identity (drivenJointRecordSector_eq): the joint record sector of the driven
propagator is the joint record sector of the UNDRIVEN propagator at the reindexed second context
idx₂ ∘ Φ. The second register's reading depends on the system only through idx₂, and the
system it sees is Φ of the relocated one (swapEvolve_register_comp). So the drive is, at the
level of records, a change of the second context — and Q25's generic engine two_stage_joint
applies verbatim.
Main results #
Generic (
Xsel):driveStage,drivenTwoStage,drivenJointRecordSector; ★drivenJointRecordSector_eq; ★★driven_two_stage_joint— the joint law factors as (stage-1 sector) × (stage-2 sector atidx₂ ∘ Φ).On
Σ = ℂℙ^{N−1} × T²:baseLift Φ'(a base map lifted to the sector, the fibre untouched —baseLift_unitary_smul: for a unitary it is the corpus'sU(N)action onKSigma);ContextField.pullback(the context "measure after the flow"), with ★basinIndex_pullback(basinIndex (c.pullback Φ') = basinIndex c ∘ baseLift Φ').The mixed first stage in a rotated basis:
mixedReadyPrep_prod_sector(the mixed preparation's sector weight under ANY context and ANY bank is the eigenvalue mixture of the context's rates),mixed_outcome_pos_ctx(positivity licenses conditioning), ★spectral_born_ctx_eq_traceForm(that mixture, in an orthonormal basisb, isTr(ρ ∣bᵢ⟩⟨bᵢ∣)—spectral_born_eq_traceFormat a general basis).★★
driven_mixed_two_time_born— the two-time law with a drive: for a density operatorρ, first readout in the orthonormal basisb, a measurable base mapΦ'between the readouts, and an arbitrary second contextc₂,P(record i at t₁ ∧ record j at t₂) = Tr(ρ ∣bᵢ⟩⟨bᵢ∣) · c₂.rate (Φ' [bᵢ]) j;driven_mixed_two_time_first_record— the drive and the second apparatus cannot retro-act on the first record.
⚠️ Honest scope #
- The drive acts on the BASE and leaves the pointer fibre alone (
baseLift): between the two readouts the system is isolated from both apparatus, and its ontic base point moves by the flow. A drive that also stirs the fibre is not modelled. - The drive sits between the two crossings as a composed map, exactly as the two stages do; the
clock-glued single-propagator form remains
two-time-luders-scoping.md's gated presentation item. Φ'is an arbitrary measurable map. Invertibility, a flow law and Hamiltonian generation are not hypotheses of the joint-law theorem. The second context is an arbitrary normalized rate field; it becomes a quantum Born readout when specialized to a basis context.- Rank-one readouts, one bank per measurement, the vertex-calibrated bank for the second
apparatus (any probability bank would do —
sector_born_ctxis bank-generic).
References #
specs/BACKLOG.md (▶ OPEN QUEUE #4 = TH5d, the consumer; Q25); specs/two-time-luders-scoping.md;
RecordLayer/TwoTimeLuders.lean (stageOne, stageTwo, regroup, two_stage_joint,
two_stage_first_record); RecordLayer/SwapWitness.lean (swapEvolve_fwd, swapG_register);
RecordLayer/RotatedSwap.lean (basisPoint, sector_born_ctx, prep_outcome_pos_ctx);
RecordLayer/RotatedContext.lean (basisContext, basisContext_rate_mk);
RecordLayer/MixedLuders.lean (mixedReadyPrep, mixed_outcome_pos);
RecordLayer/MixedSwap.lean (eigRay, spectral_born_eq_traceForm);
LF4/KahlerInstance.lean (instSMulKSigma); specs/future-work.md.
The drive between the two measurements #
The drive: move the system coordinate by Φ; both registers and both banks ride.
Instances For
The driven two-time propagator: stage 1, the drive, stage 2.
Equations
- CSD.RecordLayer.drivenTwoStage idx₁ Φ idx₂ = CSD.RecordLayer.stageTwo idx₂ ∘ CSD.RecordLayer.driveStage Φ ∘ CSD.RecordLayer.stageOne idx₁
Instances For
The driven joint record sector: the initial states destined to display record i at t₁
and, after the drive, record j at t₂.
Equations
- CSD.RecordLayer.drivenJointRecordSector idx₁ Φ idx₂ i j = CSD.RecordLayer.drivenTwoStage idx₁ Φ idx₂ ⁻¹' (CSD.RecordLayer.recordOneEvent i ∩ CSD.RecordLayer.recordTwoEvent j)
Instances For
★ The drive is a reindexing of the second context #
The register after the crossing depends on the system only through the index: driving the
system by Φ before a swap protocol at idx reads as the swap protocol at idx ∘ Φ.
The second register after the driven stage 2 is the second register after the undriven stage 2 at the reindexed context.
★ The drive is a reindexing of the second context, at the level of record sectors: the
driven joint sector at (idx₁, Φ, idx₂) IS the undriven joint sector at (idx₁, idx₂ ∘ Φ). The
first record never sees the drive; the second register's reading depends on the system only
through the index, and the system it reads is Φ of the relocated one.
The drive does not move the first-record event.
★★ The generic driven two-stage composition: the joint two-record probability with a drive
Φ between the readouts factors as (stage-1 sector measure) × (stage-2 sector measure at the
relocated state, for the reindexed context idx₂ ∘ Φ). two_stage_joint through the
reindexing identity.
The sector flow of a base map, and the pulled-back context #
A base map lifted to the sector: the ontic base point moves, the pointer fibre rides.
Equations
- CSD.RecordLayer.baseLift Φ' = Prod.map Φ' id
Instances For
For a unitary, the lifted base action IS the corpus's U(N) action on Σ
(LF4/KahlerInstance.lean, instSMulKSigma).
The pulled-back context: the apparatus c read AFTER the base flow Φ' — its rate at
p is c's rate at Φ' p.
Equations
Instances For
The basins of the pulled-back context are the pulled-back basins.
★ The pulled-back selector is the selector after the flow: reading the basin index of c
after moving the base by Φ' is reading the basin index of c.pullback Φ'.
The mixed preparation under an arbitrary context and bank #
The mixed preparation's sector weight, for any context and any bank: the eigenvalue mixture of the context's rates at the spectral eigenrays.
Positivity licenses the conditioning, for any context: a nonzero mixed rate gives the
outcome sector nonzero mixed measure. mixed_outcome_pos at a general context field.
★ The spectral bridge in an arbitrary orthonormal basis: the eigenvalue mixture of the
basis-b rates at the eigenrays is the density-operator Born probability Tr(ρ ∣bᵢ⟩⟨bᵢ∣).
spectral_born_eq_traceForm with the standard basis replaced by b.
★★ The two-time law with a drive, for a mixed preparation in a rotated basis #
The two-stage preparation of a mixed system whose first readout is in the orthonormal
basis b: mixedReadyPrep ρ with the bank calibrated to the rotated vertices [bₖ]
(rotatedBank b), and a fresh ready register with the vertex-calibrated bank for the second
apparatus.
Equations
- One or more equations did not get rendered due to their size.
Instances For
★★ Measure, drive, measure — the two-time law with a flow between the readouts. For a
density operator ρ, a first readout in the orthonormal basis b, a measurable base map Φ'
applied between the readouts, and an ARBITRARY second context c₂:
P(record i at t₁ ∧ record j at t₂) = Tr(ρ ∣bᵢ⟩⟨bᵢ∣) · c₂.rate (Φ' [bᵢ]) j.
This conditional helper uses a nonzero first-outcome weight to invoke the conditioned law.
The first factor is the Born weight in basis b; the second is the supplied context rate at
Φ' [bᵢ]. For a basis context the latter is a Born weight. The final theorem
driven_mixed_two_time_born also covers zero first-outcome weight.
No retro-action: neither the drive nor the second apparatus disturbs the first record's
mixed Born law in the basis b.
The driven joint law for every first outcome, including zero-probability outcomes. The first bank is calibrated to the basis rays and both apparatus are independently prepared. The second factor is the supplied context rate; for a basis context it is a Born weight.