The moved records are few (round six, `card_moved_C`)
ProvedIntMul.Kappa.R6.IL2C.Lay.card_moved_CThe moved records are few.
The following holds (Lean statement, in the scope of module Solutions.R6IL2CCount):
theorem IntMul.Kappa.R6.IL2C.Lay.card_moved_C (h : l.OK) (hQC : l.QC = Qc G n) (hQL : l.QL = 2 ^ L) (hK : 1 ≤ K)
(hG : 1 ≤ G) (hL : ρ + n * K ≤ L) :
nMv (l.stepP (fun x c => TlS K ρ n x (Psi K ρ G n L x c))) l.M * (2 ^ G * 2 ^ K) ≤
n * l.M * (2 * 2 ^ K + (2 * 2 ^ G + 2) * 2 ^ G)
Context. Round six, compact controls (I2C): the moved records are few
The correction key κ = stepP (TlS ∘ Psi) fixes every record whose state is Good
(Psi_good, Tl_Tl). A record is not good only if one of the n digits of T or U is
2^G - 1, or one of the n guard segments of Y is out of range (2·2^G + 2 values of
2^K).
card_moved_C: #{m < M : κ m ≠ m} · 2^G · 2^K ≤ n · M · (2 · 2^K + (2 · 2^G + 2) · 2^G).
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_Defs20
import Definitions.Def_IntMul_HvdH_MachineRef
import Definitions.Def_IntMul_KappaFramework
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open IntMul IntMul.Kappa IntMul.Kappa.R6 IntMul.Kappa.R6.IL2C IntMul.Kappa.R6.IL2C.Lay
open NLogN NLogN.KFL Finset
variable {l : Lay} {K ρ G n L : ℕ}
theorem IntMul.Kappa.R6.IL2C.Lay.card_moved_C (h : l.OK) (hQC : l.QC = Qc G n) (hQL : l.QL = 2 ^ L) (hK : 1 ≤ K)
(hG : 1 ≤ G) (hL : ρ + n * K ≤ L) :
nMv (l.stepP (fun x c => TlS K ρ n x (Psi K ρ G n L x c))) l.M * (2 ^ G * 2 ^ K) ≤
n * l.M * (2 * 2 ^ K + (2 * 2 ^ G + 2) * 2 ^ G) := by sorry