Skip to content

Commit 455228b

Browse files
committed
refactor(MeasureTheory/Integral/DominatedConvergence): remove redundant hypotheses in continuousWithinAt_Ici_primitive_Ioi and ..._Ioi; rename variables in the hypotheses for clarity
1 parent 0470b66 commit 455228b

1 file changed

Lines changed: 49 additions & 49 deletions

File tree

Mathlib/MeasureTheory/Integral/DominatedConvergence.lean

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -645,87 +645,87 @@ open intervalIntegral
645645

646646
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {μ : Measure ℝ} {f : ℝ → E}
647647

648-
theorem continuousWithinAt_Ici_primitive_Ioi {a b₀ : ℝ} (hf : IntegrableOn f (Ioi a) μ)
649-
(hb₀ : a ≤ b₀) : ContinuousWithinAt (fun b ↦ ∫ x in Ioi b, f x ∂μ) (Ici b₀) b₀ := by
648+
theorem continuousWithinAt_Ici_primitive_Ioi {a₀ : ℝ} (hf : IntegrableOn f (Ioi a) μ)
649+
: ContinuousWithinAt (fun b ↦ ∫ x in Ioi b, f x ∂μ) (Ici a₀) a₀ := by
650650
simp_rw [← integral_indicator measurableSet_Ioi]
651-
refine tendsto_integral_filter_of_dominated_convergence ((Ioi a).indicator (norm ∘ f)) ?_ ?_ ?_ ?_
652-
· filter_upwards [self_mem_nhdsWithin] with b hb
651+
apply tendsto_integral_filter_of_dominated_convergence ((Ioi a).indicator (norm ∘ f))
652+
· filter_upwards [self_mem_nhdsWithin] with a ha
653653
rw [aestronglyMeasurable_indicator_iff measurableSet_Ioi]
654-
exact (hf.mono_set (Ioi_subset_Ioi (hb₀.trans hb))).aestronglyMeasurable
655-
· filter_upwards [self_mem_nhdsWithin] with b hb
654+
exact (hf.mono_set (Ioi_subset_Ioi ha)).aestronglyMeasurable
655+
· filter_upwards [self_mem_nhdsWithin] with a ha
656656
refine ae_of_all _ fun x ↦ ?_
657657
rw [norm_indicator_eq_indicator_norm]
658658
apply indicator_le_indicator_of_subset (Ioi_subset_Ioi (by grind)) (fun a ↦ norm_nonneg (f a))
659659
· simpa [integrable_indicator_iff measurableSet_Ioi] using hf.norm
660660
· refine ae_of_all _ fun x ↦ ?_
661661
simp only [indicator_apply, mem_Ioi]
662-
by_cases hx : b₀ < x <;> apply tendsto_const_nhds.congr'
663-
· filter_upwards [mem_nhdsWithin_of_mem_nhds (Iio_mem_nhds hx)] with b hb using by grind
664-
· filter_upwards [self_mem_nhdsWithin] with b hb using by grind
665-
666-
theorem continuousOn_Ici_primitive_Ioi [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Ioi a) μ) :
667-
ContinuousOn (fun b ↦ ∫ x in Ioi b, f x ∂μ) (Ici a) := by
668-
intro b₀ hb₀
669-
rw [mem_Ici] at hb₀
662+
by_cases hx : a₀ < x <;> apply tendsto_const_nhds.congr'
663+
· filter_upwards [mem_nhdsWithin_of_mem_nhds (Iio_mem_nhds hx)] with a ha using by grind
664+
· filter_upwards [self_mem_nhdsWithin] with a ha using by grind
665+
666+
theorem continuousOn_Ici_primitive_Ioi [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Ioi a) μ) :
667+
ContinuousOn (fun b ↦ ∫ x in Ioi b, f x ∂μ) (Ici a) := by
668+
intro a ha
669+
rw [mem_Ici] at ha
670670
rw [continuousWithinAt_iff_continuous_left_right]
671671
constructor
672672
· rw [Ici_inter_Iic]
673-
have h_int : IntervalIntegrable f μ a b₀ := by
674-
rw [intervalIntegrable_iff_integrableOn_Ioc_of_le hb₀]
673+
have h_int : IntervalIntegrable f μ a₀ a := by
674+
rw [intervalIntegrable_iff_integrableOn_Ioc_of_le ha]
675675
exact hf.mono_set Ioc_subset_Ioi_self
676-
have h_split : ∀ b ∈ Icc a b₀, ∫ x in Ioi b, f x ∂μ =
677-
(∫ x in Ioi a, f x ∂μ) - ∫ x in a..b, f x ∂μ := by
676+
have h_split : ∀ b ∈ Icc a₀ a, ∫ x in Ioi b, f x ∂μ =
677+
(∫ x in Ioi a, f x ∂μ) - ∫ x in a..b, f x ∂μ := by
678678
intro b hb
679679
simp [← integral_Ioi_sub_Ioi hf hb.1]
680-
have h_cwa : ContinuousWithinAt (fun b ↦ ∫ x in a..b, f x ∂μ) (Icc a b₀) b₀ :=
681-
continuousWithinAt_primitive (measure_singleton b₀) (by simpa [hb₀])
682-
exact (continuousWithinAt_const.sub h_cwa).congr h_split (h_split b₀ (right_mem_Icc.2 hb₀))
683-
· simpa [hb₀] using hf.continuousWithinAt_Ici_primitive_Ioi hb₀
680+
have h_cwa : ContinuousWithinAt (fun b ↦ ∫ x in a..b, f x ∂μ) (Icc a₀ a) a :=
681+
continuousWithinAt_primitive (measure_singleton a) (by simpa [ha])
682+
exact (continuousWithinAt_const.sub h_cwa).congr h_split (h_split a (right_mem_Icc.2 ha))
683+
· simpa [ha] using (hf.mono_set (Ioi_subset_Ioi ha)).continuousWithinAt_Ici_primitive_Ioi
684684

