Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(measure_theory/strongly_measurable): define strongly measurable functions #8623

Closed
wants to merge 23 commits into from

Conversation

RemyDegenne
Copy link
Collaborator

A function f is said to be strongly measurable with respect to a measure μ if f is the sequential limit of simple functions whose support has finite measure.

Functions in Lp for 0 < p < ∞ are strongly measurable. If the measure is sigma-finite, measurable and strongly measurable are equivalent.

The main property of strongly measurable functions is strongly_measurable.exists_set_sigma_finite: there exists a measurable set t such that f is supported on t and μ.restrict t is sigma-finite. As a consequence, we can prove some results for those functions as if the measure was sigma-finite.

I will use this to prove properties of the form f =ᵐ[μ] g for Lp functions.


Open in Gitpod

@RemyDegenne RemyDegenne added the awaiting-review The author would like community review of the PR label Aug 11, 2021
@sgouezel
Copy link
Collaborator

The notion I had heard of as "strong measurability" is not exactly this one, https://en.wikipedia.org/wiki/Strongly_measurable_function. Instead, it is: "almost everywhere limit of a sequence of simple functions" (without the finite measure support condition). With this definition, it is equivalent to "coincides almost everywhere with a function whose range is second-countable" (this works even when the target space is not second-countable). I had a plan to refactor integration theory in mathlib with this notion, to extend our definition of integral to functions with target space which is not second-countable (this is important to define spectral projections of operators in Banach spaces, as they are defined as contour integrals of operators -- the space of operators is not second-countable, but along a contour integral by compactness everything happens in a second-countable subspace). (But I never found the time to do it yet).

Anyway, this is not to stop you from working with the definition you're using in the PR, it's just that I would like to make sure we have a terminology that does not block this forthcoming refactor.

@RemyDegenne
Copy link
Collaborator Author

RemyDegenne commented Aug 12, 2021

Actually I think that even my source for strongly_measurable uses it a bit differently than I do. It defines strongly measurable as limit of simple functions (without the finite measure condition), then defines strongly µ-measurable to mean almost everywhere limit of simple functions with support with finite µ-measure.
What I defined here is the close to the second one, strongly µ-measurable (but not quite the same, since I did not use an almost everywhere limit).

I should change the name. Any suggestion?

@RemyDegenne
Copy link
Collaborator Author

I see four possible related notions for those limits of simple functions, depending on two things:
A: limit 1) everywhere, or 2) almost everywhere
B: simple functions 1) without restriction, or 2) with finite measure support.

The book "analysis in Banach spaces" uses A1B1 (which does not depend on a measure) and A2B2. What I defined is A1B2. What you describe looks like A2B1.

I can add a few definitions to the PR. Which ones do we really want, and how do we name them? I am happy with either A1B2 or A2B2.

@sgouezel
Copy link
Collaborator

sgouezel commented Aug 12, 2021

I'd say that A1B1 is strongly_measurable in the "analysis in Banach sapces" sense and A2B1 is ae_strongly_measurable in the wikipedia sense and A2B2 is ae_strongly_measurable in the "analysis in Banach spaces" sense (where the difference between the two is only relevant when the space is not sigma-finite, so shouldn't be relevant in interesting situations).

Since I'm far from an expert in this business, my best bet would probably be to trust the "analysis in Banach spaces" authors that their notions are the most interesting ones. So, what about using A2B2 under the name ae_strongly_measurable?

@RemyDegenne RemyDegenne added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Aug 12, 2021
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 14, 2021
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Aug 14, 2021
@RemyDegenne
Copy link
Collaborator Author

I introduced three of the four possible definitions:

  • strongly_measurable for limit of simple functions,
  • fin_strongly_measurable, which I call finitely strongly measurable, for limit of simple functions with support with finite measure,
  • ae_fin_strongly_measurable, for functions a.e. equal to a fin_strongly_measurable function.

The file imports simple_func_dense: it is placed before the definition of the Bochner integral but not that early either. simple_func_dense is needed to have approx_on, which basically states that measurable functions are strongly measurable in spaces with second countable topology. If you later need the definition of strongly_measurable earlier in the import hierarchy, the file can be split into two at that time.

@RemyDegenne RemyDegenne added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Aug 14, 2021
Copy link
Collaborator

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
@RemyDegenne RemyDegenne removed the awaiting-review The author would like community review of the PR label Aug 17, 2021
@RemyDegenne RemyDegenne added the awaiting-author A reviewer has asked the author a question or requested changes label Aug 17, 2021
@RemyDegenne RemyDegenne added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Aug 19, 2021
Copy link
Collaborator

@sgouezel sgouezel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
bors d+
Thanks!

src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
f =ᵐ[μ.restrict hf.sigma_finite_setᶜ] 0 :=
hf.exists_set_sigma_finite.some_spec.2.1

lemma sigma_finite_restrict (hf : ae_fin_strongly_measurable f μ) :
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couldn't this even be an instance?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made it an instance, but I don't really understand what it brings. Since there is an explicit argument, that instance cannot be found without explicitly calling that lemma? How is it then different from a lemma?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The conclusion of the instance is sigma_finite (μ.restrict hf.sigma_finite_set). Since it mentions hf, this means that hf is available when trying to apply the instance, so everything should work fine with this instance.

src/measure_theory/function/strongly_measurable.lean Outdated Show resolved Hide resolved
@bors
Copy link

bors bot commented Aug 19, 2021

✌️ RemyDegenne can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@github-actions github-actions bot added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Aug 19, 2021
@RemyDegenne
Copy link
Collaborator Author

bors r+

bors bot pushed a commit that referenced this pull request Aug 19, 2021
…functions (#8623)

A function `f` is said to be strongly measurable with respect to a measure `μ` if `f` is the sequential limit of simple functions whose support has finite measure.

Functions in `Lp` for `0 < p < ∞` are strongly measurable. If the measure is sigma-finite, measurable and strongly measurable are equivalent.

The main property of strongly measurable functions is `strongly_measurable.exists_set_sigma_finite`: there exists a measurable set `t` such that `f` is supported on `t` and `μ.restrict t` is sigma-finite. As a consequence, we can prove some results for those functions as if the measure was sigma-finite.

I will use this to prove properties of the form `f =ᵐ[μ] g` for `Lp` functions.



Co-authored-by: RemyDegenne <remydegenne@gmail.com>
@bors
Copy link

bors bot commented Aug 19, 2021

This PR was included in a batch that successfully built, but then failed to merge into master (it was a non-fast-forward update). It will be automatically retried.

bors bot pushed a commit that referenced this pull request Aug 19, 2021
…functions (#8623)

A function `f` is said to be strongly measurable with respect to a measure `μ` if `f` is the sequential limit of simple functions whose support has finite measure.

Functions in `Lp` for `0 < p < ∞` are strongly measurable. If the measure is sigma-finite, measurable and strongly measurable are equivalent.

The main property of strongly measurable functions is `strongly_measurable.exists_set_sigma_finite`: there exists a measurable set `t` such that `f` is supported on `t` and `μ.restrict t` is sigma-finite. As a consequence, we can prove some results for those functions as if the measure was sigma-finite.

I will use this to prove properties of the form `f =ᵐ[μ] g` for `Lp` functions.



Co-authored-by: RemyDegenne <remydegenne@gmail.com>
@bors
Copy link

bors bot commented Aug 19, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(measure_theory/strongly_measurable): define strongly measurable functions [Merged by Bors] - feat(measure_theory/strongly_measurable): define strongly measurable functions Aug 19, 2021
@bors bors bot closed this Aug 19, 2021
@bors bors bot deleted the strongly_measurable branch August 19, 2021 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants