Zulip Chat Archive

Stream: Is there code for X?

Topic: Multiplication distributes across integrals


Eric Wieser (May 19 2023 at 22:16):

I was sad to find I can't prove 01af(t)dt=a01f(t)dt\int_0^1 a f(t) dt = a \int_0^1 f(t) dt for a:Ha : \mathbb{H}.

import measure_theory.integral.fund_thm_calculus
import analysis.quaternion

open_locale quaternion

example (a : []) (f :   []) :  t :  in 0..1, a * f t = a *  t :  in 0..1, f t :=
interval_integral.integral_const_mul q f  -- fails, needs is_R_or_C ℍ[ℝ]

Is there some mathematical technicality for why this is the case?

Kevin Buzzard (May 19 2023 at 22:17):

I don't think the problem is a mathematical one.

Anatole Dedecker (May 19 2023 at 22:18):

Yes this should be fine this multiplication by a is \R-linear (and continuous)

Kevin Buzzard (May 19 2023 at 22:19):

Integral basically satisfies the same theorems as finset.sum because it's a limit of such things

Eric Wieser (May 19 2023 at 22:22):

And there's not some stupid reason that it's false if f isn't integrable?

Kevin Buzzard (May 19 2023 at 22:22):

Oh I didn't think about that.

Anatole Dedecker (May 19 2023 at 22:22):

I'm checking that

Ruben Van de Velde (May 19 2023 at 22:23):

Can af be integrable when f isn't?

Kevin Buzzard (May 19 2023 at 22:23):

If a=0 then yes

Kevin Buzzard (May 19 2023 at 22:23):

but multiplication by nonzero a will preserve integrability (or reflect it or whatever is needed -- it will be an iff)

Eric Wieser (May 19 2023 at 22:24):

I suspect a lot of the problem here is that our usual approach of "prove the smul result then derive the mul result" falls apart in normed spaces, because there we're not allowed to smul by anything that isn't a field

Kevin Buzzard (May 19 2023 at 22:24):

oh-oh...

Anatole Dedecker (May 19 2023 at 22:25):

The two lemmas to check are docs#weighted_smul_smul and docs#measure_theory.set_to_fun_smul

Kevin Buzzard (May 19 2023 at 22:26):

Normed spaces for division rings coming up :-/

Eric Wieser (May 19 2023 at 22:27):

That's not enough for me, I need them for rings...

Eric Wieser (May 19 2023 at 22:27):

Or at least, I want the result above for (say) 2x2 matrices too

Eric Wieser (May 19 2023 at 22:27):

Anatole Dedecker said:

Yes this should be fine this multiplication by a is \R-linear (and continuous)

This is docs#continuous_linear_map.interval_integral_comp_comm, right?

Kevin Buzzard (May 19 2023 at 22:27):

So are you telling me we can't do Banach modules (i.e. complete normed modules) over Banach rings (i.e. complete normed rings)? I once wrote a paper about those things (all p-adic of course)

Anatole Dedecker (May 19 2023 at 22:28):

Eric Wieser said:

Anatole Dedecker said:

Yes this should be fine this multiplication by a is \R-linear (and continuous)

This is docs#continuous_linear_map.interval_integral_comp_comm, right?

Yes. Of course this will require integrability

Anatole Dedecker (May 19 2023 at 22:30):

And the map should be docs#continuous_linear_map.mul

Kevin Buzzard (May 19 2023 at 22:31):

Formalising section 2 of that paper of mine is on my todo list. Are there problems with mathlib's set-up?

Anatole Dedecker (May 19 2023 at 22:33):

Yes. I think this has been discussed a few times before. Changing the definition should be straightforward, and then it's the kind of slow transition of everything that we know well, so I wouldn't worry too much about it. But right now you'll definitely have some troubles.

Anatole Dedecker (May 19 2023 at 22:35):

For example the open mapping theorem will probably need to be adapted.

Kevin Buzzard (May 19 2023 at 22:37):

Eric Wieser said:

Or at least, I want the result above for (say) 2x2 matrices too

For 2x2 matrices it's really not true, because they're not a domain, so choose nonzero a,b with a*b=0 (e.g. a=b=[0,0;1,0]) and f0 non-integrable from [0,1] to R, and then define f=b*f0. That was why I suggested division ring. Of course you can just stick to integrable f like we do in actual maths and then you're fine.

Kevin Buzzard (May 19 2023 at 22:37):

Anatole Dedecker said:

For example the open mapping theorem will probably need to be adapted.

See Prop 2.1(a) of my paper :-)

Anatole Dedecker (May 19 2023 at 22:40):

Yes I meant that you won't be able to use docs#continuous_linear_map.is_open directly (I haven't actually checked the proof, it may be completely fine to generalize)

Anatole Dedecker (May 19 2023 at 22:44):

Sorry I read A-modules instead of K-modules, so you won't actually have any problem.

Anatole Dedecker (May 19 2023 at 22:46):

I was surprised by the claim that Bourbaki proves this for normed modules, and for a good reason since they don't and you didn't claim that :sweat_smile:

Eric Wieser (May 19 2023 at 22:48):

