diff --git a/Mathlib/Analysis/Normed/Module/Dual.lean b/Mathlib/Analysis/Normed/Module/Dual.lean index 45de9937f53299..5cd5b6ac918616 100644 --- a/Mathlib/Analysis/Normed/Module/Dual.lean +++ b/Mathlib/Analysis/Normed/Module/Dual.lean @@ -117,20 +117,8 @@ theorem polar_closedBall {π•œ E : Type*} [RCLike π•œ] [NormedAddCommGroup E] [ theorem polar_ball {π•œ E : Type*} [RCLike π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {r : ℝ} (hr : 0 < r) : StrongDual.polar π•œ (ball (0 : E) r) = closedBall (0 : StrongDual π•œ E) r⁻¹ := by - apply le_antisymm - Β· intro x hx - rw [mem_closedBall_zero_iff] - apply le_of_forall_gt_imp_ge_of_dense - intro a ha - rw [← mem_closedBall_zero_iff, ← (mul_div_cancel_leftβ‚€ a (Ne.symm (ne_of_lt hr)))] - rw [← RCLike.norm_of_nonneg (K := π•œ) (le_trans zero_le_one - (le_of_lt ((inv_lt_iff_one_lt_mulβ‚€' hr).mp ha)))] - apply polar_ball_subset_closedBall_div _ hr hx - rw [RCLike.norm_of_nonneg (K := π•œ) (le_trans zero_le_one - (le_of_lt ((inv_lt_iff_one_lt_mulβ‚€' hr).mp ha)))] - exact (inv_lt_iff_one_lt_mulβ‚€' hr).mp ha - Β· rw [← polar_closedBall hr] - exact LinearMap.polar_antitone _ ball_subset_closedBall + letI : NormedSpace ℝ E := .restrictScalars ℝ π•œ E + rw [← polar_closedBall hr, ← closure_ball _ hr.ne', polar_closure] /-- Given a neighborhood `s` of the origin in a normed space `E`, the dual norms of all elements of the polar `polar π•œ s` are bounded by a constant. -/