Theorem: SchwartzMap.integrable_norm_pow_mul_norm (ForML/SchwartzLp.lean)

State before:
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ Integrable fun x => ‖x‖ ^ n * ‖f x‖
Tactic:
refine And.intro ?_ ?_
State after:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEStronglyMeasurable (fun x => ‖x‖ ^ n * ‖f x‖) volume

case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ HasFiniteIntegral fun x => ‖x‖ ^ n * ‖f x‖

State before:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEStronglyMeasurable (fun x => ‖x‖ ^ n * ‖f x‖) volume

case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ HasFiniteIntegral fun x => ‖x‖ ^ n * ‖f x‖
Tactic:
. refine AEStronglyMeasurable.mul ?_ f.continuous.norm.aestronglyMeasurable
  refine (AEMeasurable.pow_const ?_ n).aestronglyMeasurable
  exact measurable_norm.aemeasurable
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ HasFiniteIntegral fun x => ‖x‖ ^ n * ‖f x‖

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ HasFiniteIntegral fun x => ‖x‖ ^ n * ‖f x‖
Tactic:
. rw [HasFiniteIntegral]
  rw [← snorm_one_eq_lintegral_nnnorm]
  refine lt_of_le_of_lt ?_ (snorm_nnreal_one_add_norm_rpow_smul_lt_top n f zero_lt_one)
  refine snorm_mono ?_
  intro x
  simp [norm_smul]
  refine mul_le_mul_of_nonneg_right ?_ (norm_nonneg (f x))
  rw [abs_of_nonneg (by simp)]
  refine pow_le_pow_left ?_ ?_ _ <;> simp
State after:
no goals

State before:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEStronglyMeasurable (fun x => ‖x‖ ^ n * ‖f x‖) volume
Tactic:
refine AEStronglyMeasurable.mul ?_ f.continuous.norm.aestronglyMeasurable
State after:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEStronglyMeasurable (fun x => ‖x‖ ^ n) volume

State before:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEStronglyMeasurable (fun x => ‖x‖ ^ n) volume
Tactic:
refine (AEMeasurable.pow_const ?_ n).aestronglyMeasurable
State after:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEMeasurable fun x => ‖x‖

State before:
case refine_1
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ AEMeasurable fun x => ‖x‖
Tactic:
exact measurable_norm.aemeasurable
State after:
no goals

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ HasFiniteIntegral fun x => ‖x‖ ^ n * ‖f x‖
Tactic:
rw [HasFiniteIntegral]
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ ∫⁻ (a : E), ↑‖‖a‖ ^ n * ‖f a‖‖₊ < ⊤

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ ∫⁻ (a : E), ↑‖‖a‖ ^ n * ‖f a‖‖₊ < ⊤
Tactic:
rw [← snorm_one_eq_lintegral_nnnorm]
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ snorm (fun a => ‖a‖ ^ n * ‖f a‖) 1 volume < ⊤

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ snorm (fun a => ‖a‖ ^ n * ‖f a‖) 1 volume < ⊤
Tactic:
refine lt_of_le_of_lt ?_ (snorm_nnreal_one_add_norm_rpow_smul_lt_top n f zero_lt_one)
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ snorm (fun a => ‖a‖ ^ n * ‖f a‖) 1 volume ≤ snorm (fun x => (1 + ‖x‖) ^ ↑n • f x) (↑1) volume

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ snorm (fun a => ‖a‖ ^ n * ‖f a‖) 1 volume ≤ snorm (fun x => (1 + ‖x‖) ^ ↑n • f x) (↑1) volume
Tactic:
refine snorm_mono ?_
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ ∀ (x : E), ‖‖x‖ ^ n * ‖f x‖‖ ≤ ‖(1 + ‖x‖) ^ ↑n • f x‖

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
⊢ ∀ (x : E), ‖‖x‖ ^ n * ‖f x‖‖ ≤ ‖(1 + ‖x‖) ^ ↑n • f x‖
Tactic:
intro x
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖‖x‖ ^ n * ‖f x‖‖ ≤ ‖(1 + ‖x‖) ^ ↑n • f x‖

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖‖x‖ ^ n * ‖f x‖‖ ≤ ‖(1 + ‖x‖) ^ ↑n • f x‖
Tactic:
simp [norm_smul]
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n * ‖f x‖ ≤ |1 + ‖x‖| ^ n * ‖f x‖

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n * ‖f x‖ ≤ |1 + ‖x‖| ^ n * ‖f x‖
Tactic:
refine mul_le_mul_of_nonneg_right ?_ (norm_nonneg (f x))
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n ≤ |1 + ‖x‖| ^ n

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n ≤ |1 + ‖x‖| ^ n
Tactic:
rw [abs_of_nonneg (by simp)]
State after:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n ≤ (1 + ‖x‖) ^ n

State before:
case refine_2
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ ‖x‖ ^ n ≤ (1 + ‖x‖) ^ n
Tactic:
refine pow_le_pow_left ?_ ?_ _ <;> simp
State after:
no goals

State before:
E : Type u_1
F : Type u_2
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
mE : MeasureSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : BorelSpace E
inst✝ : Measure.IsAddHaarMeasure volume
n : ℕ
f : 𝓢(E, F)
x : E
⊢ 0 ≤ 1 + ‖x‖
Tactic:
simp
State after:
no goals