Documentation

LeanPool.NavierStokesAndEuler.Euler.PacketJoinedGradeBounds

A single source budget closes every forced transverse grade. The actual profile is retained, its positive scalar factor cancels exactly, and one spare derivative shift pays the fixed operator constants.

The complete quantitative forced transverse provider #

Source-only budgets fixed before the forcing give actual A, A_t, π, dπ, Q, Q_t, C and C_t bounds linear in its amplitude. All eight outputs use the same external radius and fixed mixed Sobolev order. They spend at most four derivative shifts, within the manuscript's ten-shift allowance.

Unit-amplitude bounds for the complete actual transverse inverse #

One source-only budget controls the history trace, forward solve and their joined physical velocity and genuine time derivative. The input and output use the same fixed mixed-word Sobolev order and the same external radius.

This is the actual datum passed to the forward solution, not a new hypothesis.

Same-radius estimates for the actual corrector, divided by the prescribed time profile.

theorem EulerTransversePacketJoin.potentialPath_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} (τ : ) ( : 0 < τ) (hτT : τ < D.T) (B : EulerTransversePacketProvider.HistoryData (D.initial τ )) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) (q : ) (Rc C R A : ) (hRc : 0 Rc) (hC : 0 C) (hA : 0 A) (hR : EulerParameterWordGevrey.sobolevCoefficientRadius (Fin 4) Rc R) (d : ) (hbA : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (velocityPath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbK : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialCoefficientPath) a C * EulerGevrey.majorant Rc 0 n) (n : ) :
theorem EulerTransversePacketJoin.potentialTimePath_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} (τ : ) ( : 0 < τ) (hτT : τ < D.T) (B : EulerTransversePacketProvider.HistoryData (D.initial τ )) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) (q : ) (Rc C R A : ) (hRc : 0 Rc) (hC : 0 C) (hA : 0 A) (hR : EulerParameterWordGevrey.sobolevCoefficientRadius (Fin 4) Rc R) (d : ) (hbA : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (velocityPath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbAt : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (derivativePath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbK : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialCoefficientPath) a C * EulerGevrey.majorant Rc 0 n) (hbKt : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialDerivative) a C * EulerGevrey.majorant Rc 0 n) (n : ) :
theorem EulerTransversePacketJoin.correctorPath_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} (τ : ) ( : 0 < τ) (hτT : τ < D.T) (B : EulerTransversePacketProvider.HistoryData (D.initial τ )) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) (q : ) (Rc C R A : ) (hRc : 0 Rc) (hC : 0 C) (hA : 0 A) (hR : EulerParameterWordGevrey.sobolevCoefficientRadius (Fin 4) Rc R) (d : ) (hbA : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (velocityPath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbK : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialCoefficientPath) a C * EulerGevrey.majorant Rc 0 n) (hbI : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.FInv.field) a C * EulerGevrey.majorant Rc 0 n) (n : ) :
theorem EulerTransversePacketJoin.correctorTimePath_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} (τ : ) ( : 0 < τ) (hτT : τ < D.T) (B : EulerTransversePacketProvider.HistoryData (D.initial τ )) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) (q : ) (Rc C R A : ) (hRc : 0 Rc) (hC : 0 C) (hA : 0 A) (hR : EulerParameterWordGevrey.sobolevCoefficientRadius (Fin 4) Rc R) (d : ) (hbA : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (velocityPath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbAt : ∀ (n : ), EulerParameterWordGevrey.block EulerCylinderSobolev.standardDirection q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (derivativePath τ hτT B G))) n 0 A * EulerGevrey.majorant R d n) (hbK : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialCoefficientPath) a C * EulerGevrey.majorant Rc 0 n) (hbKt : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.potentialDerivative) a C * EulerGevrey.majorant Rc 0 n) (hbI : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.FInv.field) a C * EulerGevrey.majorant Rc 0 n) (hbIt : ∀ (n : ) (a : EulerSmoothLimit.Space), iteratedFDeriv n (EulerMeanCoefficients.translateCoefficientPath D.inverseDerivative) a C * EulerGevrey.majorant Rc 0 n) (n : ) :

Restoring arbitrary forcing amplitudes by actual scalar homogeneity.

theorem EulerTransversePacketProvider.amplitude_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] {D : Data U} {ι : Type u_2} [Fintype ι] (S : {r : EulerPacketProfileRecursion.VectorField} → Forcing P D rC((Set.Icc 0 D.T), (EulerLiftedGradientSpace.LiftL2 P))) (hs : ∀ {r : EulerPacketProfileRecursion.VectorField} (G : Forcing P D r), ContDiff fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) (S G)) (hm : ∀ {r r' : EulerPacketProfileRecursion.VectorField} (G : Forcing P D r) (H : Forcing P D r') (a : ), H.path = a G.pathS H = a S G) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) (directions : ιEulerLiftedGradientSpace.LiftTangent) (q : ) (R C : ) (d e : ) (hunit : ∀ {r : EulerPacketProfileRecursion.VectorField} (G : Forcing P D r), (∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (HistoryData.forcingPath G))) n 0 EulerGevrey.majorant R d n)∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (S G))) n 0 C * EulerGevrey.majorant R e n) {r : EulerPacketProfileRecursion.VectorField} (G : Forcing P D r) (A : ) (hA : 0 A) (hb : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) (HistoryData.forcingPath G))) n 0 A * EulerGevrey.majorant R d n) (n : ) :

