Documentation

LeanPool.CaffarelliKohnNirenberg.Leray.LerayExistenceDirectWiring

Leray existence from the regularized solutions and their compactness limit #

The direct proof of thm:leray: the limiting argument CKN.lerayExistence_of_limits with the regularized momentum identity lem:reg-momentum and local energy identity lem:reg-local-energy (CKN.Leray.regMomentum_of_regularised, CKN.Leray.regLocalEnergy_of_regularised), the pressure limit prop:leray-pressure-limit (CKN.Leray.lerayPressureProp_of_regularised_pressure_data) and the Leray--Hopf limit prop:leray-hopf-limit (CKN.Leray.lerayHopfLimit) supplied by their theorems. The inputs left are the regularized solutions of thm:regularised and the compactness statement prop:leray-limit for them.

theorem CKN.Leray.leray_existence_of_regularised (ρ : RegMollifierProfile) (uε : (a : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3) → IsInJ a → ℝ → Foundation.Parabolic.ParabolicPoint → Foundation.Parabolic.Vec3) (pε : (a : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3) → IsInJ a → ℝ → Foundation.Parabolic.ParabolicPoint → ℝ) (hregularised : ∀ (a : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3) (ha : IsInJ a) (ε : ℝ) (hε : 0 < ε), have u := uε a ha ε; have p := pε a ha ε; have D := fun (z : Foundation.Parabolic.ParabolicPoint) (i j : Fin 3) => spatialPartial (fun (y : Foundation.Parabolic.ParabolicPoint) => u y i) j z; have DD := fun (z : Foundation.Parabolic.ParabolicPoint) (i j k : Fin 3) => spatialPartial (fun (y : Foundation.Parabolic.ParabolicPoint) => spatialPartial (fun (x : Foundation.Parabolic.ParabolicPoint) => u x i) j y) k z; have Dt := fun (z : Foundation.Parabolic.ParabolicPoint) (i : Fin 3) => timePartial (fun (y : Foundation.Parabolic.ParabolicPoint) => u y i) z; have Dp := fun (z : Foundation.Parabolic.ParabolicPoint) (i : Fin 3) => spatialPartial (fun (y : Foundation.Parabolic.ParabolicPoint) => p y) i z; (∃ (hSlice : ∀ (t : ℝ), 0 ≤ t → MeasureTheory.MemLp (fun (x : Foundation.Parabolic.Vec3) => u (x, t)) 2 MeasureTheory.volume), (Continuous fun (t : ↑(Set.Ici 0)) => realVectorL2OfCoordinateFunction (fun (x : Foundation.Parabolic.Vec3) => u (x, ↑t)) ⋯) ∧ (fun (x : Foundation.Parabolic.Vec3) => u (x, 0)) =ᵐ[MeasureTheory.volume] regUniformMollifiedInitial ρ ε hε a ∧ ∀ (t : ℝ), 0 ≤ t → IsWeakDivFreeL2 fun (x : Foundation.Parabolic.Vec3) => u (x, t)) ∧ (∀ (i : Fin 3), ContinuousOn (fun (z : Foundation.Parabolic.ParabolicPoint) => u z i) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ (∀ (i j : Fin 3), ContinuousOn (fun (z : Foundation.Parabolic.ParabolicPoint) => D z i j) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ (∀ (i j k : Fin 3), ContinuousOn (fun (z : Foundation.Parabolic.ParabolicPoint) => DD z i j k) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ (∀ (i : Fin 3), ContinuousOn (fun (z : Foundation.Parabolic.ParabolicPoint) => Dt z i) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ ContinuousOn p (spaceTimeSet Set.univ (Set.Ioi 0)) ∧ (∀ (i : Fin 3), ContinuousOn (fun (z : Foundation.Parabolic.ParabolicPoint) => Dp z i) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ (∀ (i : Fin 3), ContDiffOn ℝ 1 (fun (z : Foundation.Parabolic.ParabolicPoint) => u z i) (spaceTimeSet Set.univ (Set.Ioi 0))) ∧ (∀ z ∈ spaceTimeSet Set.univ (Set.Ioi 0), ∀ (i j : Fin 3), DifferentiableAt ℝ (fun (x : Foundation.Parabolic.Vec3) => D (x, z.2) i j) z.1) ∧ (∀ z ∈ spaceTimeSet Set.univ (Set.Ioi 0), DifferentiableAt ℝ (fun (x : Foundation.Parabolic.Vec3) => p (x, z.2)) z.1) ∧ (∀ (δ T : ℝ), 0 < δ → δ < T → ∃ (C : ℝ), 0 ≤ C ∧ ∀ z ∈ spaceTimeSet Set.univ (Set.Icc δ T), Foundation.Parabolic.vec3EuclideanNorm (u z) ≤ C ∧ |p z| ≤ C ∧ (∀ (i j : Fin 3), |D z i j| ≤ C) ∧ (∀ (i j k : Fin 3), |DD z i j k| ≤ C) ∧ (∀ (i : Fin 3), |Dt z i| ≤ C) ∧ ∀ (i : Fin 3), |Dp z i| ≤ C) ∧ (∀ (δ T : ℝ), 0 < δ → δ < T → (∀ (i : Fin 3), MeasureTheory.MemLp (fun (z : Foundation.Parabolic.ParabolicPoint) => u z i) 2 (MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo δ T)))) ∧ (∀ (i j : Fin 3), MeasureTheory.MemLp (fun (z : Foundation.Parabolic.ParabolicPoint) => D z i j) 2 (MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo δ T)))) ∧ (∀ (i j k : Fin 3), MeasureTheory.MemLp (fun (z : Foundation.Parabolic.ParabolicPoint) => DD z i j k) 2 (MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo δ T)))) ∧ (∀ (i : Fin 3), MeasureTheory.MemLp (fun (z : Foundation.Parabolic.ParabolicPoint) => Dt z i) 2 (MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo δ T)))) ∧ MeasureTheory.MemLp p 2 (MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo δ T)))) ∧ (∀ (z : Foundation.Parabolic.ParabolicPoint), 0 < z.2 → ∀ (i : Fin 3), Dt z i - ∑ j : Fin 3, DD z i j j + ∑ j : Fin 3, regUniformMollifiedVelocity ρ ε hε u z j * D z i j + Dp z i = 0) ∧ (∀ (t : ℝ), 0 < t → ∃ (hF : ∀ (i j : Fin 3), MeasureTheory.MemLp (fun (x : Foundation.Parabolic.Vec3) => regUniformMollifiedVelocity ρ ε hε u (x, t) i * u (x, t) j) (ENNReal.ofReal 2) MeasureTheory.volume), ((fun (x : Foundation.Parabolic.Vec3) => p (x, t)) =ᵐ[MeasureTheory.volume] rieszPressureSliceRepresentative 2 leray_existence_of_regularised._proof_55 fun (i j : Fin 3) => MeasureTheory.MemLp.toLp (fun (x : Foundation.Parabolic.Vec3) => regUniformMollifiedVelocity ρ ε hε u (x, t) i * u (x, t) j) ⋯) ∧ ∀ (ψ : Foundation.Parabolic.Vec3 → ℝ), ContDiff ℝ (↑⊤) ψ → HasCompactSupport ψ → ∫ (x : Foundation.Parabolic.Vec3), p (x, t) * spatialLaplacian ψ x = -∑ i : Fin 3, ∑ j : Fin 3, ∫ (x : Foundation.Parabolic.Vec3), regUniformMollifiedVelocity ρ ε hε u (x, t) i * u (x, t) j * mixedSecond ψ i j x) ∧ ∀ (t : ℝ), 0 ≤ t → MeasureTheory.eLpNorm (regUniformVelocitySlice u t) 2 MeasureTheory.volume ^ 2 + 2 * regUniformDissipation u D t = MeasureTheory.eLpNorm (regMollifyVector ρ ε hε (regUniformSpatialField a)) 2 MeasureTheory.volume ^ 2) (hlerayLimit : ∀ (a : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3) (ha : IsInJ a) (εseq : ℕ → ℝ) (hseq : ∀ (n : ℕ), 0 < εseq n ∧ εseq n ≤ 1), Filter.Tendsto εseq Filter.atTop (nhds 0) → ∃ (σ : ℕ → ℕ) (u : Foundation.Parabolic.ParabolicPoint → Foundation.Parabolic.Vec3) (Du : Foundation.Parabolic.ParabolicPoint → Fin 3 → Foundation.Parabolic.Vec3), StrictMono σ ∧ Filter.Tendsto σ Filter.atTop Filter.atTop ∧ Filter.Tendsto (fun (n : ℕ) => εseq (σ n)) Filter.atTop (nhds 0) ∧ (∀ (x : Foundation.Parabolic.Vec3), u (x, 0) = a x) ∧ (∀ (T : ℝ), 0 < T → have μ := MeasureTheory.volume.restrict (spaceTimeSet Set.univ (Set.Ioo 0 T)); have U := fun (n : ℕ) => uε a ha (εseq (σ n)); have J := fun (n : ℕ) => regUniformMollifiedVelocity ρ (εseq (σ n)) ⋯ (U n); have Dseq := fun (n : ℕ) (z : Foundation.Parabolic.ParabolicPoint) (i j : Fin 3) => spatialPartial (fun (y : Foundation.Parabolic.ParabolicPoint) => U n y i) j z; MeasureTheory.AEStronglyMeasurable u μ ∧ MeasureTheory.AEStronglyMeasurable Du μ ∧ MeasureTheory.MemLp u 2 μ ∧ MeasureTheory.MemLp Du 2 μ ∧ Filter.Tendsto (fun (n : ℕ) => MeasureTheory.eLpNorm (U n - u) 2 μ) Filter.atTop (nhds 0) ∧ (∀ (i j : Fin 3) (w : Foundation.Parabolic.ParabolicPoint → ℝ), MeasureTheory.MemLp w 2 μ → Filter.Tendsto (fun (n : ℕ) => ∫ (z : Foundation.Parabolic.ParabolicPoint) in spaceTimeSet Set.univ (Set.Ioo 0 T), Dseq n z i j * w z) Filter.atTop (nhds (∫ (z : Foundation.Parabolic.ParabolicPoint) in spaceTimeSet Set.univ (Set.Ioo 0 T), Du z i j * w z))) ∧ (∀ (q : ℝ), 2 ≤ q → q < 10 / 3 → Filter.Tendsto (fun (n : ℕ) => MeasureTheory.eLpNorm (U n - u) (ENNReal.ofReal q) μ) Filter.atTop (nhds 0)) ∧ (∀ (n : ℕ), MeasureTheory.MemLp (U n) 3 μ) ∧ (∀ (n : ℕ), MeasureTheory.MemLp (J n) 3 μ) ∧ MeasureTheory.MemLp u 3 μ ∧ Filter.Tendsto (fun (n : ℕ) => MeasureTheory.eLpNorm (J n - u) 3 μ) Filter.atTop (nhds 0) ∧ (∀ (t : ℝ), 0 < t → ∀ (w : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3), MeasureTheory.MemLp w 2 MeasureTheory.volume → Filter.Tendsto (fun (n : ℕ) => ∫ (x : Foundation.Parabolic.Vec3), ∑ i : Fin 3, U n (x, t) i * w x i) Filter.atTop (nhds (∫ (x : Foundation.Parabolic.Vec3), ∑ i : Fin 3, u (x, t) i * w x i))) ∧ ∀ᵐ (t : ℝ) ∂MeasureTheory.volume.restrict (Set.Ioi 0), ∀ (i : Fin 3), HasWeakGradientOn Set.univ (fun (x : Vec 3) => u (x, t) i) fun (x : Vec 3) => Du (x, t) i) ∧ ∀ (z : Foundation.Parabolic.Vec3 × ℝ), 0 < z.2 → u (Foundation.Parabolic.parabolicHomeomorph.symm z) = compactnessMollifiedLimit (fun (n : ℕ) (y : Foundation.Parabolic.Vec3 × ℝ) => uε a ha (εseq (σ n)) (Foundation.Parabolic.parabolicHomeomorph.symm y)) σ z) (a : Foundation.Parabolic.Vec3 → Foundation.Parabolic.Vec3) :

thm:leray from the regularized solutions of thm:regularised and the compactness statement prop:leray-limit for them.