Zulip Chat Archive
Stream: Carleson
Topic: Nonnegative doubling factor
Edward van de Meent (Jun 24 2024 at 08:43):
would it be acceptable to assume the doubling factor A
to be nonnegative by definition (has type NNReal
rather than Real
)? This is provably true for nonempty X
, but having it as a type leads to some nicer api
Edward van de Meent (Jun 24 2024 at 08:55):
this is also the approach in IsUnifLocDoublingMeasure
, which is in Mathlib
Floris van Doorn (Jun 24 2024 at 10:47):
@Edward van de Meent Ah, oops. I thought it followed automatically, but of course I forgot about the empty X
.
I prefer not to change the type of A
to NNReal
, and for this project I'm definitely happy to assume Nonempty X
. The way DoublingMeasure
is stated currently, it will not go into Mathlib anyway, so maybe we should just have it extend Nonempty X
as well?
Edward van de Meent (Jun 24 2024 at 10:49):
is there a reason why you'd rather not change the type?
Floris van Doorn (Jun 24 2024 at 10:52):
The statement makes perfect sense for all real numbers A
, and if you have a real number, it's annoying that you cannot state something without proving that the number is nonnegative.
Floris van Doorn (Jun 24 2024 at 10:53):
In the same way, I find it annoying that docs#HolderWith doesn't use real numbers.
Edward van de Meent (Jun 24 2024 at 10:54):
i see... then how about we add a constructor for the class where we allow the number to be any real, giving the corresponding instance for NNReal?
Yaël Dillies (Jun 24 2024 at 10:54):
... or docs#LipschitzWith ?
Floris van Doorn (Jun 24 2024 at 10:56):
Not sure what you mean Edward... I'm not talking about constructing an instance, but stating that it holds.
Edward van de Meent (Jun 24 2024 at 10:58):
my point is that for any real A
, there is an instance of the class with a nonnegative A
.
Edward van de Meent (Jun 24 2024 at 10:58):
and you can add api saying that indeed the instance you get is the one you want if you have Nonempty X
Floris van Doorn (Jun 24 2024 at 11:01):
And then we can state it as DoublingMeasure X (Real.toNNReal A)
?
Alternative proposal: we keep the definition as is, but change all lemmas that require nonnegativity have an argument in NNReal
? Or maybe [Fact (0 ≤ A)]
?
Edward van de Meent (Jun 24 2024 at 11:06):
the reason i prefer working with NNReal
in this case is that in my experience, the api for working with ENNReal
works better with NNReal
than with Real
.
Floris van Doorn (Jun 24 2024 at 11:08):
That is true... When casting to ENNReal
it's much nicer to have NNReal
...
Floris van Doorn (Jun 24 2024 at 11:09):
We can try to switch.
Notification Bot (Jun 24 2024 at 11:12):
13 messages were moved here from #Carleson > Outstanding Tasks, V1 by Floris van Doorn.
Last updated: May 02 2025 at 03:31 UTC