diff --git a/src/measure_theory/measure/measure_space.lean b/src/measure_theory/measure/measure_space.lean index 90ecc0e58bdea..4d7fcec57493c 100644 --- a/src/measure_theory/measure/measure_space.lean +++ b/src/measure_theory/measure/measure_space.lean @@ -2863,6 +2863,13 @@ protected lemma is_finite_measure_on_compacts.smul [topological_space α] (μ : is_finite_measure_on_compacts (c • μ) := ⟨λ K hK, ennreal.mul_lt_top hc (hK.measure_lt_top).ne⟩ +/-- Note this cannot be an instance because it would form a typeclass loop with +`is_finite_measure_on_compacts_of_is_locally_finite_measure`. -/ +lemma compact_space.is_finite_measure + [topological_space α] [compact_space α] [is_finite_measure_on_compacts μ] : + is_finite_measure μ := +⟨is_finite_measure_on_compacts.lt_top_of_is_compact compact_univ⟩ + omit m0 @[priority 100] -- see Note [lower instance priority] @@ -3323,6 +3330,15 @@ instance is_finite_measure_on_compacts_of_is_locally_finite_measure [is_locally_finite_measure μ] : is_finite_measure_on_compacts μ := ⟨λ s hs, hs.measure_lt_top_of_nhds_within $ λ x hx, μ.finite_at_nhds_within _ _⟩ +lemma is_finite_measure_iff_is_finite_measure_on_compacts_of_compact_space + [topological_space α] [measurable_space α] {μ : measure α} [compact_space α] : + is_finite_measure μ ↔ is_finite_measure_on_compacts μ := +begin + split; introsI, + { apply_instance, }, + { exact compact_space.is_finite_measure, }, +end + /-- Compact covering of a `σ`-compact topological space as `measure_theory.measure.finite_spanning_sets_in`. -/ def measure_theory.measure.finite_spanning_sets_in_compact [topological_space α]