Skip to content

Commit 6559776

Browse files
committed
feat(MeasureTheory/Integral/DominatedConvergence): add theorems for primitive_Iio
1 parent b0dc0e1 commit 6559776

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

Mathlib/MeasureTheory/Integral/DominatedConvergence.lean

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,79 @@ theorem IntegrableOn.continuousOn_primitive_Ioi [NoAtoms μ] {a : ℝ}
714714

715715
end PrimitiveIoi
716716

717+
section PrimitiveIio
718+
719+
theorem IntegrableOn.tendsto_primitive_Iio {a b₀ : ℝ} (hf : IntegrableOn f (Iio a) μ)
720+
(hb₀ : b₀ ≤ a) :
721+
Tendsto (fun b ↦ ∫ x in Iio b, f x ∂μ) (𝓝[≤] b₀) (𝓝 (∫ x in Iio b₀, f x ∂μ)) := by
722+
simp_rw [← integral_indicator measurableSet_Iio]
723+
apply tendsto_integral_filter_of_dominated_convergence
724+
· filter_upwards [self_mem_nhdsWithin] with b hb
725+
rw [aestronglyMeasurable_indicator_iff measurableSet_Iio]
726+
apply Integrable.aestronglyMeasurable
727+
exact hf.mono_set (Iio_subset_Iio (hb.trans hb₀))
728+
· filter_upwards [self_mem_nhdsWithin] with b hb
729+
apply ae_of_all
730+
intro x
731+
rw [norm_indicator_eq_indicator_norm]
732+
apply indicator_le_indicator_of_subset (Iio_subset_Iio (hb.trans hb₀))
733+
intro _
734+
exact norm_nonneg _
735+
· simpa [integrable_indicator_iff measurableSet_Iio] using hf.norm
736+
· apply ae_of_all
737+
intro x
738+
rw [indicator_apply]
739+
by_cases hx : x < b₀
740+
· simp only [mem_Iio, hx, if_true]
741+
apply tendsto_const_nhds.congr'
742+
filter_upwards [mem_nhdsWithin_of_mem_nhds (Ioi_mem_nhds hx)] with b (hb : x < b)
743+
simp [hb]
744+
· simp only [mem_Iio, hx, if_false]
745+
simp at hx
746+
apply tendsto_const_nhds.congr'
747+
filter_upwards [self_mem_nhdsWithin] with b hb
748+
simp [hb.trans hx]
749+
750+
theorem IntegrableOn.continuousWithinAt_primitive_Iio {a b₀ : ℝ} (hf : IntegrableOn f (Iio a) μ)
751+
(hb₀ : b₀ ≤ a) :
752+
ContinuousWithinAt (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic b₀) b₀ :=
753+
hf.tendsto_primitive_Iio hb₀
754+
755+
theorem IntegrableOn.continuousOn_primitive_Iio [NoAtoms μ] {a : ℝ}
756+
(hf : IntegrableOn f (Iio a) μ) :
757+
ContinuousOn (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic a) := by
758+
intro b₀ hb₀
759+
rw [mem_Iic] at hb₀
760+
simp_rw [← integral_indicator measurableSet_Iio]
761+
apply tendsto_integral_filter_of_dominated_convergence
762+
· filter_upwards [self_mem_nhdsWithin] with b hb
763+
rw [aestronglyMeasurable_indicator_iff measurableSet_Iio]
764+
apply Integrable.aestronglyMeasurable
765+
exact hf.mono_set (Iio_subset_Iio hb)
766+
· filter_upwards [self_mem_nhdsWithin] with b hb
767+
apply ae_of_all
768+
intro x
769+
rw [norm_indicator_eq_indicator_norm]
770+
apply indicator_le_indicator_of_subset (Iio_subset_Iio hb)
771+
intro _
772+
exact norm_nonneg _
773+
· simpa [integrable_indicator_iff measurableSet_Iio] using hf.norm
774+
· have hne : ∀ᵐ x ∂μ, x ≠ b₀ := by simp [ae_iff]
775+
filter_upwards [hne] with x hx
776+
rw [indicator_apply]
777+
by_cases hxb : x < b₀
778+
· simp only [mem_Iio, hxb, if_true]
779+
apply tendsto_const_nhds.congr'
780+
filter_upwards [mem_nhdsWithin_of_mem_nhds (Ioi_mem_nhds hxb)] with b (hb : x < b)
781+
simp [hb]
782+
· simp only [mem_Iio, hxb, if_false]
783+
have hxb' : b₀ < x := lt_of_le_of_ne (not_lt.mp hxb) (Ne.symm hx)
784+
apply tendsto_const_nhds.congr'
785+
filter_upwards [mem_nhdsWithin_of_mem_nhds (Iio_mem_nhds hxb')] with b (hb : b < x)
786+
simp [hb.le]
787+
788+
end PrimitiveIio
789+
717790
end MeasureTheory
718791

719792
end DominatedConvergenceTheorem

0 commit comments

Comments
 (0)