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.