#19052 makes some slight progress here and at least lets us claim that af(x)af(x) is integrable when f(x)f(x) is

Eric Wieser (May 19 2023 at 22:57):

Kevin Buzzard said:

For 2x2 matrices it's really not true, because they're not a domain, so choose nonzero a,b with a*b=0 (e.g. a=b=[0,0;1,0]) and f0 non-integrable from [0,1] to R, and then define f=b*f0. That was why I suggested division ring. Of course you can just stick to integrable f like we do in actual maths and then you're fine.

I'm fine if I have is_unit a, right?

Kevin Buzzard (May 19 2023 at 22:59):

Anatole Dedecker said:

I was surprised by the claim that Bourbaki proves this for normed modules, and for a good reason since they don't and you didn't claim that :sweat_smile:

The result for modules is Theorem 6.16 of https://arxiv.org/abs/1910.05934 (the proof is omitted but Wedhorn got an MSc student to write it up)

Eric Wieser (May 19 2023 at 23:09):

I think the quickest way out of this mess is a has_norm_smul_le typeclass

Eric Wieser (May 19 2023 at 23:10):

Because then we can write [mul_action U A] [has_norm_smul_le U A] for U = units A

Anatole Dedecker (May 19 2023 at 23:15):

Kevin Buzzard said:

Anatole Dedecker said:

I was surprised by the claim that Bourbaki proves this for normed modules, and for a good reason since they don't and you didn't claim that :sweat_smile:

The result for modules is Theorem 6.16 of https://arxiv.org/abs/1910.05934 (the proof is omitted but Wedhorn got an MSc student to write it up)

This version is really close to Bourbaki’s version because the sequence of units tending to zero is really what we need non-discreteness for. So the only missing step is to get it for metrizable topological vector spaces instead of normed spaces. But that should be relatively easy too.

Kevin Buzzard (May 19 2023 at 23:33):

Yes, "exists a topologically nilpotent unit" is an important technical assumption in the nonarchimedean theory -- such rings are called Tate rings.

Jireh Loreaux (May 20 2023 at 00:14):

I will certainly need normed space generalized when I tackle Hilbert modules (here the scalar ring is an arbitrary C*-algebra).

Eric Wieser (May 20 2023 at 00:15):

Are you going to want non-unital algebras too?

Jireh Loreaux (May 20 2023 at 00:17):

Well, yes (I did say "arbitrary" after all ;-)), but I think the solution to that problem is just to consider them as modules over the C*-unitization.

Jireh Loreaux (May 20 2023 at 00:19):

I think there is no loss by doing that. However, I was discussing ideals in non-unital rings with @Oliver Nash privately a while back, and I think we concluded that we need non-unital versions of scalar actions in general.

Eric Wieser (May 20 2023 at 00:19):

Eric Wieser said:

I suspect a lot of the problem here is that our usual approach of "prove the smul result then derive the mul result" falls apart in normed spaces, because there we're not allowed to smul by anything that isn't a field

Because for non-unital rings this strategy also fails, as there without a unit a monoid/ring isn't a mul_action/semiring over itself...

Eric Wieser (May 20 2023 at 09:21):

Eric Wieser said:

I think the quickest way out of this mess is a has_norm_smul_le typeclass

Hey, this already exists, its docs#has_bounded_smul!

Eric Wieser (May 20 2023 at 09:21):

#19053 generalized norm_smul_le and norm_smul to work over rings and division rings respectively

Eric Wieser (May 20 2023 at 18:40):

This now seems to pass CI!

Eric Wieser (May 23 2023 at 21:04):

#19073 is the next step towards proving this

Eric Wieser (May 26 2023 at 18:50):

Unfortunately that PR hit a dead end; I can get the results I want for Lp.simple_func, but the final bochner integral resists the generalization

Eric Wieser (May 26 2023 at 18:53):

I think it still has useful results and at least part of it is worth merging; but I don't think I can prove what I originally wanted before the port catches up

Anatole Dedecker (May 26 2023 at 18:58):

Sorry, could you explain again what you were trying to prove ? This thread is a bit of a mess so I’m not sure I understand the final goal anymore 😅

Eric Wieser (May 26 2023 at 19:09):

Let's say

import measure_theory.integral.fund_thm_calculus
import analysis.quaternion

variables {A : Type} [normed_ring A] [normed_algebra  A]
example (a : A) (h : is_unit A) (f :   A) :  t :  in 0..1, a * f t = a *  t :  in 0..1, f t :=
interval_integral.integral_const_mul q f  -- fails, needs is_R_or_C A

Sebastien Gouezel (May 26 2023 at 19:10):

Isn't what you want a particular case of docs#continuous_linear_map.integral_comp_comm ? (Or the version for linear equivs)

Sebastien Gouezel (May 26 2023 at 19:11):

(docs#continuous_linear_equiv.integral_comp_comm)

Eric Wieser (May 26 2023 at 19:13):

Aha, you're right! I was looking for a way to not need the integrability hypothesis, and indeed the equiv solves that


Last updated: Dec 20 2023 at 11:08 UTC