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: injectivity of continuous linear maps is an open condition #10487

Closed
wants to merge 4 commits into from

Conversation

grunweg
Copy link
Collaborator

@grunweg grunweg commented Feb 13, 2024

in finite-dimensional spaces over a complete field. This is used to showing that immersions are open.
NB: this result is false for general continuous maps (only surjectivity is open there).

From the sphere-eversion project.


Placing the lemmas about normed groups is tricky (their natural place is Normed/Group/Basic, but they also require the topology on NNReal...). Better solutions welcome.

Aside: I don't see a good label for this; I would label with "baby differential topology" if I could.


Open in Gitpod

in finite-dimensional spaces over a complete field.

Note that this is false for general continuous maps
(only surjectivity is open there).

Placing the lemmas about normed groups is tricky (their natural place is
Normed/Group/Basic, but they also require the topology on NNReal...).
Better solutions welcome.
@grunweg grunweg added awaiting-review t-topology Topological spaces, uniform spaces, metric spaces, filters t-analysis Analysis (normed *, calculus) labels Feb 13, 2024
@j-loreaux j-loreaux self-assigned this Feb 13, 2024
Copy link
Collaborator

@j-loreaux j-loreaux left a comment

Choose a reason for hiding this comment

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

I'll note that you can get your result directly without going directly through AntiLipschitz (although ultimately it is using it under the hood somewhere), in the following way:

theorem isOpen_setOf_clm_injective [FiniteDimensional 𝕜 E] :
    IsOpen { f : E →L[𝕜] F | Function.Injective f } := by
  suffices this : ∀ (f : E →L[𝕜] F), Function.Injective f ↔ finrank 𝕜 E ≤ (f : E →ₗ[𝕜] F).rank by
    simpa [this] using isOpen_setOf_nat_le_rank (finrank 𝕜 E)
  simp_rw [LinearMap.rank, ← finrank_eq_rank]
  refine fun f ↦ ⟨by exact_mod_cast (LinearMap.finrank_range_of_inj · |>.symm |>.le), ?_⟩
  norm_cast
  rw [← add_zero (finrank 𝕜 (LinearMap.range (f : E →ₗ[𝕜] F))),
    ← f.finrank_range_add_finrank_ker]
  exact fun hf ↦ (LinearMapClass.ker_eq_bot (E →L[𝕜] F)).mp <| by
    simpa using Nat.eq_zero_of_le_zero (le_of_add_le_add_left hf)

That being said, I think we want the other results in this PR anyway, so no need to change your proof.

Mathlib/Analysis/NormedSpace/FiniteDimension.lean Outdated Show resolved Hide resolved
Mathlib/Analysis/NormedSpace/FiniteDimension.lean Outdated Show resolved Hide resolved
Mathlib/Analysis/NormedSpace/FiniteDimension.lean Outdated Show resolved Hide resolved
Mathlib/Analysis/Normed/Group/Basic.lean Outdated Show resolved Hide resolved
Mathlib/Analysis/NormedSpace/FiniteDimension.lean Outdated Show resolved Hide resolved
@j-loreaux j-loreaux added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review labels Feb 13, 2024
@grunweg
Copy link
Collaborator Author

grunweg commented Feb 13, 2024

Thank you for the useful comments. I have addressed them, so this is ready for another look.
awaiting-review

@github-actions github-actions bot added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes labels Feb 13, 2024
@j-loreaux
Copy link
Collaborator

@grunweg it's missing the new import

@j-loreaux
Copy link
Collaborator

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 13, 2024

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

@grunweg
Copy link
Collaborator Author

grunweg commented Feb 13, 2024

Indeed, thanks. Fixed now.
bors r+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 14, 2024

Canceled.

@grunweg
Copy link
Collaborator Author

grunweg commented Feb 14, 2024

No idea why the build was cancelled again ("merge conflict"? certainly not with my PR). In any case, let's try merging master.
bors r+

mathlib-bors bot pushed a commit that referenced this pull request Feb 14, 2024
)

in finite-dimensional spaces over a complete field. This is used to showing that immersions are open.
NB: this result is false for general continuous maps (only surjectivity is open there).

From the sphere-eversion project.
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 14, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: injectivity of continuous linear maps is an open condition [Merged by Bors] - feat: injectivity of continuous linear maps is an open condition Feb 14, 2024
@mathlib-bors mathlib-bors bot closed this Feb 14, 2024
@mathlib-bors mathlib-bors bot deleted the MR-sphere-eversion-isOpen_injective branch February 14, 2024 05:27
riccardobrasca pushed a commit that referenced this pull request Feb 18, 2024
)

in finite-dimensional spaces over a complete field. This is used to showing that immersions are open.
NB: this result is false for general continuous maps (only surjectivity is open there).

From the sphere-eversion project.
dagurtomas pushed a commit that referenced this pull request Mar 22, 2024
)

in finite-dimensional spaces over a complete field. This is used to showing that immersions are open.
NB: this result is false for general continuous maps (only surjectivity is open there).

From the sphere-eversion project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated t-analysis Analysis (normed *, calculus) t-topology Topological spaces, uniform spaces, metric spaces, filters
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants