OAI/MathematicalPhysics/ContinuumCoulomb/Programs/BisectionRegisters.lean
24 declarations, 0 contain sorry, 0 declared as axioms
Common-denominator registers for approximate bisection. Each update doubles the denominator and uses only addition and doubling of numerators; therefore every register gains at most one bit per iteration.
- abbrev
OAI.ContinuumCoulomb.BisectionRegisters.Registersline 13 - def
OAI.ContinuumCoulomb.BisectionRegisters.codeline 15 - def
OAI.ContinuumCoulomb.BisectionRegisters.leftline 18 - def
OAI.ContinuumCoulomb.BisectionRegisters.rightline 19 - def
OAI.ContinuumCoulomb.BisectionRegisters.middleline 20 - def
OAI.ContinuumCoulomb.BisectionRegisters.intervalline 22 - def
OAI.ContinuumCoulomb.BisectionRegisters.stepline 25 - def
OAI.ContinuumCoulomb.BisectionRegisters.initialline 33 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.initial_den_posline 36 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.middle_eqline 39 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.initial_intervalline 46 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.step_den_posline 66 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.double_quotientline 71 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.step_intervalline 77 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.iterate_intervalline 85 - def
OAI.ContinuumCoulomb.BisectionRegisters.bitsline 97 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.code_lengthline 100 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.bits_le_codeline 107 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.code_le_bitsline 112 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.add_bits_le_maxline 117 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.double_int_bitsline 128 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.step_bitsline 133 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.iterate_bitsline 142 - theorem
OAI.ContinuumCoulomb.BisectionRegisters.residualline 152Source documentation
The actual unreduced register execution satisfies the analytic residual bound; all evaluation calls remain inside the initial rational interval.
theorem residual {a b δ : ℚ} {f : ℝ → ℝ} {evaluate : ℚ → ℚ} {L : ℝ} (hδ : 0 ≤ δ) (hab : a ≤ b) (ha : 0 ≤ f a) (hb : f b ≤ 0) (hL : 0 ≤ L) (heval : ∀ q ∈ Set.Icc a b, |(evaluate q : ℝ) - f q| ≤ (δ : ℝ)) (hLip : ∀ x ∈ Set.Icc (a : ℝ) b, ∀ y ∈ Set.Icc (a : ℝ) b, |f x - f y| ≤ L * |x - y|) (n : ℕ) : |f (middle ((step δ evaluate)^[n] (initial a b)))| ≤ 2 * (δ : ℝ) + L * (((b : ℝ) - a) / 2 ^ n) := by …Mentions: OAI.ContinuumCoulomb.BisectionRegisters.middle, OAI.ContinuumCoulomb.BisectionRegisters.step, OAI.ContinuumCoulomb.BisectionRegisters.initial