685-
theorem continuousWithinAt_Iic_primitive_Iio {a b₀ : ℝ} (hf : IntegrableOn f (Iio a) μ)
686-
(hb₀ : b₀ ≤ a) : ContinuousWithinAt (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic b₀) b₀ := by
685+
theorem continuousWithinAt_Iic_primitive_Iio {a₀ : ℝ} (hf : IntegrableOn f (Iio a) μ)
686+
: ContinuousWithinAt (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic a₀) a₀ := by
687687
simp_rw [← integral_indicator measurableSet_Iio]
688-
refine tendsto_integral_filter_of_dominated_convergence ((Iio a).indicator (norm ∘ f)) ?_ ?_ ?_ ?_
689-
· filter_upwards [self_mem_nhdsWithin] with b hb
688+
apply tendsto_integral_filter_of_dominated_convergence ((Iio a).indicator (norm ∘ f))
689+
· filter_upwards [self_mem_nhdsWithin] with a ha
690690
rw [aestronglyMeasurable_indicator_iff measurableSet_Iio]
691-
exact (hf.mono_set (Iio_subset_Iio (hb.trans hb₀))).aestronglyMeasurable
692-
· filter_upwards [self_mem_nhdsWithin] with b hb
691+
exact (hf.mono_set (Iio_subset_Iio ha)).aestronglyMeasurable
692+
· filter_upwards [self_mem_nhdsWithin] with a ha
693693
refine ae_of_all _ fun x ↦ ?_
694694
rw [norm_indicator_eq_indicator_norm]
695695
apply indicator_le_indicator_of_subset (Iio_subset_Iio (by grind)) (fun a ↦ norm_nonneg (f a))
696696
· simpa [integrable_indicator_iff measurableSet_Iio] using hf.norm
697697
· refine ae_of_all _ fun x ↦ ?_
698698
simp only [indicator_apply, mem_Iio]
699-
by_cases hx : x < b₀ <;> apply tendsto_const_nhds.congr'
700-
· filter_upwards [mem_nhdsWithin_of_mem_nhds (Ioi_mem_nhds hx)] with b hb using by grind
701-
· filter_upwards [self_mem_nhdsWithin] with b hb using by grind
702-
703-
theorem continuousOn_Iic_primitive_Iio [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Iio a) μ) :
704-
ContinuousOn (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic a) := by
705-
intro b₀ hb₀
706-
rw [mem_Iic] at hb₀
699+
by_cases hx : x < a₀ <;> apply tendsto_const_nhds.congr'
700+
· filter_upwards [mem_nhdsWithin_of_mem_nhds (Ioi_mem_nhds hx)] with a ha using by grind
701+
· filter_upwards [self_mem_nhdsWithin] with a ha using by grind
702+
703+
theorem continuousOn_Iic_primitive_Iio [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Iio a) μ) :
704+
ContinuousOn (fun b ↦ ∫ x in Iio b, f x ∂μ) (Iic a) := by
705+
intro a ha
706+
rw [mem_Iic] at ha
707707
rw [continuousWithinAt_iff_continuous_left_right]
708708
constructor
709-
· simpa [hb₀] using hf.continuousWithinAt_Iic_primitive_Iio hb₀
709+
· simpa [ha] using (hf.mono_set (Iio_subset_Iio ha)).continuousWithinAt_Iic_primitive_Iio
710710
· rw [Iic_inter_Ici]
711-
have h_int : IntervalIntegrable f μ b₀ a := by
712-
rw [intervalIntegrable_iff_integrableOn_Ico_of_le hb₀]
711+
have h_int : IntervalIntegrable f μ a a₀ := by
712+
rw [intervalIntegrable_iff_integrableOn_Ico_of_le ha]
713713
exact hf.mono_set Ico_subset_Iio_self
714-
have h_split : ∀ b ∈ Icc b₀ a, ∫ x in Iio b, f x ∂μ =
715-
(∫ x in Iio a, f x ∂μ) + ∫ x in a..b, f x ∂μ := by
714+
have h_split : ∀ b ∈ Icc a a₀, ∫ x in Iio b, f x ∂μ =
715+
(∫ x in Iio a, f x ∂μ) + ∫ x in a..b, f x ∂μ := by
716716
intro b hb
717-
simp [integral_symm b a, ← integral_Iio_sub_Iio hf hb.2]
718-
have h_cwa : ContinuousWithinAt (fun b ↦ ∫ x in a..b, f x ∂μ) (Icc b₀ a) b₀ := by
719-
exact continuousWithinAt_primitive (measure_singleton b₀) (by simpa [hb₀])
720-
apply (continuousWithinAt_const.add h_cwa).congr h_split (h_split b₀ (left_mem_Icc.2 hb₀))
717+
simp [integral_symm b a, ← integral_Iio_sub_Iio' hf (hf.mono_set (Iio_subset_Iio hb.2))]
718+
have h_cwa : ContinuousWithinAt (fun b ↦ ∫ x in a..b, f x ∂μ) (Icc a a₀) a := by
719+
exact continuousWithinAt_primitive (measure_singleton a) (by simpa [ha])
720+
exact (continuousWithinAt_const.add h_cwa).congr h_split (h_split a (left_mem_Icc.2 ha))
721721

722-
theorem continuousOn_Ici_primitive_Ici [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Ici a) μ) :
723-
ContinuousOn (fun b ↦ ∫ x in Ici b, f x ∂μ) (Ici a) := by
722+
theorem continuousOn_Ici_primitive_Ici [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Ici a) μ) :
723+
ContinuousOn (fun b ↦ ∫ x in Ici b, f x ∂μ) (Ici a) := by
724724
simp_rw [integral_Ici_eq_integral_Ioi]
725725
exact (hf.mono_set Ioi_subset_Ici_self).continuousOn_Ici_primitive_Ioi
726726

727-
theorem continuousOn_Iic_primitive_Iic [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Iic a) μ) :
728-
ContinuousOn (fun b ↦ ∫ x in Iic b, f x ∂μ) (Iic a) := by
727+
theorem continuousOn_Iic_primitive_Iic [NoAtoms μ] {a : ℝ} (hf : IntegrableOn f (Iic a) μ) :
728+
ContinuousOn (fun b ↦ ∫ x in Iic b, f x ∂μ) (Iic a) := by
729729
simp_rw [integral_Iic_eq_integral_Iio]
730730
exact (hf.mono_set Iio_subset_Iic_self).continuousOn_Iic_primitive_Iio
731731

0 commit comments

Comments
 (0)