Skip to content

Commit 1674b34

Browse files
igorkhavkineigorkhavkinegrunweg
committed
feat(MeasureTheory/Function): Uniform tightness of functions in Lp (#14646)
Uniform tightness is a hypothesis necessary for the general version of the Vitali Convergence Theorem proven in #9163. Co-authored-by: igorkhavkine <133780155+igorkhavkine@users.noreply.github.com> Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>
1 parent 4c31303 commit 1674b34

File tree

6 files changed

+287
-1
lines changed

6 files changed

+287
-1
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3114,6 +3114,7 @@ import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic
31143114
import Mathlib.MeasureTheory.Function.StronglyMeasurable.Inner
31153115
import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas
31163116
import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp
3117+
import Mathlib.MeasureTheory.Function.UnifTight
31173118
import Mathlib.MeasureTheory.Function.UniformIntegrable
31183119
import Mathlib.MeasureTheory.Group.AEStabilizer
31193120
import Mathlib.MeasureTheory.Group.Action

Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Rémy Degenne, Sébastien Gouëzel
55
-/
6+
import Mathlib.Analysis.NormedSpace.IndicatorFunction
67
import Mathlib.MeasureTheory.Function.EssSup
78
import Mathlib.MeasureTheory.Function.AEEqFun
89
import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic
@@ -280,6 +281,17 @@ theorem memℒp_neg_iff {f : α → E} : Memℒp (-f) p μ ↔ Memℒp f p μ :=
280281

281282
end Neg
282283

284+
theorem snorm_indicator_eq_restrict {f : α → E} {s : Set α} (hs : MeasurableSet s) :
285+
snorm (s.indicator f) p μ = snorm f p (μ.restrict s) := by
286+
rcases eq_or_ne p ∞ with rfl | hp
287+
· simp only [snorm_exponent_top, snormEssSup, ← ENNReal.essSup_indicator_eq_essSup_restrict hs,
288+
ENNReal.coe_indicator, nnnorm_indicator_eq_indicator_nnnorm]
289+
· rcases eq_or_ne p 0 with rfl | hp₀; · simp
290+
simp only [snorm_eq_lintegral_rpow_nnnorm hp₀ hp, ← lintegral_indicator _ hs,
291+
ENNReal.coe_indicator, nnnorm_indicator_eq_indicator_nnnorm]
292+
congr with x
293+
by_cases hx : x ∈ s <;> simp [ENNReal.toReal_pos, *]
294+
283295
section Const
284296

285297
theorem snorm'_const (c : F) (hq_pos : 0 < q) :
@@ -1155,6 +1167,25 @@ theorem _root_.Continuous.memℒp_top_of_hasCompactSupport
11551167
apply memℒp_top_of_bound ?_ C (Filter.eventually_of_forall hC)
11561168
exact (hf.stronglyMeasurable_of_hasCompactSupport h'f).aestronglyMeasurable
11571169

1170+
section UnifTight
1171+
1172+
/-- A single function that is `Memℒp f p μ` is tight with respect to `μ`. -/
1173+
theorem Memℒp.exists_snorm_indicator_compl_lt {β : Type*} [NormedAddCommGroup β] (hp_top : p ≠ ∞)
1174+
{f : α → β} (hf : Memℒp f p μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) :
1175+
∃ s : Set α, MeasurableSet s ∧ μ s < ∞ ∧ snorm (sᶜ.indicator f) p μ < ε := by
1176+
rcases eq_or_ne p 0 with rfl | hp₀
1177+
· use ∅; simp [pos_iff_ne_zero.2 hε] -- first take care of `p = 0`
1178+
· obtain ⟨s, hsm, hs, hε⟩ :
1179+
∃ s, MeasurableSet s ∧ μ s < ∞ ∧ ∫⁻ a in sᶜ, (‖f a‖₊) ^ p.toReal ∂μ < ε ^ p.toReal := by
1180+
apply exists_setLintegral_compl_lt
1181+
· exact ((snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top hp₀ hp_top).1 hf.2).ne
1182+
· simp [*]
1183+
refine ⟨s, hsm, hs, ?_⟩
1184+
rwa [snorm_indicator_eq_restrict hsm.compl, snorm_eq_lintegral_rpow_nnnorm hp₀ hp_top,
1185+
one_div, ENNReal.rpow_inv_lt_iff]
1186+
simp [ENNReal.toReal_pos, *]
1187+
1188+
end UnifTight
11581189
end ℒp
11591190

11601191
end MeasureTheory
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
/-
2+
Copyright (c) 2023 Igor Khavkine. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Igor Khavkine
5+
-/
6+
import Mathlib.MeasureTheory.Function.LpSpace
7+
8+
/-!
9+
# Uniform tightness
10+
11+
This file contains the definitions for uniform tightness for a family of Lp functions.
12+
It is used as a hypothesis to the version of Vitali's convergence theorem for Lp spaces
13+
that works also for spaces of infinite measure.
14+
15+
## Main definitions
16+
17+
* `MeasureTheory.UnifTight`:
18+
A sequence of functions `f` is uniformly tight in `L^p` if for all `ε > 0`, there
19+
exists some measurable set `s` with finite measure such that the Lp-norm of
20+
`f i` restricted to `sᶜ` is smaller than `ε` for all `i`.
21+
22+
# Main results
23+
24+
* `MeasureTheory.unifTight_finite`: a finite sequence of Lp functions is uniformly
25+
tight.
26+
27+
## Tags
28+
29+
uniform integrable, uniformly tight, Vitali convergence theorem
30+
-/
31+
32+
33+
namespace MeasureTheory
34+
35+
open Classical Set Filter Topology MeasureTheory NNReal ENNReal
36+
37+
variable {α β ι : Type*} {m : MeasurableSpace α} {μ : Measure α} [NormedAddCommGroup β]
38+
39+
40+
41+
section UnifTight
42+
43+
/- This follows closely the `UnifIntegrable` section
44+
from `MeasureTheory.Functions.UniformIntegrable`.-/
45+
46+
variable {f g : ι → α → β} {p : ℝ≥0∞}
47+
48+
49+
/-- A sequence of functions `f` is uniformly tight in `L^p` if for all `ε > 0`, there
50+
exists some measurable set `s` with finite measure such that the Lp-norm of
51+
`f i` restricted to `sᶜ` is smaller than `ε` for all `i`. -/
52+
def UnifTight {_ : MeasurableSpace α} (f : ι → α → β) (p : ℝ≥0∞) (μ : Measure α) : Prop :=
53+
∀ ⦃ε : ℝ≥0⦄, 0 < ε → ∃ s : Set α, μ s ≠ ∞ ∧ ∀ i, snorm (sᶜ.indicator (f i)) p μ ≤ ε
54+
55+
theorem unifTight_iff_ennreal {_ : MeasurableSpace α} (f : ι → α → β) (p : ℝ≥0∞) (μ : Measure α) :
56+
UnifTight f p μ ↔ ∀ ⦃ε : ℝ≥0∞⦄, 0 < ε → ∃ s : Set α,
57+
μ s ≠ ∞ ∧ ∀ i, snorm (sᶜ.indicator (f i)) p μ ≤ ε := by
58+
simp only [ENNReal.forall_ennreal, ENNReal.coe_pos]
59+
refine (and_iff_left ?_).symm
60+
simp [-ne_eq, zero_lt_top, le_top]
61+
use ∅; simpa only [measure_empty] using zero_ne_top
62+
63+
theorem unifTight_iff_real {_ : MeasurableSpace α} (f : ι → α → β) (p : ℝ≥0∞) (μ : Measure α) :
64+
UnifTight f p μ ↔ ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s : Set α,
65+
μ s ≠ ∞ ∧ ∀ i, snorm (sᶜ.indicator (f i)) p μ ≤ .ofReal ε := by
66+
refine ⟨fun hut rε hrε ↦ hut (Real.toNNReal_pos.mpr hrε), fun hut ε hε ↦ ?_⟩
67+
obtain ⟨s, hμs, hfε⟩ := hut hε
68+
use s, hμs; intro i
69+
exact (hfε i).trans_eq (ofReal_coe_nnreal (p := ε))
70+
71+
namespace UnifTight
72+
73+
theorem eventually_cofinite_indicator (hf : UnifTight f p μ) {ε : ℝ≥0} (hε : ε ≠ 0) :
74+
∀ᶠ s in μ.cofinite.smallSets, ∀ i, snorm (s.indicator (f i)) p μ ≤ ε := by
75+
rcases hf (pos_iff_ne_zero.2 hε) with ⟨s, hμs, hfs⟩
76+
refine (eventually_smallSets' ?_).2 ⟨sᶜ, ?_, fun i ↦ hfs i⟩
77+
· intro s t hst ht i
78+
exact (snorm_mono <| norm_indicator_le_of_subset hst _).trans (ht i)
79+
· rwa [Measure.compl_mem_cofinite, lt_top_iff_ne_top]
80+
81+
protected theorem exists_measurableSet_indicator (hf : UnifTight f p μ) {ε : ℝ≥0} (hε : ε ≠ 0) :
82+
∃ s, MeasurableSet s ∧ μ s < ∞ ∧ ∀ i, snorm (sᶜ.indicator (f i)) p μ ≤ ε :=
83+
let ⟨s, hμs, hsm, hfs⟩ := (hf.eventually_cofinite_indicator hε).exists_measurable_mem_of_smallSets
84+
⟨sᶜ, hsm.compl, hμs, by rwa [compl_compl s]⟩
85+
86+
protected theorem add (hf : UnifTight f p μ) (hg : UnifTight g p μ)
87+
(hf_meas : ∀ i, AEStronglyMeasurable (f i) μ) (hg_meas : ∀ i, AEStronglyMeasurable (g i) μ) :
88+
UnifTight (f + g) p μ := fun ε hε ↦ by
89+
rcases exists_Lp_half β μ p (coe_ne_zero.mpr hε.ne') with ⟨η, hη_pos, hη⟩
90+
by_cases hη_top : η = ∞
91+
· replace hη := hη_top ▸ hη
92+
refine ⟨∅, (by measurability), fun i ↦ ?_⟩
93+
simp only [compl_empty, indicator_univ, Pi.add_apply]
94+
exact (hη (f i) (g i) (hf_meas i) (hg_meas i) le_top le_top).le
95+
have nnη_nz := (toNNReal_ne_zero.mpr ⟨hη_pos.ne',hη_top⟩)
96+
obtain ⟨s, hμs, hsm, hfs, hgs⟩ :
97+
∃ s ∈ μ.cofinite, MeasurableSet s ∧
98+
(∀ i, snorm (s.indicator (f i)) p μ ≤ η.toNNReal) ∧
99+
(∀ i, snorm (s.indicator (g i)) p μ ≤ η.toNNReal) :=
100+
((hf.eventually_cofinite_indicator nnη_nz).and
101+
(hg.eventually_cofinite_indicator nnη_nz)).exists_measurable_mem_of_smallSets
102+
refine ⟨sᶜ, ne_of_lt hμs, fun i ↦ ?_⟩
103+
have η_cast : ↑η.toNNReal = η := coe_toNNReal hη_top
104+
calc
105+
snorm (indicator sᶜᶜ (f i + g i)) p μ = snorm (indicator s (f i) + indicator s (g i)) p μ := by
106+
rw [compl_compl, indicator_add']
107+
_ ≤ ε := le_of_lt <|
108+
hη _ _ ((hf_meas i).indicator hsm) ((hg_meas i).indicator hsm)
109+
(η_cast ▸ hfs i) (η_cast ▸ hgs i)
110+
111+
protected theorem neg (hf : UnifTight f p μ) : UnifTight (-f) p μ := by
112+
simp_rw [UnifTight, Pi.neg_apply, Set.indicator_neg', snorm_neg]
113+
exact hf
114+
115+
protected theorem sub (hf : UnifTight f p μ) (hg : UnifTight g p μ)
116+
(hf_meas : ∀ i, AEStronglyMeasurable (f i) μ) (hg_meas : ∀ i, AEStronglyMeasurable (g i) μ) :
117+
UnifTight (f - g) p μ := by
118+
rw [sub_eq_add_neg]
119+
exact hf.add hg.neg hf_meas fun i => (hg_meas i).neg
120+
121+
protected theorem aeeq (hf : UnifTight f p μ) (hfg : ∀ n, f n =ᵐ[μ] g n) :
122+
UnifTight g p μ := by
123+
intro ε hε
124+
obtain ⟨s, hμs, hfε⟩ := hf hε
125+
refine ⟨s, hμs, fun n => (le_of_eq <| snorm_congr_ae ?_).trans (hfε n)⟩
126+
filter_upwards [hfg n] with x hx
127+
simp only [indicator, mem_compl_iff, ite_not, hx]
128+
129+
end UnifTight
130+
131+
/-- If two functions agree a.e., then one is tight iff the other is tight. -/
132+
theorem unifTight_congr_ae {g : ι → α → β} (hfg : ∀ n, f n =ᵐ[μ] g n) :
133+
UnifTight f p μ ↔ UnifTight g p μ :=
134+
fun h => h.aeeq hfg, fun h => h.aeeq fun i => (hfg i).symm⟩
135+
136+
/-- A constant sequence is tight. -/
137+
theorem unifTight_const {g : α → β} (hp_ne_top : p ≠ ∞) (hg : Memℒp g p μ) :
138+
UnifTight (fun _ : ι => g) p μ := by
139+
intro ε hε
140+
by_cases hε_top : ε = ∞
141+
· exact ⟨∅, (by measurability), fun _ => hε_top.symm ▸ le_top⟩
142+
obtain ⟨s, _, hμs, hgε⟩ := hg.exists_snorm_indicator_compl_lt hp_ne_top (coe_ne_zero.mpr hε.ne')
143+
exact ⟨s, ne_of_lt hμs, fun _ => hgε.le⟩
144+
145+
/-- A single function is tight. -/
146+
theorem unifTight_of_subsingleton [Subsingleton ι] (hp_top : p ≠ ∞)
147+
{f : ι → α → β} (hf : ∀ i, Memℒp (f i) p μ) : UnifTight f p μ := fun ε hε ↦ by
148+
by_cases hε_top : ε = ∞
149+
· exact ⟨∅, by measurability, fun _ => hε_top.symm ▸ le_top⟩
150+
by_cases hι : Nonempty ι
151+
case neg => exact ⟨∅, (by measurability), fun i => False.elim <| hι <| Nonempty.intro i⟩
152+
cases' hι with i
153+
obtain ⟨s, _, hμs, hfε⟩ := (hf i).exists_snorm_indicator_compl_lt hp_top (coe_ne_zero.mpr hε.ne')
154+
refine ⟨s, ne_of_lt hμs, fun j => ?_⟩
155+
convert hfε.le
156+
157+
/-- This lemma is less general than `MeasureTheory.unifTight_finite` which applies to
158+
all sequences indexed by a finite type. -/
159+
private theorem unifTight_fin (hp_top : p ≠ ∞) {n : ℕ} {f : Fin n → α → β}
160+
(hf : ∀ i, Memℒp (f i) p μ) : UnifTight f p μ := by
161+
revert f
162+
induction' n with n h
163+
· intro f hf
164+
have : Subsingleton (Fin Nat.zero) := subsingleton_fin_zero -- Porting note: Added this instance
165+
exact unifTight_of_subsingleton hp_top hf
166+
intro f hfLp ε hε
167+
by_cases hε_top : ε = ∞
168+
· exact ⟨∅, (by measurability), fun _ => hε_top.symm ▸ le_top⟩
169+
let g : Fin n → α → β := fun k => f k
170+
have hgLp : ∀ i, Memℒp (g i) p μ := fun i => hfLp i
171+
obtain ⟨S, hμS, hFε⟩ := h hgLp hε
172+
obtain ⟨s, _, hμs, hfε⟩ :=(hfLp n).exists_snorm_indicator_compl_lt hp_top (coe_ne_zero.mpr hε.ne')
173+
refine ⟨s ∪ S, (by measurability), fun i => ?_⟩
174+
by_cases hi : i.val < n
175+
· rw [(_ : f i = g ⟨i.val, hi⟩)]
176+
· rw [compl_union, ← indicator_indicator]
177+
apply (snorm_indicator_le _).trans
178+
exact hFε (Fin.castLT i hi)
179+
· simp only [Fin.coe_eq_castSucc, Fin.castSucc_mk, g]
180+
· rw [(_ : i = n)]
181+
· rw [compl_union, inter_comm, ← indicator_indicator]
182+
apply (snorm_indicator_le _).trans
183+
convert hfε.le
184+
· have hi' := Fin.is_lt i
185+
rw [Nat.lt_succ_iff] at hi'
186+
rw [not_lt] at hi
187+
-- Porting note: Original proof was `simp [← le_antisymm hi' hi]`
188+
ext; symm; rw [Fin.coe_ofNat_eq_mod, le_antisymm hi' hi, Nat.mod_succ_eq_iff_lt, Nat.lt_succ]
189+
190+
/-- A finite sequence of Lp functions is uniformly tight. -/
191+
theorem unifTight_finite [Finite ι] (hp_top : p ≠ ∞) {f : ι → α → β}
192+
(hf : ∀ i, Memℒp (f i) p μ) : UnifTight f p μ := fun ε hε ↦ by
193+
obtain ⟨n, hn⟩ := Finite.exists_equiv_fin ι
194+
set g : Fin n → α → β := f ∘ hn.some.symm
195+
have hg : ∀ i, Memℒp (g i) p μ := fun _ => hf _
196+
obtain ⟨s, hμs, hfε⟩ := unifTight_fin hp_top hg hε
197+
refine ⟨s, hμs, fun i => ?_⟩
198+
simpa only [g, Function.comp_apply, Equiv.symm_apply_apply] using hfε (hn.some i)
199+
200+
end UnifTight
201+
202+
end MeasureTheory

Mathlib/MeasureTheory/Integral/Lebesgue.lean

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,6 +1601,51 @@ theorem setLIntegral_subtype {s : Set α} (hs : MeasurableSet s) (t : Set s) (f
16011601
rw [(MeasurableEmbedding.subtype_coe hs).restrict_comap, lintegral_subtype_comap hs,
16021602
restrict_restrict hs, inter_eq_right.2 (Subtype.coe_image_subset _ _)]
16031603

1604+
section UnifTight
1605+
1606+
/-- If `f : α → ℝ≥0∞` has finite integral, then there exists a measurable set `s` of finite measure
1607+
such that the integral of `f` over `sᶜ` is less than a given positive number.
1608+
1609+
Also used to prove an `Lᵖ`-norm version in `MeasureTheory.Memℒp.exists_snorm_indicator_compl_le`. -/
1610+
theorem exists_setLintegral_compl_lt {f : α → ℝ≥0∞} (hf : ∫⁻ a, f a ∂μ ≠ ∞)
1611+
{ε : ℝ≥0∞} (hε : ε ≠ 0) :
1612+
∃ s : Set α, MeasurableSet s ∧ μ s < ∞ ∧ ∫⁻ a in sᶜ, f a ∂μ < ε := by
1613+
by_cases hf₀ : ∫⁻ a, f a ∂μ = 0
1614+
· exact ⟨∅, .empty, by simp, by simpa [hf₀, pos_iff_ne_zero]⟩
1615+
obtain ⟨g, hgf, hg_meas, hgsupp, hgε⟩ :
1616+
∃ g ≤ f, Measurable g ∧ μ (support g) < ∞ ∧ ∫⁻ a, f a ∂μ - ε < ∫⁻ a, g a ∂μ := by
1617+
obtain ⟨g, hgf, hgε⟩ : ∃ (g : α →ₛ ℝ≥0∞) (_ : g ≤ f), ∫⁻ a, f a ∂μ - ε < g.lintegral μ := by
1618+
simpa only [← lt_iSup_iff, ← lintegral_def] using ENNReal.sub_lt_self hf hf₀ hε
1619+
refine ⟨g, hgf, g.measurable, ?_, by rwa [g.lintegral_eq_lintegral]⟩
1620+
exact SimpleFunc.FinMeasSupp.of_lintegral_ne_top <| ne_top_of_le_ne_top hf <|
1621+
g.lintegral_eq_lintegral μ ▸ lintegral_mono hgf
1622+
refine ⟨_, measurableSet_support hg_meas, hgsupp, ?_⟩
1623+
calc
1624+
∫⁻ a in (support g)ᶜ, f a ∂μ
1625+
= ∫⁻ a in (support g)ᶜ, f a - g a ∂μ := setLIntegral_congr_fun
1626+
(measurableSet_support hg_meas).compl <| ae_of_all _ <| by intro; simp_all
1627+
_ ≤ ∫⁻ a, f a - g a ∂μ := setLIntegral_le_lintegral _ _
1628+
_ = ∫⁻ a, f a ∂μ - ∫⁻ a, g a ∂μ :=
1629+
lintegral_sub hg_meas (ne_top_of_le_ne_top hf <| lintegral_mono hgf) (ae_of_all _ hgf)
1630+
_ < ε := ENNReal.sub_lt_of_lt_add (lintegral_mono hgf) <|
1631+
ENNReal.lt_add_of_sub_lt_left (.inl hf) hgε
1632+
1633+
/-- For any function `f : α → ℝ≥0∞`, there exists a measurable function `g ≤ f` with the same
1634+
integral over any measurable set. -/
1635+
theorem exists_measurable_le_setLintegral_eq_of_integrable {f : α → ℝ≥0∞} (hf : ∫⁻ a, f a ∂μ ≠ ∞) :
1636+
∃ (g : α → ℝ≥0∞), Measurable g ∧ g ≤ f ∧ ∀ s : Set α, MeasurableSet s →
1637+
∫⁻ a in s, f a ∂μ = ∫⁻ a in s, g a ∂μ := by
1638+
obtain ⟨g, hmg, hgf, hifg⟩ := exists_measurable_le_lintegral_eq (μ := μ) f
1639+
use g, hmg, hgf
1640+
refine fun s hms ↦ le_antisymm ?_ (lintegral_mono hgf)
1641+
rw [← compl_compl s, setLintegral_compl hms.compl, setLintegral_compl hms.compl, hifg]
1642+
· gcongr; apply hgf
1643+
· rw [hifg] at hf
1644+
exact ne_top_of_le_ne_top hf (setLIntegral_le_lintegral _ _)
1645+
· exact ne_top_of_le_ne_top hf (setLIntegral_le_lintegral _ _)
1646+
1647+
end UnifTight
1648+
16041649
@[deprecated (since := "2024-06-29")]
16051650
alias set_lintegral_subtype := setLIntegral_subtype
16061651

Mathlib/MeasureTheory/Measure/MeasureSpace.lean

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,6 +1953,13 @@ theorem eventually_cofinite {p : α → Prop} : (∀ᶠ x in μ.cofinite, p x)
19531953
Iff.rfl
19541954
#align measure_theory.measure.eventually_cofinite MeasureTheory.Measure.eventually_cofinite
19551955

1956+
instance cofinite.instIsMeasurablyGenerated : IsMeasurablyGenerated μ.cofinite where
1957+
exists_measurable_subset s hs := by
1958+
refine ⟨(toMeasurable μ sᶜ)ᶜ, ?_, (measurableSet_toMeasurable _ _).compl, ?_⟩
1959+
· rwa [compl_mem_cofinite, measure_toMeasurable]
1960+
· rw [compl_subset_comm]
1961+
apply subset_toMeasurable
1962+
19561963
end Measure
19571964

19581965
open Measure

scripts/style-exceptions.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Mathlib/MeasureTheory/Function/LpSpace.lean : line 1 : ERR_NUM_LIN : 2100 file c
5656
Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean : line 1 : ERR_NUM_LIN : 2200 file contains 2099 lines, try to split it up
5757
Mathlib/MeasureTheory/Integral/Bochner.lean : line 1 : ERR_NUM_LIN : 2300 file contains 2127 lines, try to split it up
5858
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean : line 1 : ERR_NUM_LIN : 1800 file contains 1647 lines, try to split it up
59-
Mathlib/MeasureTheory/Integral/Lebesgue.lean : line 1 : ERR_NUM_LIN : 2200 file contains 2039 lines, try to split it up
59+
Mathlib/MeasureTheory/Integral/Lebesgue.lean : line 1 : ERR_NUM_LIN : 2400 file contains 2215 lines, try to split it up
6060
Mathlib/MeasureTheory/Integral/SetIntegral.lean : line 1 : ERR_NUM_LIN : 1900 file contains 1723 lines, try to split it up
6161
Mathlib/MeasureTheory/Integral/SetToL1.lean : line 1 : ERR_NUM_LIN : 2000 file contains 1814 lines, try to split it up
6262
Mathlib/MeasureTheory/Measure/MeasureSpace.lean : line 1 : ERR_NUM_LIN : 2400 file contains 2256 lines, try to split it up

0 commit comments

Comments
 (0)