Zulip Chat Archive

Stream: Is there code for X?

Topic: ae measurable condition


Oliver Nash (May 05 2022 at 17:34):

I think we are missing the following result:

import measure_theory.integral.interval_integral

open set measure_theory

variables {E : Type*} [normed_group E] [normed_space  E]
variables {a b : } {μ : measure } {f :   } {g :   E}

lemma interval_integrable.smul_continuous_on
  (hf : interval_integrable f μ a b) (hg : continuous_on g (interval a b)) :
  interval_integrable (λ x, f x  g x) μ a b :=
sorry

and I believe it should be easy to obtain from:

lemma measure_theory.ae_strongly_measurable.smul_continuous_on
  (hf : ae_strongly_measurable f $ μ.restrict $ interval_oc a b) (hg : continuous_on g (interval a b)) :
  ae_strongly_measurable (λ x, f x  g x) $ μ.restrict $ interval_oc a b :=
sorry

(though perhaps there are other/better proofs). I haven't looked much into these corners of Mathlib yet. Are either of these results easy for the experts?

Bhavik Mehta (May 06 2022 at 12:52):

The second goal is easy:

lemma measure_theory.ae_strongly_measurable.smul_continuous_on
  (hf : ae_strongly_measurable f (μ.restrict (interval_oc a b)))
  (hg : continuous_on g (interval a b)) :
  ae_strongly_measurable (λ x, f x  g x) (μ.restrict (interval_oc a b)) :=
hf.smul ((hg.mono interval_oc_subset_interval).ae_strongly_measurable measurable_set_interval_oc)

The first one looks familiar to me - I think I've done something similar before - but I can't figure it out right now

Oliver Nash (May 06 2022 at 12:55):

Wow, thanks! I have a proof somewhere that reduces the first proof to the one you've just proved so I have everything I need now. I'll try to come back to this later today and put your work to good use.

Bhavik Mehta (May 06 2022 at 12:58):

Ah I remember now - the bit that's left is to use hg to show g is bounded, and from there deduce that f * g has finite integral. Out of interest do you know if your way for the remainder is the same?

Oliver Nash (May 06 2022 at 12:59):

I believe it's slightly different. You can see it here: https://github.com/leanprover-community/sphere-eversion/commit/abc10fae23eac32b5e1e4bb5a21c3508bd5c81a3#diff-ad9f3bdd847db104518f135aab4380a57eec97691051439cef91a5e96dc02f11L28

Oliver Nash (May 06 2022 at 13:00):

In other words, it uses https://github.com/leanprover-community/sphere-eversion/blob/c55336903ba5ca5b5e9a678d95250ea0edf37e98/src/to_mathlib/measure_theory/interval_integral.lean#L43 to reduce to docs#interval_integrable.mul_continuous_on

Bhavik Mehta (May 06 2022 at 13:01):

Ah right! I think that points out a hole - there's docs#interval_integrable.mul_continuous_on but no version for integrable_on

Oliver Nash (May 06 2022 at 13:01):

Yes, I noted that also.

Bhavik Mehta (May 06 2022 at 13:02):

Oh, I'm wrong again docs#integrable_on.mul_continuous_on_of_subset

Oliver Nash (May 06 2022 at 13:02):

We have migrated a bit of stuff out of the SE repo to Mathlib recently and I'm hoping to do a bit more next week. Filling various such holes should happen as part of such an effort.

Bhavik Mehta (May 06 2022 at 13:05):

To be clear I don't think I'm an expert in this part of mathlib, I've just been using it a lot recently for the unit fractions project!

Oliver Nash (May 06 2022 at 13:08):

From where I'm sitting, you're an expert!

Oliver Nash (May 06 2022 at 13:12):

It's pleasing to learn that two efforts as distant as the Unit Fractions and Sphere Eversion projects are helping each other in this way. It's only a small example but it's still a good example of the synergy of our Monolithic Mathlib philosophy.

Floris van Doorn (May 06 2022 at 13:29):

I'm using very similar lemmas for the convolution PR (#13540), but I'm doing everything with continuous bilinear maps instead of mul/smul. Which makes me realize I should probably extract those lemmas and put them in different files.


Last updated: Dec 20 2023 at 11:08 UTC