Theorem: BoxIntegral.norm_integral_le_of_norm_le
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: by_cases hfi : Integrable.{u, v, v} I l f μ.toBoxAdditive.toSMul
state_before: ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ ‖integral I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))‖ ≤
    integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))

tactic: refine' le_of_tendsto_of_tendsto' hfi.hasIntegral.norm hg.hasIntegral fun π => _
state_before: case pos
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ ‖integral I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))‖ ≤
    integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))

tactic: refine' norm_sum_le_of_le _ fun J _ => _
state_before: case pos
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J : Box ι
π✝ : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
π : TaggedPrepartition I
⊢ ‖integralSum f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ)) π‖ ≤
    integralSum g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ)) π

tactic: simp only [BoxAdditiveMap.toSMul_apply, norm_smul, smul_eq_mul, Real.norm_eq_abs,
  μ.toBoxAdditive_apply, abs_of_nonneg ENNReal.toReal_nonneg]
state_before: case pos
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J✝ : Box ι
π✝ : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
π : TaggedPrepartition I
J : Box ι
x✝ : J ∈ π.boxes
⊢ ‖↑(↑(BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ)) J) (f (tag π J))‖ ≤
    ↑(↑(BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ)) J) (g (tag π J))

tactic: exact mul_le_mul_of_nonneg_left (hle _ <| π.tag_mem_Icc _) ENNReal.toReal_nonneg
state_before: case pos
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J✝ : Box ι
π✝ : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
π : TaggedPrepartition I
J : Box ι
x✝ : J ∈ π.boxes
⊢ ENNReal.toReal (↑↑μ ↑J) * ‖f (tag π J)‖ ≤ ENNReal.toReal (↑↑μ ↑J) * g (tag π J)

tactic: rw [integral, dif_neg hfi, norm_zero]
state_before: case neg
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : ¬Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ ‖integral I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))‖ ≤
    integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))

tactic: exact integral_nonneg (fun x hx => (norm_nonneg _).trans (hle x hx)) μ
state_before: case neg
ι : Type u
E : Type v
F : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝¹ : Fintype ι
l : IntegrationParams
f g✝ : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
g : (ι → ℝ) → ℝ
hle : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → ‖f x‖ ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hg : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
hfi : ¬Integrable I l f (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ 0 ≤ integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))