Documentation

LeanPool.PoincareThreeBody.DisturbingCertificate

Finite certificates for nonconstant resonant averages #

To prove that a Poincaré disturbing average is nonconstant, it is enough to compare its values at two phases. This file reduces that comparison to a finite trapezoidal sum plus a certified global bound on the second time derivative of the integrand difference.

noncomputable def LeanPool.PoincareThreeBody.resonantDisturbingDifference (p q : ℕ) (eccentricity phaseA phaseB time : ℝ) :

Difference between the disturbing functions at two orientation phases.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem LeanPool.PoincareThreeBody.contDiffOn_resonantDisturbingDifference {p q : ℕ} (hp : 0 < p) (hq : 0 < q) {eccentricity phaseA phaseB start finish : ℝ} (heccentricity : 0 ≤ eccentricity) (heccentricityOne : eccentricity < 1) (hapoapsis : resonantFirstAction p q ^ 2 * (1 + eccentricity) < 1) :
    ContDiffOn ℝ 2 (resonantDisturbingDifference p q eccentricity phaseA phaseB) (Set.uIcc start finish)
    theorem LeanPool.PoincareThreeBody.resonantDisturbingAverage_ne_of_trapezoidal_certificate {p q : ℕ} (hp : 0 < p) (hq : 0 < q) {eccentricity phaseA phaseB errorBound : ℝ} {steps : ℕ} (heccentricity : 0 ≤ eccentricity) (heccentricityOne : eccentricity < 1) (hapoapsis : resonantFirstAction p q ^ 2 * (1 + eccentricity) < 1) (hsecondDerivative : ∀ (time : ℝ), |iteratedDerivWithin 2 (resonantDisturbingDifference p q eccentricity phaseA phaseB) (Set.uIcc 0 (resonantOrbitPeriod p)) time| ≤ errorBound) (hsteps : 0 < steps) (hcertificate : |resonantOrbitPeriod p| ^ 3 * errorBound / (12 * ↑steps ^ 2) < |trapezoidal_integral (resonantDisturbingDifference p q eccentricity phaseA phaseB) steps 0 (resonantOrbitPeriod p)|) :
    resonantDisturbingAverage p q eccentricity phaseA ≠ resonantDisturbingAverage p q eccentricity phaseB

    A finite trapezoidal certificate for the phase difference proves that the exact Poincaré averages at those phases are distinct.

    theorem LeanPool.PoincareThreeBody.exists_deriv_resonantDisturbingAverage_ne_zero_of_trapezoidal_certificate {p q : ℕ} (hp : 0 < p) (hq : 0 < q) {eccentricity phaseA phaseB errorBound : ℝ} {steps : ℕ} (heccentricity : 0 ≤ eccentricity) (heccentricityOne : eccentricity < 1) (hapoapsis : resonantFirstAction p q ^ 2 * (1 + eccentricity) < 1) (hsecondDerivative : ∀ (time : ℝ), |iteratedDerivWithin 2 (resonantDisturbingDifference p q eccentricity phaseA phaseB) (Set.uIcc 0 (resonantOrbitPeriod p)) time| ≤ errorBound) (hsteps : 0 < steps) (hcertificate : |resonantOrbitPeriod p| ^ 3 * errorBound / (12 * ↑steps ^ 2) < |trapezoidal_integral (resonantDisturbingDifference p q eccentricity phaseA phaseB) steps 0 (resonantOrbitPeriod p)|) :
    ∃ (orientation : ℝ), deriv (resonantDisturbingAverage p q eccentricity) orientation ≠ 0

    The same finite certificate produces an orientation with a nonzero derivative of the exact Poincaré average.