SigmaLayer/PovmSectorBorn: the POVM Born rule at the protocol-sector level #
Category: dynamical measurement — specs/BACKLOG.md B4, discharging the scope
note the 2026-08-04 audit added to PovmDynamics.lean.
What was wrong, and what this fixes #
povm_selector_born was described in prose as "the dynamical POVM Born rule". It is
not: its statement is an epistemicMeasure of a selector fibre
blockIndex (localBlock N K) ⁻¹' {i} — i.e. degenerate_selector_born transported along
the dilation. No protocol, no propagator and no outcome sector appear in its type. The
corpus draws exactly this distinction in SwapClosure.lean:
sector_bornis the dynamical Born, not the kinematic selector Born: the measure of the outcome sector (initial states destined for recordi) equals the Born weight.
The audit corrected the prose and recorded the sector-level lift as an extension. This module delivers it.
★★ povm_sector_born — for a POVM P, any Naimark dilation D, and any block-supported
calibration, the join protocol's outcome sector at the dilated preparation carries
exactly ⟨ψ, Eᵢψ⟩:
joinPrep (Vψ) α ((joinProtocol (localBlock N K)).outcomeSector i) = Tr(ρ… ) = ⟨ψ, Eᵢψ⟩.
This is the dynamical statement — initial states destined for record i, under the join
protocol's own propagator — and it now earns the description the prose used to give the
selector-level one.
Why it is short #
Because the two halves already existed and only needed composing: join_sector_born
(JoinClosure.lean) does the protocol-sector work for an arbitrary block structure — the
preimage_sector_ae + volume_goodTheta spine — and sum_block_normSq_dilate
(PovmDynamics.lean) identifies the block sum at the dilated preparation with the POVM
weight. The dilation is isometric (norm_dilateFlat), so the unit-norm hypothesis
transports. That the lift is a two-line composition is itself the evidence that the
original defect was one of description, not of missing mathematics.
⚠️ Honest scope. (i) The instrument remains dilation-relative — a POVM does not
determine its instrument, and PovmDynamics.lean's scope items (ii)–(iv) are unchanged.
(ii) Realising the isometry V as a unitary-plus-ancilla stroke inside the record
dynamics is still a recorded extension: this theorem, like the selector-level one, takes
the dilated ray [Vψ] as its entry point. (iii) The calibration α is quantified, so the
statistics cannot depend on it.
References #
specs/BACKLOG.md B4; SigmaLayer/PovmDynamics.lean (povm_selector_born,
sum_block_normSq_dilate, and the scope note this discharges);
SigmaLayer/JoinClosure.lean (join_sector_born, the protocol-sector template);
SigmaLayer/SwapClosure.lean (the selector-vs-sector distinction, stated there first).
★★ The POVM Born rule at the protocol-sector level. The join protocol's outcome
sector — the initial states destined for record i — carries exactly the POVM weight
⟨ψ, Eᵢψ⟩ at the dilated preparation. This is the dynamical form that
povm_selector_born was mis-described as; the selector-level statement remains as the
kinematic ingredient.
★★ Every POVM, via the canonical dilation.