Zulip Chat Archive
Stream: Is there code for X?
Topic: Linear operator is surjective iff the range contains a ball
Filippo A. E. Nuccio (Aug 27 2025 at 15:53):
I am struggling to find a declaration saying that a linear map between normed spaces is surjective if and only if its image contains a ball. Of course we can strengthen/relax all assumptions and start playing with semi-linear almost-normed quasi-modules (and I will do so if I need to open a PR), but the result seems so basic (and the proof so short) that something along these lines ought to be there.
Jireh Loreaux (Aug 27 2025 at 16:17):
A quick search didn't return anything for me, but I would phrase this as "an absorbent submodule is β€", or something to this effect. Then docs#absorbent_ball and docs#Absorbent.mono would get you all the way there.
Filippo A. E. Nuccio (Aug 27 2025 at 16:19):
Excellent, thanks. I would have never thought at using sponges... :sponge:
Filippo A. E. Nuccio (Aug 27 2025 at 16:21):
Yet I would perhaps add a couple of explicit lemmas (whose proof would be the one you describe) so that future users might find them? Or do you prefer to avoid the "repetition"?
Jireh Loreaux (Aug 27 2025 at 16:26):
sure I think there should be the absorbent submodule β = β€ lemma, and a lemma (hsβ : Absorbent π s) (hsβ : s β (LinearMap.range f)) t β Function.Surjective f (possibly rewritten as an β). A lemma specific to balls is also good, especially because the ball need not be centered at zero.
Filippo A. E. Nuccio (Aug 27 2025 at 16:26):
OK, I'll open the PR later tonight or tomorrow morning.
Yi.Yuan (Sep 20 2025 at 15:07):
I have this result inΒ #29777,
lemma p34 {Ξ± Ξ² : Type*} [NormedAddCommGroup Ξ±] [NormedAddCommGroup Ξ²]
[InnerProductSpace β Ξ±] [InnerProductSpace β Ξ²] (T : Ξ± βL[β] Ξ²) {Ξ΄ : β}
(h0 : Ξ΄ > 0) (h : T '' (ball 0 1) β ball 0 Ξ΄) : (βT).Surjective
may be of some help
Yi.Yuan (Sep 21 2025 at 09:01):
Here is my proof, but there is a type sorry which is quite complicated.
example [SeminormedAddCommGroup F] [NormedSpace π F] (f : E ββ[π] F) (s : Set F) :
Absorbent π s β s β Set.range f β (βf).Surjective := by
intro hs_abs hs_sub y
obtain β¨r, rpos, hrβ© := Absorbs.exists_pos (hs_abs y)
simp at hr
obtain β¨a, haβ© : β a : π, βaβ β₯ r := by
obtain β¨b, hbβ© := exists_int_ge r
use b
sorry
have := hr a ha
have ne : (a : π) β 0 := by
by_contra! nh
simp [nh] at ha
linarith
rw [Set.mem_smul_set_iff_inv_smul_memβ ne] at this
obtain β¨x, hxβ© : (a : π)β»ΒΉ β’ y β range βf := hs_sub this
use (a : π) β’ x
simpa [hx] using smul_inv_smulβ ne y
Yi.Yuan (Sep 21 2025 at 09:01):
I think we should assume that NontriviallyNormedField π to use NormedField.exists_lt_norm, but then the norms from [NontriviallyNormedField π] and [NormedSpace π F] would conflict.
Yi.Yuan (Sep 21 2025 at 09:01):
see #29033
Filippo A. E. Nuccio (Sep 21 2025 at 14:26):
Thanks for your code! I've cleaned it up a bit and it is ready for review.
Eric Wieser (Sep 21 2025 at 22:51):
Yi.Yuan said:
but then the norms from [NontriviallyNormedField π] and [NormedSpace π F] would conflict.
What do you mean by this?
Filippo A. E. Nuccio (Sep 22 2025 at 04:36):
It was also a bit unclear to me, but I found no "conflict".
Filippo A. E. Nuccio (Oct 03 2025 at 16:40):
I have finished the proofs (and also added the result for spheres, beyond open/closed balls).
Yury G. Kudryashov (Oct 15 2025 at 04:20):
I'm sorry for resuming the old thread. I think that the right statement behind this is: if a submodule in a TVS has a nonempty interior, then it's the whole space.
Filippo A. E. Nuccio (Oct 15 2025 at 05:52):
But do we already have explicit relations between being absorbent and having nonempty interior?
Yury G. Kudryashov (Oct 15 2025 at 09:34):
Indeed, the Absorbent version is more general, sorry. But it should be true for a TVS.
Yury G. Kudryashov (Oct 15 2025 at 09:51):
Here is a proof:
lemma SMulMemClass.eq_univ_of_absorbent {π E S : Type*}
[NontriviallyNormedField π] [AddCommGroup E] [Module π E]
[SetLike S E] [SMulMemClass S π E]
(s : S) (hs : Absorbent π (s : Set E)) : (s : Set E) = .univ := by
rw [Set.eq_univ_iff_forall]
intro x
rcases (hs x).exists with β¨c, hcβ©
rcases hc (Set.mem_singleton _) with β¨x, hx, rflβ©
exact smul_mem _ hx
Yury G. Kudryashov (Oct 15 2025 at 09:52):
We don't need any topology on E for this statement.
Yury G. Kudryashov (Oct 15 2025 at 09:55):
For "nonempty interior -> absorbent", we have docs#absorbent_nhds_zero. If we know that s belongs to nhds x, then x \in s and we have s = (-x) +_v s \in nhds 0.
Filippo A. E. Nuccio (Oct 15 2025 at 21:06):
This was already basically the argument, for submodules instead of SMulMemClass; I've updated the PR and taken into account a couple of suggestions from @Anatole Dedecker and @Jireh Loreaux . It is again ready for review.
Last updated: Dec 20 2025 at 21:32 UTC