A genuine homogeneous operator's unit-amplitude bound extends to every nonnegative amplitude without changing its radius or its derivative shifts.

The actual complete transverse inverse has one source-only radius budget. Its bounds are linear in the forcing amplitude and independent of grade.

The genuine joined velocity divided by its actual piecewise profile.

The genuine time derivative divided by the same profile, with no g derivative.

noncomputable def EulerTransversePacketJoin.Budget.pressureAmplitude {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {q : } (L : Budget D τ hτT B (Fin 4) q) (N : NormalBudget D q L.R) :

Pressure amplitude, given by P*pressureCost (Fin 4) q N.Ri N.C N.C 1 L.commonCost.

Equations
Instances For
    noncomputable def EulerTransversePacketJoin.Budget.potentialAmplitude {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {q : } (L : Budget D τ hτT B (Fin 4) q) (N : NormalBudget D q L.R) :

    Potential amplitude, given by 3*N.blockAmplitude*(P*L.commonCost).

    Equations
    Instances For
      noncomputable def EulerTransversePacketJoin.Budget.potentialTimeAmplitude {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {q : } (L : Budget D τ hτT B (Fin 4) q) (N : NormalBudget D q L.R) :

      Potential time amplitude, given by 6*N.blockAmplitude*(P*L.commonCost).

      Equations
      Instances For
        noncomputable def EulerTransversePacketJoin.Budget.correctorAmplitude {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {q : } (L : Budget D τ hτT B (Fin 4) q) (N : NormalBudget D q L.R) :

        Corrector amplitude, given by 27*N.blockAmplitude^2*(P*L.commonCost).

        Equations
        Instances For
          noncomputable def EulerTransversePacketJoin.Budget.correctorTimeAmplitude {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {q : } (L : Budget D τ hτT B (Fin 4) q) (N : NormalBudget D q L.R) :

          Corrector time amplitude, given by 108*N.blockAmplitude^2*(P*L.commonCost).

          Equations
          Instances For
            theorem EulerPacketCylinderField.smul_profile_pos {K : Type u_1} [TopologicalSpace K] (g : C(K, )) (hg : ∀ (t : K), 0 < g t) (c : ) (hc : 0 < c) (t : K) :
            0 < (c g) t
            theorem EulerPacketCylinderField.Field.WordBound.unscale_profile {P T : } [Fact (0 < P)] {raw : EulerPacketProfileRecursion.VectorField} {G : Field P T raw} (hT : 0 T) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) (c : ) (hc : 0 < c) {q d : } {R A : } (hG : (G.normalized hT (c g) ).WordBound q R A d) :
            (G.normalized hT g hg).WordBound q R (c * A) d
            theorem EulerPacketCylinderField.Field.WordBound.scale_profile {P T : } [Fact (0 < P)] {raw : EulerPacketProfileRecursion.VectorField} {G : Field P T raw} (hT : 0 T) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) (c : ) (hc : 0 < c) {q d : } {R A : } (hG : (G.normalized hT g hg).WordBound q R (A * c) d) :
            (G.normalized hT (c g) ).WordBound q R A d
            theorem EulerTransversePacketJoin.Budget.pressureAmplitude_nonneg {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) :
            theorem EulerTransversePacketJoin.Budget.correctorAmplitude_nonneg {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) :
            structure EulerTransversePacketJoin.Budget.GradeGuards {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) :

            These four numerical guards depend only on the source data and the fixed external radius. They are chosen before the forcing, its amplitude or grade.

            Instances For

              Actual A, A_t, curl corrector, its time derivative, and the literal scalar pressure gradient satisfy the unit grade budget with the same time profile.

              theorem EulerTransversePacketJoin.Budget.vector_grade_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) (W : L.GradeGuards N) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (F : EulerPacketCylinderField.Field P D.T raw) (c : ) (hc : 0 < c) (p : ) (hp : 2 p) (hforce : (F.normalized (c L.fullProfile) ).WordBound 6 L.R 1 (EulerPacketShiftArithmetic.highForceShift p)) :
              theorem EulerTransversePacketJoin.Budget.derivative_grade_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) (W : L.GradeGuards N) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (F : EulerPacketCylinderField.Field P D.T raw) (c : ) (hc : 0 < c) (p : ) (hp : 2 p) (hforce : (F.normalized (c L.fullProfile) ).WordBound 6 L.R 1 (EulerPacketShiftArithmetic.highForceShift p)) :
              theorem EulerTransversePacketJoin.Budget.corrector_grade_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} (L : Budget D τ hτT B (Fin 4) 6) (N : NormalBudget D 6 L.R) (W : L.GradeGuards N) {raw : EulerPacketProfileRecursion.VectorField} (G : EulerTransversePacketProvider.Forcing P D raw) (F : EulerPacketCylinderField.Field P D.T raw) (c : ) (hc : 0 < c) (p : ) (hp : 2 p) (hforce : (F.normalized (c L.fullProfile) ).WordBound 6 L.R 1 (EulerPacketShiftArithmetic.highForceShift p)) :