Skip to content

Commit 950e3d0

Browse files
committed
feat (MeasureTheory/Function): trivial cases of integrability / summability (#13872)
Any function on a finite type is multipliable / summable; a function on a discrete measurable space is integrable iff its norm is summable.
1 parent 0c9132b commit 950e3d0

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

Mathlib/MeasureTheory/Function/L1Space.lean

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -939,6 +939,43 @@ theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x <
939939
simp only [hx.ne, Ne, not_false_iff, coe_toNNReal]
940940
#align measure_theory.coe_to_nnreal_ae_eq MeasureTheory.coe_toNNReal_ae_eq
941941

942+
section count
943+
944+
variable [MeasurableSingletonClass α] {f : α → β}
945+
946+
/-- A function has finite integral for the counting measure iff its norm is summable. -/
947+
lemma hasFiniteIntegral_count_iff :
948+
HasFiniteIntegral f Measure.count ↔ Summable (‖f ·‖) := by
949+
simp only [HasFiniteIntegral, lintegral_count, lt_top_iff_ne_top,
950+
ENNReal.tsum_coe_ne_top_iff_summable, ← NNReal.summable_coe, coe_nnnorm]
951+
952+
/-- A function is integrable for the counting measure iff its norm is summable. -/
953+
lemma integrable_count_iff :
954+
Integrable f Measure.count ↔ Summable (‖f ·‖) := by
955+
-- Note: this proof would be much easier if we assumed `SecondCountableTopology G`. Without
956+
-- this we have to justify the claim that `f` lands a.e. in a separable subset, which is true
957+
-- (because summable functions have countable range) but slightly tedious to check.
958+
rw [Integrable, hasFiniteIntegral_count_iff, and_iff_right_iff_imp]
959+
intro hs
960+
have hs' : (Function.support f).Countable := by
961+
simpa only [Ne, Pi.zero_apply, eq_comm, Function.support, norm_eq_zero]
962+
using hs.countable_support
963+
letI : MeasurableSpace β := borel β
964+
haveI : BorelSpace β := ⟨rfl⟩
965+
refine aestronglyMeasurable_iff_aemeasurable_separable.mpr ⟨?_, ?_⟩
966+
· refine (measurable_zero.measurable_of_countable_ne ?_).aemeasurable
967+
simpa only [Ne, Pi.zero_apply, eq_comm, Function.support] using hs'
968+
· refine ⟨f '' univ, ?_, ae_of_all _ fun a ↦ ⟨a, ⟨mem_univ _, rfl⟩⟩⟩
969+
suffices f '' univ ⊆ (f '' f.support) ∪ {0} from
970+
(((hs'.image f).union (countable_singleton 0)).mono this).isSeparable
971+
intro g hg
972+
rcases eq_or_ne g 0 with rfl | hg'
973+
· exact Or.inr (mem_singleton _)
974+
· obtain ⟨x, -, rfl⟩ := (mem_image ..).mp hg
975+
exact Or.inl ⟨x, hg', rfl⟩
976+
977+
end count
978+
942979
section
943980

944981
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]

Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ protected theorem Set.Finite.multipliable {s : Set β} (hs : s.Finite) (f : β
132132
theorem multipliable_of_finite_mulSupport (h : (mulSupport f).Finite) : Multipliable f := by
133133
apply multipliable_of_ne_finset_one (s := h.toFinset); simp
134134

135+
@[to_additive]
136+
lemma Multipliable.of_finite [Finite β] {f : β → α} : Multipliable f :=
137+
multipliable_of_finite_mulSupport <| Set.finite_univ.subset (Set.subset_univ _)
138+
135139
@[to_additive]
136140
theorem hasProd_single {f : β → α} (b : β) (hf : ∀ (b') (_ : b' ≠ b), f b' = 1) : HasProd f (f b) :=
137141
suffices HasProd f (∏ b' ∈ {b}, f b') by simpa using this

0 commit comments

Comments
 (0)