LF3 SectorSeparation: sector-state decomposition and pointer-leakage bounds #
Category: 3-Local (LF3 sector-separated final state, per-wing pointer overlaps, leakage bound).
Paper §4 / §9.6. (Renamed from BranchSeparation in Phase 11, 2026-05-18,
to align with the volume-ratios reading: the four (s, t) regions are
eigensectors / volume domains, not Everettian branches.)
Defines the sector-separated final state, the per-wing pointer-overlap
observables, and the cross-sector readout mass; bundles the per-side leakage
parameters as PointerLeakageBounds; proves the sector-decomposition law
(definitional under MeasurementUnitary.action) and the operational
distinguishability bound.
The amplitude cAmp : Sign → Sign → ℂ is carried as an external parameter; the
concrete singlet amplitude is supplied later in Singlet/State.lean so the
import direction stays SectorSeparation → Singlet/State.
Sector state |B_{st}⟩ = |s, t⟩ ⊗ uA|φ_A⁰⟩ ⊗ uB|φ_B⁰⟩, packaged through
the joint eigenstate field of MeasurementUnitary. Each sector labels
one of the four spin pointer-eigenspaces (s, t) ∈ Sign × Sign.
Equations
Instances For
Sector-separated final state after the measurement unitary acts on the
initial pointer state, with the amplitude cAmp (carrying the
detector-setting dependence) supplied externally.
Equations
- CSD.LF3.finalState M cAmp φA0 φB0 = ∑ st : CSD.LF3.Sign × CSD.LF3.Sign, cAmp st.1 st.2 • CSD.LF3.sectorState M st.1 st.2 φA0 φB0
Instances For
s'-sector Born weight of the A-pointer translated by M.ptrTransA s
starting from φA0.
Instances For
t'-sector Born weight of the B-pointer translated by M.ptrTransB t
starting from φB0.
Instances For
Total Born mass landing on a cross-sector readout after measurement: for
each spin sector (s, t) with amplitude cAmp s t, the squared amplitude
is weighted by the cross-sector overlap mass on each side.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Per-side pointer-leakage bounds (paper §4.7). εA, εB upper-bound the
wrong-sector pointer overlap on each wing; the _right fields lower-bound
the correct-sector overlap. Parameterised over the apparatus S, the
measurement unitary M, and the chosen initial pointer states φA0, φB0
(needed to make the overlap predicates well-typed).
- εA : ℝ
A-wing leakage parameter.
- εB : ℝ
B-wing leakage parameter.
The A-wing leakage parameter is non-negative.
The B-wing leakage parameter is non-negative.
Wrong-sector overlap on the A side is bounded by
εA.Wrong-sector overlap on the B side is bounded by
εB.Right-sector overlap on the A side is at least
1 - εA.Right-sector overlap on the B side is at least
1 - εB.
Instances For
The leakage bounds are non-vacuous (the consumers of A_right / B_right) #
A_wrong / B_wrong bound the wrong-sector overlap above; the sector-separation
theorems below use only those. On their own they are satisfied by a completely
uninformative pointer — set every overlap to 0 and any εA, εB ≥ 0 works. What
rules that out is A_right / B_right, the matching bounds below on the right-sector
overlap.
Until 2026-07-28 those two fields were carried by every instance and consumed by nothing
(scripts/check-vacuity.sh), so the two-sided reading of PointerLeakageBounds was
unsupported: nothing in the corpus depended on the pointer registering anything. The
lemmas here are their consumers, and they say what the fields are for.
The A-wing pointer actually registers: with leakage εA < 1 the right-sector
overlap is strictly positive. Consumes A_right.
The B-wing pointer actually registers. Consumes B_right.
The A-wing pointer discriminates: below εA = ½ the right-sector overlap
strictly exceeds the wrong-sector one, so the pointer carries genuine information about
the sector rather than merely failing to leak. Consumes A_right and A_wrong.
The B-wing pointer discriminates. Consumes B_right and B_wrong.
Non-vacuity of the leakage bounds, both wings. Small leakage forces the pointers
to register and to discriminate — so PointerLeakageBounds is not inhabited by the
null model in which nothing is recorded. This is what the A_right/B_right fields buy,
and the reason the sector-separation results below are about a real apparatus.
Theorem targets (paper §4.11 / spec §9.6) #
Sector decomposition of the final state (paper §4.5): the final state is
the four-term sum of sector states weighted by cAmp. Definitional
unfolding of finalState.
Cross-sector readout mass is bounded by εA + εB given amplitude
normalisation (paper §4.11). The proof sums the per-side leakage bounds
weighted by ‖cAmp st‖² and uses ∑ ‖cAmp st‖² ≤ 1.
Disclosure-infrastructure status. This theorem is standalone in
the current Lean tree: no LF3 export consumes it. LF3_finite_leakage_theorem
routes through the operator-form LeakageCompat.sectorVolume_dev field
(in Projectors/SectorVolume.lean) instead, which is structurally a
more direct bound on the quantity the chain capstones actually consume.
The geometric sector_separation_leakage_bound here is kept as paper-side
disclosure infrastructure: it makes the §4.11 inequality formally available
even though the operator-form path supersedes it in the v1.00 chain. A v2
refactor connecting the two would replace LeakageCompat.sectorVolume_dev
with a derived form using this lemma plus a Cauchy-Schwarz step. Not
scheduled for LF4.