Theorem: Filter.Tendsto.integral_sub_linear_isLittleO_ae
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: suffices
    (fun s => (∫ x in s, f x ∂μ) - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal from
  (this.comp_tendsto hs).congr'
    (hsμ.mono fun a ha => by dsimp only [Function.comp_apply] at ha ⊢; rw [ha]) hsμ
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
⊢ (fun i => ∫ (x : X) in s i, f x ∂μ - m i • b) =o[li] m
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
⊢ (fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal

tactic: refine isLittleO_iff.2 fun ε ε₀ => ?_
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
⊢ (fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
⊢ ∀ᶠ (x : Set X) in l.smallSets, ‖∫ (x : X) in x, f x ∂μ - (μ x).toReal • b‖ ≤ ε * ‖(μ x).toReal‖

tactic: have : ∀ᶠ s in l.smallSets, ∀ᵐ x ∂μ, x ∈ s → f x ∈ closedBall b ε :=
  eventually_smallSets_eventually.2 (h.eventually <| closedBall_mem_nhds _ ε₀)
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
⊢ ∀ᶠ (x : Set X) in l.smallSets, ‖∫ (x : X) in x, f x ∂μ - (μ x).toReal • b‖ ≤ ε * ‖(μ x).toReal‖
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ᶠ (x : Set X) in l.smallSets, ‖∫ (x : X) in x, f x ∂μ - (μ x).toReal • b‖ ≤ ε * ‖(μ x).toReal‖

tactic: filter_upwards [hμ.eventually, (hμ.integrableAtFilter_of_tendsto_ae hfm h).eventually,
  hfm.eventually, this]
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ᶠ (x : Set X) in l.smallSets, ‖∫ (x : X) in x, f x ∂μ - (μ x).toReal • b‖ ≤ ε * ‖(μ x).toReal‖
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set X),
    μ a < ⊤ →
      IntegrableOn f a μ →
        AEStronglyMeasurable f (μ.restrict a) →
          (∀ᵐ (x : X) ∂μ, x ∈ a → f x ∈ closedBall b ε) →
            ‖∫ (x : X) in a, f x ∂μ - (μ a).toReal • b‖ ≤ ε * ‖(μ a).toReal‖

tactic: simp only [mem_closedBall, dist_eq_norm]
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set X),
    μ a < ⊤ →
      IntegrableOn f a μ →
        AEStronglyMeasurable f (μ.restrict a) →
          (∀ᵐ (x : X) ∂μ, x ∈ a → f x ∈ closedBall b ε) →
            ‖∫ (x : X) in a, f x ∂μ - (μ a).toReal • b‖ ≤ ε * ‖(μ a).toReal‖
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set X),
    μ a < ⊤ →
      IntegrableOn f a μ →
        AEStronglyMeasurable f (μ.restrict a) →
          (∀ᵐ (x : X) ∂μ, x ∈ a → ‖f x - b‖ ≤ ε) → ‖∫ (x : X) in a, f x ∂μ - (μ a).toReal • b‖ ≤ ε * ‖(μ a).toReal‖

