@@ -263,11 +263,13 @@ theorem lintegral_mul_prod_lintegral_pow_le {p : ℝ} (hp₀ : 0 ≤ p)
263263
264264/-- Special case of the grid-lines lemma `lintegral_mul_prod_lintegral_pow_le`, taking the extremal
265265exponent `p = (#ι - 1)⁻¹`. -/
266- theorem lintegral_prod_lintegral_pow_le [Nontrivial ι]
266+ theorem lintegral_prod_lintegral_pow_le
267267 {p : ℝ} (hp : Real.IsConjExponent #ι p)
268268 {f} (hf : Measurable f) :
269269 ∫⁻ x, ∏ i, (∫⁻ xᵢ, f (update x i xᵢ) ∂μ i) ^ ((1 : ℝ) / (#ι - 1 : ℝ)) ∂.pi μ
270270 ≤ (∫⁻ x, f x ∂.pi μ) ^ p := by
271+ have : Nontrivial ι :=
272+ Fintype.one_lt_card_iff_nontrivial.mp (by exact_mod_cast hp.one_lt)
271273 have h0 : (1 :ℝ) < #ι := by norm_cast; exact Fintype.one_lt_card
272274 have h1 : (0 :ℝ) < #ι - 1 := by linarith
273275 have h2 : 0 ≤ ((1 : ℝ) / (#ι - 1 : ℝ)) := by positivity
@@ -279,7 +281,7 @@ theorem lintegral_prod_lintegral_pow_le [Nontrivial ι]
279281
280282/-! ## The Gagliardo-Nirenberg-Sobolev inequality -/
281283
282- variable {F : Type *} [NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F]
284+ variable {F : Type *} [NormedAddCommGroup F] [NormedSpace ℝ F]
283285
284286/-- The **Gagliardo-Nirenberg-Sobolev inequality** . Let `u` be a continuously differentiable
285287compactly-supported function `u` on `ℝⁿ`, for `n ≥ 2`. (More literally we encode `ℝⁿ` as
@@ -299,8 +301,6 @@ theorem lintegral_pow_le_pow_lintegral_fderiv_aux
299301 By taking the product over these `n` factors, raising them to the power `(n-1)⁻¹` and integrating,
300302 we get the inequality `∫ |u| ^ (n/(n-1)) ≤ ∫ x, ∏ i, (∫ xᵢ, |Du(update x i xᵢ)|)^(n-1)⁻¹`.
301303 The result then follows from the grid-lines lemma. -/
302- have : Nontrivial ι :=
303- Fintype.one_lt_card_iff_nontrivial.mp (by exact_mod_cast hp.one_lt)
304304 have : (1 :ℝ) ≤ ↑#ι - 1 := by
305305 have hι : (2 :ℝ) ≤ #ι := by exact_mod_cast hp.one_lt
306306 linarith
@@ -316,20 +316,18 @@ theorem lintegral_pow_le_pow_lintegral_fderiv_aux
316316 simp_rw [prod_const, card_univ]
317317 norm_cast
318318 _ ≤ ∫⁻ x, ∏ i, (∫⁻ xᵢ, ‖fderiv ℝ u (update x i xᵢ)‖₊) ^ ((1 : ℝ) / (#ι - 1 : ℝ)) := ?_
319- _ ≤ (∫⁻ x, ‖fderiv ℝ u x‖₊) ^ p :=
319+ _ ≤ (∫⁻ x, ‖fderiv ℝ u x‖₊) ^ p := by
320320 -- apply the grid-lines lemma
321- lintegral_prod_lintegral_pow_le _ hp (by fun_prop)
321+ apply lintegral_prod_lintegral_pow_le _ hp
322+ have : Continuous (fderiv ℝ u) := hu.continuous_fderiv le_rfl
323+ fun_prop
322324 -- we estimate |u x| using the fundamental theorem of calculus.
323325 gcongr with x i
324326 calc (‖u x‖₊ : ℝ≥0 ∞)
325- = (‖∫ xᵢ in Iic (x i), deriv (u ∘ update x i) xᵢ‖₊ : ℝ≥0 ∞) := by
326- -- apply the half-infinite fundamental theorem of calculus
327- have h3u : ContDiff ℝ 1 (u ∘ update x i) := hu.comp (by convert contDiff_update 1 x i)
328- have h4u : HasCompactSupport (u ∘ update x i) :=
329- h2u.comp_closedEmbedding (closedEmbedding_update x i)
330- simp [HasCompactSupport.integral_Iic_deriv_eq h3u h4u (x i)]
331- _ ≤ ∫⁻ xᵢ in Iic (x i), ‖deriv (u ∘ update x i) xᵢ‖₊ :=
332- ennnorm_integral_le_lintegral_ennnorm _ -- apply the triangle inequality
327+ _ ≤ ∫⁻ xᵢ in Iic (x i), ‖deriv (u ∘ update x i) xᵢ‖₊ := by
328+ apply le_trans (by simp) (HasCompactSupport.ennnorm_le_lintegral_Ici_deriv _ _ _)
329+ · exact hu.comp (by convert contDiff_update 1 x i)
330+ · exact h2u.comp_closedEmbedding (closedEmbedding_update x i)
333331 _ ≤ ∫⁻ xᵢ, (‖fderiv ℝ u (update x i xᵢ)‖₊ : ℝ≥0 ∞) := ?_
334332 gcongr with y; swap; exact Measure.restrict_le_self
335333 -- bound the derivative which appears
@@ -420,6 +418,7 @@ theorem lintegral_pow_le_pow_lintegral_fderiv {u : E → F}
420418 * (∫⁻ x, ‖fderiv ℝ u x‖₊ ∂(volume : Measure (ι → ℝ)).map e.symm) ^ p := by
421419 congr
422420 rw [lintegral_map _ e.symm.continuous.measurable]
421+ have : Continuous (fderiv ℝ u) := hu.continuous_fderiv le_rfl
423422 fun_prop
424423 rw [← ENNReal.mul_le_mul_left h3c ENNReal.coe_ne_top, ← mul_assoc, ← ENNReal.coe_mul, ← hC,
425424 ENNReal.coe_mul] at this
0 commit comments