OAI/NumberTheory/Ostmann/Construction/HistoryResidueGate.lean
7 declarations, 0 contain sorry, 0 declared as axioms
Constructing the residue gate for cleared integer history tests
- def
OAI.Ostmann.smallDivisionTestline 14 - theorem
OAI.Ostmann.smallDivisionTest_modEqline 17 - theorem
OAI.Ostmann.integerPolynomial_eval_modEqline 36 - theorem
OAI.Ostmann.cleared_history_test_residue_invariantline 44 - def
OAI.Ostmann.clearedHistoryResidueGateline 51 - theorem
OAI.Ostmann.clearedHistoryResidueGate_normline 58 - theorem
OAI.Ostmann.clearedHistoryResidueGate_exactline 67Source documentation
The original conjunction of integer divisibility and frequency-unit checks is exactly a bounded function of the surviving prime residue.
theorem clearedHistoryResidueGate_exact {σ I : Type*} [Fintype I] (P : I → MvPolynomial σ ℤ) (d : I → ℤ) (s : I → ℕ) (a : σ → ℤ) (i : σ) (M : ℕ) [NeZero M] (hd : ∀ j, d j ≠ 0) (hdiv : ∀ j, d j * s j ∣ (M : ℤ)) (x : ℤ) : clearedHistoryResidueGate P d s a i M (x : ZMod M) = if ∀ j, smallDivisionTest (MvPolynomial.eval₂ (RingHom.id ℤ) (Function.update a i x) (P j)) (d j) (s j) then 1 else 0 := by …Mentions: OAI.Ostmann.clearedHistoryResidueGate, OAI.Ostmann.smallDivisionTest