Good primes for finitely many rational matrices (`good_mats`)
ProvedIntMul.Kappa.R6.Bit.NB.good_matsGood primes for finitely many rational matrices: all denominators coprime to q ^ f.
The following holds (Lean statement, in the scope of module Solutions.R6BitNBPrime):
theorem IntMul.Kappa.R6.Bit.NB.good_mats {ι κ : Type*} [Fintype ι] [Fintype κ] (S : Finset (Matrix ι κ ℚ)) :
∃ q₀ : ℕ, ∀ q, q.Prime → q₀ < q → ∀ f : ℕ, ∀ A ∈ S, ∀ i j,
Nat.Coprime (A i j).den (q ^ f) ∧ (A i j ≠ 0 → IsUnit (redQ (q ^ f) (A i j)))
Context. Round six, bit network: good primes
Finitely many rationals have denominators coprime to every power of every prime q > q₀, and the
nonzero ones are units mod q ^ f. Consequently a finite set of edges with EdgeQ data
is EdgeOK (q ^ f) for all large primes q and all f.
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_K_Defs33 import Definitions.Def_IntMul_Kappa_R6_Defs1 import Mathlib import Definitions.Def_IntMul_KappaFramework set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open IntMul IntMul.Kappa IntMul.Kappa.R6 open Matrix Finset AModelFac
theorem IntMul.Kappa.R6.Bit.NB.good_mats {ι κ : Type*} [Fintype ι] [Fintype κ] (S : Finset (Matrix ι κ ℚ)) :
∃ q₀ : ℕ, ∀ q, q.Prime → q₀ < q → ∀ f : ℕ, ∀ A ∈ S, ∀ i j,
Nat.Coprime (A i j).den (q ^ f) ∧ (A i j ≠ 0 → IsUnit (redQ (q ^ f) (A i j))) := by sorry