Documentation

LeanPool.PoincareThreeBody.AnalyticNormalization

Analytic coefficient normalization in the mass parameter #

Poincaré's induction subtracts a function of the Hamiltonian from a candidate integral and then divides by the mass parameter. The differentiable slope dslope supplies the removable value at mass zero. This file establishes the analytic one-variable division theorem and applies it to each phase-space slice of the normalized residual.

theorem LeanPool.PoincareThreeBody.AnalyticAt.analyticAt_dslope {f : } {base : } (hf : AnalyticAt f base) :
AnalyticAt (dslope f base) base

The differentiable slope of an analytic one-variable function is analytic at its base point. This is the analytic form of division by a linear factor.

theorem LeanPool.PoincareThreeBody.sub_mul_dslope_eq_of_eq_zero {f : } {base : } (hzero : f base = 0) (argument : ) :
(argument - base) * dslope f base argument = f argument

If an analytic function vanishes at the base point, its differentiable slope reconstructs it after multiplication by the corresponding linear factor.

noncomputable def LeanPool.PoincareThreeBody.normalizationResidual (F : PhaseSpace) (energyFunction : ) (mass : ) (state : PhaseSpace) :

The residual obtained after subtracting a one-variable function of the Hamiltonian.

Equations
Instances For
    noncomputable def LeanPool.PoincareThreeBody.massNormalizedCandidate (F : PhaseSpace) (energyFunction : ) (mass : ) (state : PhaseSpace) :

    The mass-normalized residual, with the removable value at zero supplied by dslope.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def LeanPool.PoincareThreeBody.domainMassNormalizedCandidate (F : PhaseSpace) (energyFunction : ) (mass : ) (state : PhaseSpace) :

      Domain-correct normalization. Away from zero it is the literal residual quotient, so its value does not depend on the unconstrained values of F 0 at the two states excluded from the mass-zero domain. At zero it uses the removable dslope value.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem LeanPool.PoincareThreeBody.domainMassNormalizedCandidate_zero (F : PhaseSpace) (energyFunction : ) (state : PhaseSpace) :
        domainMassNormalizedCandidate F energyFunction 0 state = massNormalizedCandidate F energyFunction 0 state
        theorem LeanPool.PoincareThreeBody.domainMassNormalizedCandidate_eq_div {F : PhaseSpace} {energyFunction : } {mass : } (hmass : mass 0) (state : PhaseSpace) :
        domainMassNormalizedCandidate F energyFunction mass state = normalizationResidual F energyFunction mass state / mass
        theorem LeanPool.PoincareThreeBody.mass_mul_massNormalizedCandidate {F : PhaseSpace} {energyFunction : } {state : PhaseSpace} (hzero : F 0 state = energyFunction (hamiltonian 0 state)) (mass : ) :
        mass * massNormalizedCandidate F energyFunction mass state = normalizationResidual F energyFunction mass state

        Exact reconstruction of a residual whose zeroth mass coefficient has been cancelled.

        theorem LeanPool.PoincareThreeBody.massNormalizedCandidate_eq_div {F : PhaseSpace} {energyFunction : } {mass : } (hmass : mass 0) {state : PhaseSpace} (hzero : F 0 state = energyFunction (hamiltonian 0 state)) :
        massNormalizedCandidate F energyFunction mass state = normalizationResidual F energyFunction mass state / mass

        At nonzero mass the normalized candidate is the ordinary quotient of the residual by mass.

        theorem LeanPool.PoincareThreeBody.domainMassNormalizedCandidate_eq_massNormalizedCandidate {F : PhaseSpace} {energyFunction : } {mass : } {state : PhaseSpace} (hzero : F 0 state = energyFunction (hamiltonian 0 state)) :
        domainMassNormalizedCandidate F energyFunction mass state = massNormalizedCandidate F energyFunction mass state

        On a phase point where the zeroth coefficient cancels, the domain-correct and dslope normalizations coincide.

        theorem LeanPool.PoincareThreeBody.analyticAt_uncurry_domainMassNormalizedCandidate_of_mass_ne {F : PhaseSpace} {energyFunction : } {z : × PhaseSpace} (hmass : z.1 0) (hcandidate : AnalyticAt (Function.uncurry F) z) (hhamiltonian : AnalyticAt (Function.uncurry hamiltonian) z) (henergyFunction : AnalyticAt energyFunction (hamiltonian z.1 z.2)) :

        Away from the removable hypersurface mass = 0, the domain-correct normalized candidate is jointly analytic by ordinary analytic division. Thus the genuinely parameterized content of the Hadamard division step is confined to points whose mass coordinate is zero.

        theorem LeanPool.PoincareThreeBody.isJointlyAnalytic_domainMassNormalizedCandidate_of_mass_zero {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) (henergyFunction : ∀ (energy : ), AnalyticAt energyFunction energy) (hmassZero : ∀ (state : PhaseSpace), (0, state) collisionFreeAnalyticAt (Function.uncurry (domainMassNormalizedCandidate F energyFunction)) (0, state)) :

        To prove joint analyticity of the normalized family on the full parameter domain, it is enough to prove the removable extension at the mass-zero slice. All nonzero-mass points follow from ordinary analytic division.

        theorem LeanPool.PoincareThreeBody.mass_mul_domainMassNormalizedCandidate {F : PhaseSpace} {energyFunction : } {state : PhaseSpace} (hzero : F 0 state = energyFunction (hamiltonian 0 state)) (mass : ) :
        mass * domainMassNormalizedCandidate F energyFunction mass state = normalizationResidual F energyFunction mass state

        Exact reconstruction for the domain-correct normalization.

        theorem LeanPool.PoincareThreeBody.analyticAt_normalizationResidual_massSlice {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) {state : PhaseSpace} (hdomain : (0, state) parameterDomain δ) (henergyFunction : AnalyticAt energyFunction (hamiltonian 0 state)) :
        AnalyticAt (fun (mass : ) => normalizationResidual F energyFunction mass state) 0

        Joint analyticity of the candidate and analyticity of the energy function make every fixed phase slice of the residual analytic in mass.

        theorem LeanPool.PoincareThreeBody.analyticAt_massNormalizedCandidate_massSlice {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) {state : PhaseSpace} (hdomain : (0, state) parameterDomain δ) (henergyFunction : AnalyticAt energyFunction (hamiltonian 0 state)) :
        AnalyticAt (fun (mass : ) => massNormalizedCandidate F energyFunction mass state) 0

        The removable mass quotient is analytic at zero on every fixed collision-free phase slice.

        theorem LeanPool.PoincareThreeBody.massNormalizedCandidate_zero_eq_parameterCoefficient {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) {state : PhaseSpace} (hdomain : (0, state) parameterDomain δ) (henergyFunction : AnalyticAt energyFunction (hamiltonian 0 state)) :
        massNormalizedCandidate F energyFunction 0 state = parameterCoefficient (Function.uncurry (normalizationResidual F energyFunction)) state

        At mass zero the normalized candidate is exactly the first parameter coefficient of the joint residual.

        theorem LeanPool.PoincareThreeBody.parameterCoefficient_normalizationResidual {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) {state : PhaseSpace} (hdomain : (0, state) parameterDomain δ) (henergyFunction : AnalyticAt energyFunction (hamiltonian 0 state)) :

        Explicit coefficient bookkeeping for one normalization step: the new zeroth coefficient is the old first mass coefficient minus the energy derivative times the Hamiltonian perturbation.

        theorem LeanPool.PoincareThreeBody.massNormalizedCandidate_zero_eq_nextCoefficient {δ : } {F : PhaseSpace} {energyFunction : } (hanalytic : IsJointlyAnalytic δ F) {state : PhaseSpace} (hdomain : (0, state) parameterDomain δ) (henergyFunction : AnalyticAt energyFunction (hamiltonian 0 state)) :
        massNormalizedCandidate F energyFunction 0 state = parameterCoefficient (Function.uncurry F) state - deriv energyFunction (hamiltonian 0 state) * firstMassPerturbation state

        Explicit value of the removable quotient at mass zero.