Documentation

CsdLean4.Empirical.CSD.Crypto.BB84Sequential

Empirical/CSD/Crypto: BB84 intercept-resend with a dynamical collapse step #

Category: CSD bridge (dynamical). The second empirical entry consuming the measurement dynamics, and the first with a cross-basis sequential read.

The dissolved gate #

Empirical/QM/Crypto/BB84.lean proves the intercept-resend QBER ¼ with an explicit scope note: Eve's measurement is a classical marginal over her outcomes, because a measurement-update (collapse) operator "remains out of scope — the same LF5 gate". That gate predates the dynamical measurement layer. This module replaces the posited marginal with the calibrated-swap dynamics: Eve's measure-and-resend step is csd_sequential_born — the collapse is a pushforward theorem, not a modelling assumption.

The round, and why it is the dual of the QM module's #

The QM module's canonical sifted round is Alice Z, Bob Z, Eve X. Here we take the dual round Alice X (|+⟩), Bob X, Eve Z — so that Eve's measurement is in the computational basis, the calibrated-swap witness's native scope, and Bob's follow-up is the rotated (X-basis) context basisContext xBasisON from SigmaLayer/RotatedContext.lean. The two rounds have the same per-basis error values by the Z/X symmetry of the four states; bb84_dynamical_matches_marginal records that the dynamically derived numbers coincide with the QM module's classical-marginal ones.

Addendum 2026-08-02 — the dual-round caveat is retired: with the unitary-covariance law (SigmaLayer/RotatedSwap.lean, measurement_covariance), the primal round is now directly formalised too: bb84_primal_wrong_basis — Eve X-measures the Z-carrier |a⟩ (rotated selector, rotated bank), and whatever she records, Bob's Z-basin has probability exactly ½. Both rounds now run natively; neither needs the other's symmetry.

Unlike the eraser twin (QuantumEraserVolume.lean), where the cross-basis step was realised kinematically, both measurements here are context-field reads of the dynamical layer: Eve's via momentContext, Bob's via the rotated context — the sequential composition is end-to-end.

What this file proves #

⚠️ Honest scope #

One sifted round of the intercept-resend model, inheriting the calibrated-swap witness's scope notes (calibration posit; Hamiltonian origin §2a-scoped). Eve's basis choice and the ¼ average over it are classical bookkeeping, taken from the QM side. Full composable finite-key security remains the recorded QKD tranche (specs/future-work.md) — nothing beyond intercept-resend is claimed, matching the QM module's own boundary.

References #

Empirical/QM/Crypto/BB84.lean (states, inner products, irErrorZ0, bb84_qber); Empirical/QM/Crypto/B92.lean (ketPlus_inner_self, ketPlus_unit, ketMinus_inner_ketPlus, half — reused, not re-proved); Empirical/CSD/SequentialMeasurement.lean (csd_sequential_born, csd_repeatability_*, readyPrep, prep_outcome_pos); SigmaLayer/RotatedContext.lean (basisContext, basisContext_rate_mk); SigmaLayer/SwapLuders.lean (swap_luders_born — the engine); SigmaLayer/DegenerateLuders.lean (vertexPoint, momentMap_vertex); Bennett–Brassard 1984; specs/BACKLOG.md; specs/future-work.md.

The X basis as an orthonormal basis #

The missing conjugate-order inner products: ⟨+|1⟩ = (√2)⁻¹.

The preparation |+⟩ #

The Born weights of |+⟩ in the computational basis are ½, ½ — the states are mutually unbiased, transported from the QM module's inner products.

Bob's rotated context #

Bob's X-basis rate at Eve's resent eigenstate is ½, all four ways. The rotated context's rate at a computational vertex is the cross-basis Born weight — mutual unbiasedness, now as a context-field fact.

The wrong-basis round: Alice X, Eve Z, Bob X #

Eve's outcome weights are a fair coin. Measuring |+⟩ in the computational basis, each outcome carries weight ½ — Eve's record is uncorrelated with Alice's X-bit. The information side of the information–disturbance tradeoff, as basin measures.

The conditioning is licensed by the preparation: each of Eve's outcome sectors has nonzero measure — a theorem (prep_outcome_pos), not a hypothesis.

★ The disturbance, end-to-end dynamical. Alice sends |+⟩; Eve measures in the computational basis and the calibrated-swap dynamics resends her eigenstate; Bob reads the rotated X-context. Whatever Eve's outcome i, each of Bob's basins has probability exactly ½: the resent state is unbiased in the sifted basis. Both measurements are context-field reads of the dynamical layer — the collapse step is csd_sequential_born, not a classical marginal.

★ The wrong-basis error is ½: Alice's bit was + (X-outcome 0), and Bob's basin has probability ½ after Eve's intercept — whichever outcome Eve recorded.

The right-basis round: repeatability = zero disturbance #

★ Eve in the matching basis disturbs nothing. Alice sends the computational vertex a; Eve measures in the same basis; Bob's error basin j ≠ a is null. This is exactly csd_repeatability_other, with hpos again a theorem.

The bridge to the QM module's marginal model #

The dynamical values reproduce the classical-marginal ones. The QM module's intercept-resend model posits Eve's collapse as a marginal; its per-basis error values — 0 matching, ½ wrong — are the numbers derived dynamically above (in the dual round), and they assemble to the same QBER ¼.

The primal round, via the covariance law #

⟨eⱼ, xᵢ⟩ has squared norm ½, all four ways.

⟨xᵢ, eₐ⟩ has squared norm ½, all four ways.

★ The primal round (Alice Z, Eve X, Bob Z) — the dual-round caveat retired. Eve measures the Z-carrier |a⟩ in the X basis (rotated selector, rotated bank, via the unitary-covariance law); whatever she records and the dynamics resends, Bob's Z-basin j has probability exactly ½. This is the QM module's own round, now end-to-end dynamical.