Theorem: Antitone.tendsto_set_integral
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: let bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
state_before: α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))

tactic: have h_int_eq : (fun i => ∫ a in s i, f a ∂μ) = fun i => ∫ a, (s i).indicator f a ∂μ :=
  funext fun i => (integral_indicator (hsm i)).symm
state_before: α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))

tactic: rw [h_int_eq]
state_before: α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α) in s i, f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))

tactic: rw [← integral_indicator (MeasurableSet.iInter hsm)]
state_before: α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α), indicator (s i) f a ∂μ) atTop (𝓝 (∫ (a : α) in ⋂ (n : ℕ), s n, f a ∂μ))

tactic: refine' tendsto_integral_of_dominated_convergence bound _ _ _ _
state_before: α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Tendsto (fun i => ∫ (a : α), indicator (s i) f a ∂μ) atTop
    (𝓝 (∫ (x : α), indicator (⋂ (b : ℕ), s b) (fun a => f a) x ∂μ))

tactic: intro n
state_before: case refine'_1
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), AEStronglyMeasurable (fun a => indicator (s n) f a) μ

tactic: rw [aestronglyMeasurable_indicator_iff (hsm n)]
state_before: case refine'_1
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
⊢ AEStronglyMeasurable (fun a => indicator (s n) f a) μ

tactic: exact (IntegrableOn.mono_set hfi (h_anti (zero_le n))).1
state_before: case refine'_1
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
⊢ AEStronglyMeasurable f (Measure.restrict μ (s n))

tactic: rw [integrable_indicator_iff (hsm 0)]
state_before: case refine'_2
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ Integrable bound

tactic: exact hfi.norm
state_before: case refine'_2
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ IntegrableOn (fun a => ‖f a‖) (s 0)

tactic: simp_rw [norm_indicator_eq_indicator_norm]
state_before: case refine'_3
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), ∀ᵐ (a : α) ∂μ, ‖indicator (s n) f a‖ ≤ bound a

tactic: refine' fun n => eventually_of_forall fun x => _
state_before: case refine'_3
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ (n : ℕ), ∀ᵐ (a : α) ∂μ, indicator (s n) (fun a => ‖f a‖) a ≤ indicator (s 0) (fun a => ‖f a‖) a

tactic: exact indicator_le_indicator_of_subset (h_anti (zero_le n)) (fun a => norm_nonneg _) _
state_before: case refine'_3
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
n : ℕ
x : α
⊢ indicator (s n) (fun a => ‖f a‖) x ≤ indicator (s 0) (fun a => ‖f a‖) x

tactic: filter_upwards [] with a using le_trans (h_anti.tendsto_indicator _ _ _) (pure_le_nhds _)
state_before: case refine'_4
α : Type u_1
β : Type ?u.314392
E : Type u_2
F : Type ?u.314398
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
s : ℕ → Set α
f : α → E
hsm : ∀ (i : ℕ), MeasurableSet (s i)
h_anti : Antitone s
hfi : IntegrableOn f (s 0)
bound : α → ℝ := indicator (s 0) fun a => ‖f a‖
h_int_eq : (fun i => ∫ (a : α) in s i, f a ∂μ) = fun i => ∫ (a : α), indicator (s i) f a ∂μ
⊢ ∀ᵐ (a : α) ∂μ, Tendsto (fun n => indicator (s n) f a) atTop (𝓝 (indicator (⋂ (b : ℕ), s b) (fun a => f a) a))