Zulip Chat Archive

Stream: Is there code for X?

Topic: Existence from almost always and non-zero measure


Oliver Nash (Aug 01 2022 at 21:37):

Do we have something like this anywhere:

import measure_theory.measure.measure_space

open set filter measure_theory

lemma exists_of_measure_ne_zero_of_ae {α : Type*} [measurable_space α] {μ : measure α}
  {S : set α} (hS : μ S  0) {p : α  Prop} (hp : ∀ᵐ x μ.restrict S, p x) :
   x, x  S  p x :=
begin
  obtain t, ht₁ : μ.restrict S t = 0, ht₂ := eventually_iff_exists_mem.mp hp,
  have hst : (S  t).nonempty,
  { contrapose! hS,
    rw [not_nonempty_iff_eq_empty, inter_comm,  bot_eq_empty,  inf_eq_inter,  disjoint_iff,
       sdiff_eq_self_iff_disjoint, diff_eq_compl_inter] at hS,
    rw [ hS,  measure.restrict_apply₀ (null_measurable_set.of_null ht₁), ht₁], },
  obtain x, hx₁, hx₂ := hst,
  exact x, hx₁, ht₂ x hx₂⟩,
end

Anatole Dedecker (Aug 01 2022 at 23:39):

The key lemma is docs#measure_theory.ae_restrict_ne_bot

Anatole Dedecker (Aug 01 2022 at 23:40):

Then you can apply docs#filter.eventually.exists

Anatole Dedecker (Aug 01 2022 at 23:44):

Oh and if you want the fact that x ∈ S you also need docs#ae_restrict_mem

Anatole Dedecker (Aug 01 2022 at 23:59):

Oh but my proof needs S to be measurable

Anatole Dedecker (Aug 02 2022 at 00:22):

Ok here's a proof without assuming that S is measurable :

import measure_theory.measure.measure_space

open set filter measure_theory

lemma exists_of_measure_ne_zero_of_ae {α : Type*} [measurable_space α] {μ : measure α}
  {S : set α} (hS : μ S  0) {p : α  Prop} (hp : ∀ᵐ x μ.restrict S, p x) :
   x, x  S  p x :=
begin
  rw [ measure.restrict_apply_self,  frequently_ae_mem_iff] at hS,
  exact (hS.and_eventually hp).exists
end

Oliver Nash (Aug 02 2022 at 08:15):

Thanks @Anatole Dedecker this is exactly what I wanted. I just tried quite hard and I can even find a way to golf this :-)

Oliver Nash (Aug 02 2022 at 10:31):

I just made this a PR: #15812


Last updated: Dec 20 2023 at 11:08 UTC