Generalized Prop. 11 (round six, bit networks) (round six, `prop11H`)
ProvedIntMul.Kappa.R6.Bit.prop11HGeneralized Prop. 11 (round six, bit networks).
The following holds (Lean statement, in the scope of module Solutions.R6BitProp11):
theorem IntMul.Kappa.R6.Bit.prop11H (C : QHNet R W T m) {q : ℕ} (hq : 1 ≤ q) (hm : 2 ≤ m)
(hOK : ∀ f, C.OK (q ^ f)) {τ : ℝ} (hτ0 : 0 < τ) (hτ1 : τ ≤ 1)
(hmom : histMoment C.hist m τ < W) :
(∀ (e P L : ℕ) (A B Cs : Shape) (xs : List R), W ^ depH m e ∣ L →
xs.length = vol (P :: L :: hdShape A B Cs e q) →
progH C q e P L A B Cs xs =
pull (P :: L :: hdShape A B Cs e q) (P :: L :: hdShape A B Cs e q)
(blockSwap (A.length + 2) (A.length + B.length + e + 2) e) 0 xs) ∧
∃ K : ℝ, ∀ (e : ℕ) (V : ℝ), 0 ≤ V → costH C e V ≤ K * V * (e : ℝ) ^ τ
Context. Round six, bit side: the generalized Proposition 11 (prop11H)
For a round-six bit network C : QHNet R W T m (general Bruhat frame changes, run children of
arbitrary widths 0 < r < m, gates, zero temporaries) satisfying C.OK (q ^ f) at every field
size q ^ f, with child-width histogram C.hist of moment Σ n_w (w/m)^τ < W:
- denotation: for every width
e(anye = m f + r, leftover digits swapped singly), the programprogH C q einterchanges the two runs oferadix-qdigits ofP :: L :: hdShape A B Cs e qwheneverW ^ depH m e ∣ L; - cost:
costH C e V ≤ K V e^τfor alleandV ≥ 0.
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_Defs4
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
variable {R : Type*} [CommRing R] {W T m : ℕ} [NeZero W]
theorem IntMul.Kappa.R6.Bit.prop11H (C : QHNet R W T m) {q : ℕ} (hq : 1 ≤ q) (hm : 2 ≤ m)
(hOK : ∀ f, C.OK (q ^ f)) {τ : ℝ} (hτ0 : 0 < τ) (hτ1 : τ ≤ 1)
(hmom : histMoment C.hist m τ < W) :
(∀ (e P L : ℕ) (A B Cs : Shape) (xs : List R), W ^ depH m e ∣ L →
xs.length = vol (P :: L :: hdShape A B Cs e q) →
progH C q e P L A B Cs xs =
pull (P :: L :: hdShape A B Cs e q) (P :: L :: hdShape A B Cs e q)
(blockSwap (A.length + 2) (A.length + B.length + e + 2) e) 0 xs) ∧
∃ K : ℝ, ∀ (e : ℕ) (V : ℝ), 0 ≤ V → costH C e V ≤ K * V * (e : ℝ) ^ τ := by sorry