SigmaLayer/JoinProtocol: the degenerate measurement as a MeasurementProtocol #
Category: 7-SigmaLayer (dynamical measurement — degenerate Lüders, brick 4: the protocol plumbing).
What this is #
JoinArena.lean proved the degenerate Lüders update is a Liouville-preserving unitary with a
pointwise-correct readout. This module runs that update inside the corpus's standard
measurement architecture — the same two-time-propagator, ready/pointer-region,
record-triggered shape as SwapWitness:
- the ontic space is
Xj × T²_R: join pointℙ(ℂ^{N+N}), system fibre, ancilla fibre, pointer register; - the selector is the coarse block index read off the join point's system ray and the system
fibre (
joinIdx—b ∘ basinIndex ∘ (joinFst, fibre)); - the propagator
joinEvolveshears the register (record creation, as always) and, at the readout crossing, fires the record-triggeredjoinG: apply the join unitary to the join point and exchange the system fibre with the ancilla fibre. The fibre exchange is the degenerate analogue of the rank-one witness's fresh slot: the post-measurement system fibre is the ancilla's (fresh), while the outcome-conditioned original fibre is stored, not destroyed.
Because the arena is literally a shear arena over Xsel = Xj, the whole record apparatus —
regions, readout, sectors, persistence — is inherited from shearProtocol by structure
update; only the propagator cluster is new.
What is proved #
joinG_joinG— the record-triggered map is an involution (joinSwapis a permutation unitary squared to1; the fibre exchange is its own inverse; the register is untouched).joinEvolve_comp— the two-time law, the same eight readout-crossing cases asswapEvolve_comp.joinProtocol— theMeasurementProtocolinstance.join_correlates/join_pointerInvariant—CorrelatesOnandPointerInvariantOndischarged from the constructed propagator, never assumed.- ★
joinEvolve_measurePreserving— the full propagator preserves the join-arena Liouville measure(μ_FS ⊗ vol ⊗ vol) ⊗ vol, at every time pair: the shear part by the generic shear theorem, the crossing part byjoinSwap_measurePreserving(FS unitary invariance) + the fibre-transposition shuffle, glued by the register-arc partition.
⚠️ What brick 5 (the last one) owes #
The conditioned-marginal bookkeeping: the sector-conditioned post-measurement system readout
for the canonical phase-orbit preparation equals epistemicMeasure [Πᵢψ] — the
BlockLudersObligation instance, mirroring SwapLuders. The pointwise input is
join_block_luders; the plumbing is conditioning + pushforward (specs/BACKLOG.md).
References #
SigmaLayer/JoinArena.lean (joinSwap, join_block_luders, joinFst);
SigmaLayer/SwapWitness.lean (the transcribed architecture: arcIndex, the crossing
propagator, the partition argument); SigmaLayer/ShearWitness.lean (shearEvolve and the
generic record machinery, inherited); SigmaLayer/DegenerateLuders.lean
(swap_not_blockLuders — why the rank-one architecture could not host this);
specs/BACKLOG.md.
The join selector space #
The join selector space: join point, system fibre, ancilla fibre.
Equations
- CSD.RecordLayer.JoinSel N = ((CSD.LF4.CPN (N + N) × CSD.LF4.KTorus) × CSD.LF4.KTorus)
Instances For
The coarse selector: block index of the join point's system ray at the system fibre.
Equations
- CSD.RecordLayer.joinIdx b x = b (CSD.RecordLayer.basinIndex (CSD.RecordLayer.momentContext N) (CSD.RecordLayer.joinFst x.1.1, x.1.2))
Instances For
The record-triggered join map #
The record-triggered join map G: if the pointer displays outcome i, apply the join
unitary for block i and exchange the system fibre with the ancilla fibre; otherwise do
nothing. The register is untouched.
Equations
- CSD.RecordLayer.joinG b x = match CSD.RecordLayer.arcIndex K x.2 with | none => x | some i => (((CSD.RecordLayer.joinSwap b i x.1.1.1, x.1.2), x.1.1.2), x.2)
Instances For
G preserves the join-arena Liouville measure #
The join-selector Liouville measure: Fubini–Study on the join point, Haar on both fibres.
Equations
Instances For
The join-arena Liouville measure: selector ⊗ register Haar.
Equations
Instances For
The join arena measure, as its defining product (interface lemma, §9.1).
The register-arc pieces of the join arena.
Equations
- CSD.RecordLayer.joinArcPiece K none = {x : CSD.RecordLayer.JoinSel N × CSD.LF4.KTorus | ∀ (i : Fin K), x.2 ∉ CSD.RecordLayer.pointerArc K i}
- CSD.RecordLayer.joinArcPiece K (some i) = {x : CSD.RecordLayer.JoinSel N × CSD.LF4.KTorus | x.2 ∈ CSD.RecordLayer.pointerArc K i}
Instances For
★ The record-triggered join map preserves the arena Liouville measure — each register arc's piece map preserves it, and each piece is invariant under its own map because the trigger coordinate is untouched.
The crossing propagator #
The join propagator: shear the register; fire the record-triggered join map when the
window crosses readout, in either direction (G is an involution).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pointwise shear composition.
The two-time composition law — the same eight readout-crossing cases as
swapEvolve_comp, closing on G² = id and the frozen shear.
The degenerate-measurement protocol on the join arena. All region and readout structure is inherited from the shear protocol; only the propagator cluster is new.
Equations
- One or more equations did not get rendered due to their size.
Instances For
CorrelatesOn discharged: the register dynamics is the shear's, and G never moves
the register.
PointerInvariantOn discharged: right of readout the propagator is frozen.
★ The full join propagator preserves the arena Liouville measure, at every time pair.