A single transposition contributes rank at most one to the `H × D` block (`rank_hdB_swap_le`)
ProvedIntMul.Kappa.R6.Bit.rank_hdB_swap_leA single transposition contributes rank at most one to the H × D block.
The following holds (Lean statement, in the scope of module Solutions.R6BitNBObst):
theorem IntMul.Kappa.R6.Bit.rank_hdB_swap_le (a b : Fin (m + m)) :
(hdB ((Equiv.swap a b).permMatrix K)).rank ≤ 1
Context. Round six, bit side: the label route prop11H_labels admits no saving
prop11H_labels (R6BitProp11) derives C.OK from EdgesOK, LabOK, ScalarOK: every gate
touches wires with equal frame labels, and every role ends at label swapMat. This file proves
that these hypotheses force the total child width to be at least W m:
- the
H × DblockhdBof a frame matrix is subadditive in rank under products (rank_hdB_mul_le), vanishes on lower triangular Bruhat factors and on1, and has rankmonswapMat; - an edge
E₁ σ E₂therefore hasrank hdB ≤ #transpositions ≤ Σ run widths(rank_hdB_edgeMat_le); - along each role wire the labels go from
1toswapMat, so each of theW(distinct, byScalarOK) role wires carries edges of total width≥ m(widths_sum_ge).
Consequently histMoment C.hist m τ ≥ W for every 0 < τ ≤ 1 (labels_no_saving): the
hypotheses of prop11H_labels are jointly inconsistent (prop11H_labels_vacuous), and in
particular no network with the histogram Jain.bitR6 (rank sum W m − 1344189) satisfies them
(no_bitR6_labels).
The real two-stage network escapes this because its data outputs are sums of terms at
different frames (B = F x + E y, fixed by the copy correction T F = E), which the
single-label invariant cannot express. See R6BitNBFormal for the replacement calculus.
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_R6_Defs5
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open IntMul IntMul.Kappa IntMul.Kappa.R6 IntMul.Kappa.R6.Bit
open AModel AModelFac Matrix
variable {K : Type*} [Field K] {m : ℕ}
theorem IntMul.Kappa.R6.Bit.rank_hdB_swap_le (a b : Fin (m + m)) :
(hdB ((Equiv.swap a b).permMatrix K)).rank ≤ 1 := by sorry