Skip to content

[Merged by Bors] - feat: locally Lipschitz maps#7314

Closed
grunweg wants to merge 16 commits into
masterfrom
MR_locally_lipschitz
Closed

[Merged by Bors] - feat: locally Lipschitz maps#7314
grunweg wants to merge 16 commits into
masterfrom
MR_locally_lipschitz

Conversation

@grunweg

@grunweg grunweg commented Sep 21, 2023

Copy link
Copy Markdown
Contributor

Define locally Lipschitz maps and show their basic properties.
In particular, they are continuous and stable under composition and products.
As an application, we conclude that C¹ maps are locally Lipschitz.


I've gone through the entire file; all API for Lipschitz maps (where this makes sense) has a counterpart for locally Lipschitz maps.

Left for the future:

  • sum and scalar multiples of a locally Lipschitz function valued in a normed space is locally Lipschitz
    (hence, locally Lipschitz functions form a submodule of the ring of continuous functions)
  • locally Lipschitz maps are a submonoid of $\text{End}(\alpha)$
  • both of these also hold for Lipschitz maps (on a set)

@grunweg grunweg added help-wanted The author needs attention to resolve issues awaiting-review t-topology Topological spaces, uniform spaces, metric spaces, filters t-analysis Analysis (normed *, calculus) labels Sep 21, 2023
@grunweg

grunweg commented Sep 21, 2023

Copy link
Copy Markdown
Contributor Author

For the proof of composition, I'm stuck on two sorries related to coercions of subsets. Minimized code:

import Mathlib.Topology.EMetricSpace.Basic
open Topology
lemma minimized {X Y Z: Type*} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z]
    {f : Y → Z} {g : X → Y} {t: Set X} {u: Set Y}
    {x : X} (ht: t ∈ 𝓝 x) (hu: u ∈ 𝓝 (g x)) : True /- dummy statement -/ := by
  -- idea: shrink u to g(t); more precisely:
  -- restrict g to t' := t ∩ g⁻¹(u); the preimage of u under g':=g∣t.
  let g' := t.restrict g
  let t' : Set X := ↑(g' ⁻¹' u)
  -- The following is mathematically easy; I'm wrestling with filling the sorries.
  have h₁ : t' = t ∩ g ⁻¹' u := by
    apply Iff.mpr (Set.Subset.antisymm_iff)
    constructor
    · intro x hx
      constructor
      · exact Set.coe_subset hx
      · -- goal: x ∈ g ⁻¹' u
        -- informal argument: as x ∈ t', we can apply g' (and land in u by definition), so g'(x)=g(x) ∈ u
        sorry
    · intro x hx
      rcases hx with ⟨ht, hgu⟩
      -- goal: x ∈ t'
      -- as x ∈ t, we can write g(x)=g'(x); the rhs lies in u, so x ∈ g⁻¹(u) also
      sorry
  sorry -- omitted (have proven this)

Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
@grunweg

grunweg commented Sep 22, 2023

Copy link
Copy Markdown
Contributor Author

@eric-wieser Thanks for the quick comments. I've made the requested changes.
I'm on the fence about the second: it enables more golfing; in general, I find these golfed proofs somewhat readable in VS Code, but not on github. I don't know if the latter is aimed for; your call as a maintainer.

Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@grunweg

grunweg commented Sep 22, 2023

Copy link
Copy Markdown
Contributor Author

Fixed the last sorry - courtesy of Alex J. Best on zulip. Thanks!
(There's also an aesop-free version, if you'd prefer me to avoid such a heavy hammer.)

@grunweg grunweg removed the help-wanted The author needs attention to resolve issues label Sep 22, 2023
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
grunweg and others added 2 commits September 24, 2023 23:01
Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
And slight tweaks to the doc comments, and a minigolf using dot notation.
@grunweg grunweg force-pushed the MR_locally_lipschitz branch from 474b489 to 0ce2603 Compare September 24, 2023 21:15
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean
@sgouezel sgouezel added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Sep 26, 2023
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
Comment thread Mathlib/Topology/MetricSpace/Lipschitz.lean Outdated
@grunweg

grunweg commented Sep 26, 2023

Copy link
Copy Markdown
Contributor Author

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 Sep 26, 2023
@sgouezel

Copy link
Copy Markdown
Contributor

bors d+
Thanks!

@bors

bors Bot commented Sep 26, 2023

Copy link
Copy Markdown

✌️ 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.

@github-actions github-actions Bot added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed awaiting-review labels Sep 26, 2023
@grunweg

grunweg commented Sep 26, 2023

Copy link
Copy Markdown
Contributor Author

Thanks for the review!
bors r+

bors Bot pushed a commit that referenced this pull request Sep 26, 2023
Define locally Lipschitz maps and show their basic properties.
In particular, they are continuous and stable under composition and products.
As an application, we conclude that C¹ maps are locally Lipschitz.



Co-authored-by: grunweg <grunweg@posteo.de>
@bors

bors Bot commented Sep 26, 2023

Copy link
Copy Markdown

Pull request successfully merged into master.

Build succeeded!

The publicly hosted instance of bors-ng is deprecated and will go away soon.

If you want to self-host your own instance, instructions are here.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors Bot changed the title feat: locally Lipschitz maps [Merged by Bors] - feat: locally Lipschitz maps Sep 26, 2023
@bors bors Bot closed this Sep 26, 2023
@bors bors Bot deleted the MR_locally_lipschitz branch September 26, 2023 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). 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.

4 participants