tactic: intro s hμs h_integrable hfm h_norm
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
⊢ ∀ (a : Set X),
    μ a < ⊤ →
      IntegrableOn f a μ →
        AEStronglyMeasurable f (μ.restrict a) →
          (∀ᵐ (x : X) ∂μ, x ∈ a → ‖f x - b‖ ≤ ε) → ‖∫ (x : X) in a, f x ∂μ - (μ a).toReal • b‖ ≤ ε * ‖(μ a).toReal‖
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s✝ : ι → Set X
li : Filter ι
hs : Tendsto s✝ li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s✝ i)).toReal
hsμ : autoParam ((fun i => (μ (s✝ i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set X
hμs : μ s < ⊤
h_integrable : IntegrableOn f s μ
hfm : AEStronglyMeasurable f (μ.restrict s)
h_norm : ∀ᵐ (x : X) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (x : X) in s, f x ∂μ - (μ s).toReal • b‖ ≤ ε * ‖(μ s).toReal‖

tactic: rw [← setIntegral_const, ← integral_sub h_integrable (integrableOn_const.2 <| Or.inr hμs),
  Real.norm_eq_abs, abs_of_nonneg ENNReal.toReal_nonneg]
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s✝ : ι → Set X
li : Filter ι
hs : Tendsto s✝ li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s✝ i)).toReal
hsμ : autoParam ((fun i => (μ (s✝ i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set X
hμs : μ s < ⊤
h_integrable : IntegrableOn f s μ
hfm : AEStronglyMeasurable f (μ.restrict s)
h_norm : ∀ᵐ (x : X) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (x : X) in s, f x ∂μ - (μ s).toReal • b‖ ≤ ε * ‖(μ s).toReal‖
state_after: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s✝ : ι → Set X
li : Filter ι
hs : Tendsto s✝ li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s✝ i)).toReal
hsμ : autoParam ((fun i => (μ (s✝ i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set X
hμs : μ s < ⊤
h_integrable : IntegrableOn f s μ
hfm : AEStronglyMeasurable f (μ.restrict s)
h_norm : ∀ᵐ (x : X) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (a : X) in s, f a - b ∂μ‖ ≤ ε * (μ s).toReal

tactic: exact norm_setIntegral_le_of_norm_le_const_ae' hμs h_norm (hfm.sub aestronglyMeasurable_const)
state_before: case h
X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm✝ : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s✝ : ι → Set X
li : Filter ι
hs : Tendsto s✝ li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s✝ i)).toReal
hsμ : autoParam ((fun i => (μ (s✝ i)).toReal) =ᶠ[li] m) _auto✝
ε : ℝ
ε₀ : 0 < ε
this : ∀ᶠ (s : Set X) in l.smallSets, ∀ᵐ (x : X) ∂μ, x ∈ s → f x ∈ closedBall b ε
s : Set X
hμs : μ s < ⊤
h_integrable : IntegrableOn f s μ
hfm : AEStronglyMeasurable f (μ.restrict s)
h_norm : ∀ᵐ (x : X) ∂μ, x ∈ s → ‖f x - b‖ ≤ ε
⊢ ‖∫ (a : X) in s, f a - b ∂μ‖ ≤ ε * (μ s).toReal
state_after: no goals

tactic: dsimp only [Function.comp_apply] at ha ⊢
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal
a : ι
ha : (fun i => (μ (s i)).toReal) a = m a
⊢ ((fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) ∘ s) a = (fun i => ∫ (x : X) in s i, f x ∂μ - m i • b) a
state_after: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal
a : ι
ha : (μ (s a)).toReal = m a
⊢ ∫ (x : X) in s a, f x ∂μ - (μ (s a)).toReal • b = ∫ (x : X) in s a, f x ∂μ - m a • b

tactic: rw [ha]
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝⁴ : MeasurableSpace X
ι : Type u_5
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : CompleteSpace E
μ : Measure X
l : Filter X
inst✝ : l.IsMeasurablyGenerated
f : X → E
b : E
h : Tendsto f (l ⊓ ae μ) (𝓝 b)
hfm : StronglyMeasurableAtFilter f l μ
hμ : μ.FiniteAtFilter l
s : ι → Set X
li : Filter ι
hs : Tendsto s li l.smallSets
m : optParam (ι → ℝ) fun i => (μ (s i)).toReal
hsμ : autoParam ((fun i => (μ (s i)).toReal) =ᶠ[li] m) _auto✝
this : (fun s => ∫ (x : X) in s, f x ∂μ - (μ s).toReal • b) =o[l.smallSets] fun s => (μ s).toReal
a : ι
ha : (μ (s a)).toReal = m a
⊢ ∫ (x : X) in s a, f x ∂μ - (μ (s a)).toReal • b = ∫ (x : X) in s a, f x ∂μ - m a • b
state_after: no goals