Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

[Merged by Bors] - feat(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged #18990

Closed
wants to merge 21 commits into from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented May 11, 2023


Open in Gitpod

This is pre-work for showing that μH[d] (c • s) = c^d • μH[d] s.

@eric-wieser eric-wieser added easy < 20s of review time. See the lifecycle page for guidelines. awaiting-review The author would like community review of the PR t-analysis Analysis (normed *, calculus) labels May 11, 2023
@github-actions github-actions bot added the modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. label May 11, 2023
@YaelDillies
Copy link
Collaborator

YaelDillies commented May 11, 2023

Let me mention that I think I have those results and a bit more on branch https://github.com/leanprover-community/mathlib/tree/geometric-group-theory, if you want to compare.

@eric-wieser eric-wieser removed the easy < 20s of review time. See the lifecycle page for guidelines. label May 11, 2023
@YaelDillies
Copy link
Collaborator

Could you add to this PR the lemmas I proved on geometric-group-theory?

@eric-wieser
Copy link
Member Author

I'd rather keep this one small so the forward-port is manageable. I also don't really fancy trawling though the 25 files in that branch to find the lemmas in question!

@YaelDillies
Copy link
Collaborator

I just mean the two or three thickening lemmas in the file you already found!

@eric-wieser
Copy link
Member Author

eric-wieser commented May 11, 2023

I don't think those lemmas fit the theme of this PR; they're not about smul or pointwise operations. I'd be happy to review them in a separate PR.

Edit: I've moved all the non-smul stuff to #19028.

@eric-wieser eric-wieser requested a review from urkud May 17, 2023 00:19
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

Thanks!

maintainer merge

Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

Thanks!

maintainer merge

@github-actions
Copy link

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

1 similar comment
@github-actions
Copy link

🚀 Pull request has been placed on the maintainer queue by YaelDillies.

src/analysis/normed_space/basic.lean Outdated Show resolved Hide resolved
@@ -26,6 +26,41 @@ variables {𝕜 E : Type*} [normed_field 𝕜]
section seminormed_add_comm_group
variables [seminormed_add_comm_group E] [normed_space 𝕜 E]

lemma ediam_smul₀ (c : 𝕜) (s : set E) :
emetric.diam (c • s) = ‖c‖₊ • emetric.diam s :=
Copy link
Member

Choose a reason for hiding this comment

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

Should we revive #14315?

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought about that too, but I only really need the versions for the "canonical" dilation by c. It's in an isolated file, so we still have plenty of time to consider it before the port is over.

simp [zero_smul_set hs, ←set.singleton_zero], },
refine le_antisymm _ _,
{ exact (lipschitz_with_smul c).ediam_image_le s },
{ have := (lipschitz_with_smul c⁻¹).ediam_image_le (c • s),
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

I think I tried that and it didn't make it easier. Feel free to try again.

Copy link
Member

Choose a reason for hiding this comment

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

I'll try in a few hours. Please don't merge before that. Let's say that this lock auto expires in 4h from now.

Copy link
Member Author

Choose a reason for hiding this comment

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

I can get there with something like

  rw ←ennreal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc),
  apply antilipschitz_with.le_mul_ediam_image,
  intros x hx,
  rw [← smul_eq_mul, ←ennreal.smul_def, edist_smul₀, inv_smul_smul₀ (nnnorm_ne_zero_iff.mpr hc) _],
  exact le_rfl,

but it's not great

by simp_rw [diam, ediam_smul₀, ennreal.to_real_smul, nnreal.smul_def, coe_nnnorm, smul_eq_mul]

lemma inf_edist_smul₀ {c : 𝕜} (hc : c ≠ 0) (s : set E) (x : E) :
emetric.inf_edist (c • x) (c • s) = ‖c‖₊ • emetric.inf_edist x s :=
Copy link
Member

Choose a reason for hiding this comment

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

I think that we should have inequalities for lipschitz_with and antilipschitz_with functions, then just use le_antisymm here.

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh, good thought

@eric-wieser
Copy link
Member Author

bors merge

I need the ennreal results in another PR.

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels May 24, 2023
bors bot pushed a commit that referenced this pull request May 24, 2023
@bors
Copy link

bors bot commented May 24, 2023

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(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged [Merged by Bors] - feat(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged May 24, 2023
@bors bors bot closed this May 24, 2023
@bors bors bot deleted the eric-wieser/diam-smul branch May 24, 2023 14:35
urkud added a commit to leanprover-community/mathlib4 that referenced this pull request May 25, 2023
Forward-port of leanprover-community/mathlib3#18990

Original title:
feat(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged
bors bot pushed a commit to leanprover-community/mathlib4 that referenced this pull request May 25, 2023
Forward-port of leanprover-community/mathlib3#18990

Original title:
feat(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged
qawbecrdtey pushed a commit to qawbecrdtey/greedoid-mathlib4 that referenced this pull request Jun 12, 2023
Forward-port of leanprover-community/mathlib3#18990

Original title:
feat(analysis/normed_space/basic): scaling a set scales its diameter, translating it leaves it unchanged
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) t-analysis Analysis (normed *, calculus)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants