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/lp_space): add more API on Lp spaces #6042
Conversation
|
Could you please open a PR from https://github.com/leanprover-community/mathlib/tree/split-ae-eq-fun (cherry-picked from your diff) and merge it right away? |
I golfed a few proofs, feel free to revert (some of) my changes or leave as is. |
✌️ sgouezel can now approve this pull request. To approve and merge a pull request, simply reply with |
bors r+ |
Flesh out the file on `L^p` spaces, notably adding facts on the composition with Lipschitz functions. This makes it possible to define in one go the positive part of an `L^p` function, and its image under a continuous linear map. The file `ae_eq_fun.lean` is split into two, to solve a temporary issue: this file defines a global emetric space instance (of `L^1` type) on the space of function classes. This passes to subtypes, and clashes with the topology on `L^p` coming from the distance. This did not show up before as there were not enough topological statements on `L^p`, but I have been bitten by this when adding new results. For now, we move this part of `ae_eq_fun.lean` to another file which is not imported by `lp_space.lean`, to avoid the clash. This will be solved in a subsequent PR in which I will remove the global instance, and construct the integral based on the specialization of `L^p` to `p = 1` instead of the ad hoc construction we have now (note that, currently, we have two different `L^1` spaces in mathlib, denoted `Lp E 1 μ` and `α →₁[μ] E` -- I will remove the second one in a later PR). Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
Pull request successfully merged into master. Build succeeded: |
Flesh out the file on `L^p` spaces, notably adding facts on the composition with Lipschitz functions. This makes it possible to define in one go the positive part of an `L^p` function, and its image under a continuous linear map. The file `ae_eq_fun.lean` is split into two, to solve a temporary issue: this file defines a global emetric space instance (of `L^1` type) on the space of function classes. This passes to subtypes, and clashes with the topology on `L^p` coming from the distance. This did not show up before as there were not enough topological statements on `L^p`, but I have been bitten by this when adding new results. For now, we move this part of `ae_eq_fun.lean` to another file which is not imported by `lp_space.lean`, to avoid the clash. This will be solved in a subsequent PR in which I will remove the global instance, and construct the integral based on the specialization of `L^p` to `p = 1` instead of the ad hoc construction we have now (note that, currently, we have two different `L^1` spaces in mathlib, denoted `Lp E 1 μ` and `α →₁[μ] E` -- I will remove the second one in a later PR). Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
Flesh out the file on
L^p
spaces, notably adding facts on the composition with Lipschitz functions. This makes it possible to define in one go the positive part of anL^p
function, and its image under a continuous linear map.The file
ae_eq_fun.lean
is split into two, to solve a temporary issue: this file defines a global emetric space instance (ofL^1
type) on the space of function classes. This passes to subtypes, and clashes with the topology onL^p
coming from the distance. This did not show up before as there were not enough topological statements onL^p
, but I have been bitten by this when adding new results. For now, we move this part ofae_eq_fun.lean
to another file which is not imported bylp_space.lean
, to avoid the clash. This will be solved in a subsequent PR in which I will remove the global instance, and construct the integral based on the specialization ofL^p
top = 1
instead of the ad hoc construction we have now (note that, currently, we have two differentL^1
spaces in mathlib, denotedLp E 1 μ
andα →₁[μ] E
-- I will remove the second one in a later PR).The only file that is really changed in the PR is
lp_space.lean
, the rest is just the splitting ofae_eq_fun
into two parts, without changing a line. Inlp_space.lean
, I have tried to uniformize things a little bit. In particular,p
is now used consistently as an ennreal, andq
as a real, as opposed to the previous situation where the roles ofp
andq
were exchanged in the beginning of the file, for mainly historical reasons. This makes a big diff, but a lot of it is just this trivial substitution.