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: add Metric.Bounded.vadd #5270

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 5 additions & 8 deletions Mathlib/Analysis/NormedSpace/Pointwise.lean
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,11 @@ theorem smul_closedBall' {c : 𝕜} (hc : c ≠ 0) (x : E) (r : ℝ) :
simp only [← ball_union_sphere, Set.smul_set_union, _root_.smul_ball hc, smul_sphere' hc]
#align smul_closed_ball' smul_closedBall'

theorem Metric.Bounded.smul {s : Set E} (hs : Bounded s) (c : 𝕜) : Bounded (c • s) := by
obtain ⟨R, hR⟩ : ∃ R : ℝ, ∀ x ∈ s, ‖x‖ ≤ R := hs.exists_norm_le
refine' bounded_iff_forall_norm_le.2 ⟨‖c‖ * R, fun z hz => _⟩
obtain ⟨y, ys, rfl⟩ : ∃ y : E, y ∈ s ∧ c • y = z := mem_smul_set.1 hz
calc
‖c • y‖ = ‖c‖ * ‖y‖ := norm_smul _ _
_ ≤ ‖c‖ * R := mul_le_mul_of_nonneg_left (hR y ys) (norm_nonneg _)
#align metric.bounded.smul Metric.Bounded.smul
/-- Image of a bounded set in a normed space under scalar multiplication by a constant is
bounded. See also `Metric.Bounded.smul` for a similar lemma about an isometric action. -/
theorem Metric.Bounded.smul₀ {s : Set E} (hs : Bounded s) (c : 𝕜) : Bounded (c • s) :=
urkud marked this conversation as resolved.
Show resolved Hide resolved
(lipschitzWith_smul c).bounded_image hs
#align metric.bounded.smul Metric.Bounded.smul₀

/-- If `s` is a bounded set, then for small enough `r`, the set `{x} + r • s` is contained in any
fixed neighborhood of `x`. -/
Expand Down
9 changes: 9 additions & 0 deletions Mathlib/Topology/MetricSpace/IsometricSMul.lean
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,15 @@ theorem nndist_div_left [Group G] [PseudoMetricSpace G] [IsometricSMul G G]

namespace Metric

/-- If `G` acts isometrically on `X`, then the image of a bounded set in `X` under scalar
multiplication by `c : G` is bounded. See also `Metric.Bounded.smul₀` for a similar lemma about
normed spaces. -/
@[to_additive "Given an additive isometric action of `G` on `X`, the image of a bounded set in `X`
under translation by `c : G` is bounded"]
theorem Bounded.smul [PseudoMetricSpace X] [SMul G X] [IsometricSMul G X] {s : Set X}
(hs : Bounded s) (c : G) : Bounded (c • s) :=
(isometry_smul X c).lipschitz.bounded_image hs

variable [PseudoMetricSpace X] [Group G] [MulAction G X] [IsometricSMul G X]

@[to_additive (attr := simp)]
Expand Down