OAI/NumberTheory/Ostmann/Arithmetic/MovingResidueTests.lean
11 declarations, 0 contain sorry, 0 declared as axioms
Three explicit residue tests at each original moving node
- def
OAI.Ostmann.MovingFormulaNode.testFormulasline 10 - def
OAI.Ostmann.MovingFormulaNode.testModuliline 13 - def
OAI.Ostmann.MovingFormulaNode.residueTestsline 16 - theorem
OAI.Ostmann.formula_integral_small_testline 21 - theorem
OAI.Ostmann.MovingFormulaNode.residueTests_iffline 30 - def
OAI.Ostmann.MovingFormulaNode.residuePeriodline 39Source documentation
The actual common period is built from the cleared formula denominators and the two retained frequency moduli.
noncomputable def MovingFormulaNode.residuePeriod (f : MovingFormulaNode) : ℕ := …
Mentions: OAI.Ostmann.MovingFormulaNode
- theorem
OAI.Ostmann.MovingFormulaNode.residuePeriod_posline 42 - theorem
OAI.Ostmann.MovingFormulaNode.test_period_dvdline 52 - theorem
OAI.Ostmann.MovingFormulaNode.residueTests_modEqline 60Source documentation
All three tests are constant on the constructed residue classes.
theorem MovingFormulaNode.residueTests_modEq (f : MovingFormulaNode) (a b : Bool → ℤ) (h : ∀ i, a i ≡ b i [ZMOD f.residuePeriod]) : f.residueTests a ↔ f.residueTests b := by …Mentions: OAI.Ostmann.MovingFormulaNode
- def
OAI.Ostmann.movingGiantUpdateline 69 - theorem
OAI.Ostmann.MovingFormulaNode.holds_polynomialsline 74Source documentation
At a fixed residue class, the remaining arithmetic support uses only three explicit polynomial inequalities and fixed frequency bounds.
theorem MovingFormulaNode.holds_polynomials (f : MovingFormulaNode) (a : Bool → ℤ) (coord : Bool) (z : ℤ) : (f.guard.ValidAt (movingGiantUpdate a coord z) ∧ f.newGiant.IntegralAt (movingGiantUpdate a coord z)) ↔ f.residueTests (movingGiantUpdate a coord z) ∧ f.guard.frequencyBounds ∧ ∀ j, 0 ≤ (f.guard.polynomials a coord j).eval (z : ℝ) := by …Mentions: OAI.Ostmann.MovingFormulaNode, OAI.Ostmann.movingGiantUpdate