Documentation

LeanPool.NavierStokesAndEuler.Euler.OrdinaryEulerStability

Uniform H³ comparison and the actual no-gradient-escape consequence for genuine ordinary Euler evolutions. No energy inequality is assumed.

A regularized H³ norm of the actual Euler difference satisfies the quadratic stability inequality. The regularization only removes the square-root singularity at a vanishing difference.

The scalar comparison lemma with genuine one-sided endpoint derivatives.

theorem EulerOrdinarySobolev.quadratic_stability_within (X X' : ) (C ε T : ) (hC : 0 < C) ( : 0 < ε) (_hT : 0 T) (hsmall : 2 * ε * Real.exp (3 * C * T) 1 / 2) (hcont : ContinuousOn X (Set.Icc 0 T)) (hinit : X 0 ε) (hder : tSet.Ico 0 T, HasDerivWithinAt X (X' t) (Set.Icc 0 T) t) (hineq : tSet.Ico 0 T, X' t C * (X t + X t ^ 2)) (t : ) :
t Set.Icc 0 TX t 2 * ε * Real.exp (3 * C * T)

Stability constant, given by 1+1800*h3ProductConstant*(1+M).

Equations
Instances For
    theorem EulerOrdinarySobolev.regularized_energy_bound (e ep M δ : ) (he : 0 e) (hM : 0 M) ( : 0 < δ) (hp : ep 3600 * h3ProductConstant * (M + e) * e) :
    20 * ep / (e + δ ^ 2) stabilityConstant M * (40 * (e + δ ^ 2) + (40 * (e + δ ^ 2)) ^ 2)
    noncomputable def EulerOrdinarySobolev.Evolution.normEnvelope {T : } {hT : 0 T} (U V : Evolution T hT) (δ : ) :
    C((Set.Icc 0 T), )

    Norm envelope, given by ⟨fun t => 40*sqrt (U.energyPath V t+δ^2), continuous_const.mul (((U.energyPath V).continuous.add continuous_const).sqrt)⟩.

    Equations
    Instances For
      noncomputable def EulerOrdinarySobolev.Evolution.envelopeDerivative {T : } {hT : 0 T} (U V : Evolution T hT) (δ : ) (t : (Set.Icc 0 T)) :

      Envelope derivative, given by 20*U.energyDerivative V t/sqrt (U.energyPath V t+δ^2).

      Equations
      Instances For
        theorem EulerOrdinarySobolev.Evolution.energyPath_nonneg {T : } {hT : 0 T} (U V : Evolution T hT) (t : (Set.Icc 0 T)) :
        0 (U.energyPath V) t
        theorem EulerOrdinarySobolev.Evolution.normEnvelope_nonneg {T : } {hT : 0 T} (U V : Evolution T hT) (δ : ) (t : (Set.Icc 0 T)) :
        0 (U.normEnvelope V δ) t
        theorem EulerOrdinarySobolev.Evolution.normEnvelope_hasDerivWithinAt {T : } {hT : 0 T} (U V : Evolution T hT) (δ : ) ( : 0 < δ) (t : (Set.Icc 0 T)) :
        theorem EulerOrdinarySobolev.Evolution.envelopeDerivative_bound {T : } {hT : 0 T} (U V : Evolution T hT) (M δ : ) (hM : ∀ (t : (Set.Icc 0 T)), WordBound 4 M (U.velocity t)) ( : 0 < δ) (t : (Set.Icc 0 T)) :
        U.envelopeDerivative V δ t stabilityConstant M * ((U.normEnvelope V δ) t + (U.normEnvelope V δ) t ^ 2)
        theorem EulerOrdinarySobolev.Evolution.normEnvelope_majorizes {T : } {hT : 0 T} (U V : Evolution T hT) (δ : ) (t : (Set.Icc 0 T)) :
        tensorNorm 3 (U.difference V t) (U.normEnvelope V δ) t
        theorem EulerOrdinarySobolev.Evolution.normEnvelope_initial {T : } {hT : 0 T} (U V : Evolution T hT) (ε : ) ( : 0 < ε) (hinit : tensorNorm 3 (U.difference V 0, ) ε) :
        (U.normEnvelope V ε) 0, 320 * ε
        theorem EulerOrdinarySobolev.Evolution.h3_stability {T : } {hT : 0 T} (U V : Evolution T hT) (M ε : ) (hM : ∀ (t : (Set.Icc 0 T)), WordBound 4 M (U.velocity t)) ( : 0 < ε) (hinit : tensorNorm 3 (U.difference V 0, ) ε) (hsmall : 640 * ε * Real.exp (3 * stabilityConstant M * T) 1 / 2) (t : (Set.Icc 0 T)) :
        noncomputable def EulerOrdinarySobolev.Evolution.referenceNormPath {T : } {hT : 0 T} (U : Evolution T hT) :
        C((Set.Icc 0 T), )

        Reference norm path, given by ⟨fun t => tensorNorm 4 (U.velocity t),by apply continuous_finsetSum intro n _ exact (U.velocity_continuous n).norm⟩.

        Equations
        Instances For
          noncomputable def EulerOrdinarySobolev.Evolution.referenceSize {T : } {hT : 0 T} (U : Evolution T hT) :

          Reference size, given by ‖U.referenceNormPath‖.

          Equations
          Instances For
            theorem EulerOrdinarySobolev.Evolution.eventually_h3_bound {T : } {hT : 0 T} (U : Evolution T hT) (V : Evolution T hT) (ε : ) ( : ∀ (n : ), 0 < ε n) (hlim : Filter.Tendsto ε Filter.atTop (nhds 0)) (hinit : ∀ (n : ), tensorNorm 3 (U.difference (V n) 0, ) ε n) :
            ∀ᶠ (n : ) in Filter.atTop, ∀ (t : (Set.Icc 0 T)), tensorNorm 3 (U.difference (V n) t) 640 * ε n * Real.exp (3 * stabilityConstant U.referenceSize * T)
            theorem EulerOrdinarySobolev.Evolution.sampled_h3_tendsto_zero {T : } {hT : 0 T} (U : Evolution T hT) (V : Evolution T hT) (ε : ) ( : ∀ (n : ), 0 < ε n) (hlim : Filter.Tendsto ε Filter.atTop (nhds 0)) (hinit : ∀ (n : ), tensorNorm 3 (U.difference (V n) 0, ) ε n) (times : (Set.Icc 0 T)) :
            Filter.Tendsto (fun (n : ) => tensorNorm 3 (U.difference (V n) (times n))) Filter.atTop (nhds 0)
            theorem EulerOrdinarySobolev.Evolution.no_gradient_escape {T : } {hT : 0 T} (U : Evolution T hT) (V : Evolution T hT) (ε : ) ( : ∀ (n : ), 0 < ε n) (hlim : Filter.Tendsto ε Filter.atTop (nhds 0)) (hinit : ∀ (n : ), tensorNorm 3 (U.difference (V n) 0, ) ε n) (times : (Set.Icc 0 T)) :