Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 4 additions & 13 deletions Mathlib/Analysis/Normed/Operator/Mul.lean
Original file line number Diff line number Diff line change
Expand Up @@ -158,24 +158,15 @@ variable (𝕜 E)

/-- If `M` is a normed space over `𝕜`, then the space of maps `𝕜 →L[𝕜] M` is linearly equivalent
to `M`. (See `ring_lmap_equiv_self` for a stronger statement.) -/
def ring_lmap_equiv_selfₗ : (𝕜 →L[𝕜] E) ≃ₗ[𝕜] E where
toFun := fun f ↦ f 1
invFun := (ContinuousLinearMap.id 𝕜 𝕜).smulRight
map_smul' := fun a f ↦ by simp only [coe_smul', Pi.smul_apply, RingHom.id_apply]
map_add' := fun f g ↦ by simp only [add_apply]
left_inv := fun f ↦ by ext; simp only [smulRight_apply, coe_id', _root_.id, one_smul]
right_inv := fun m ↦ by simp only [smulRight_apply, id_apply, one_smul]
def ring_lmap_equiv_selfₗ : (𝕜 →L[𝕜] E) ≃ₗ[𝕜] E :=
(ContinuousLinearMap.toSpanSingletonLE 𝕜 𝕜 E).symm
Comment thread
yuanyi-350 marked this conversation as resolved.
Outdated

/-- If `M` is a normed space over `𝕜`, then the space of maps `𝕜 →L[𝕜] M` is linearly isometrically
equivalent to `M`. -/
def ring_lmap_equiv_self : (𝕜 →L[𝕜] E) ≃ₗᵢ[𝕜] E where
Comment thread
yuanyi-350 marked this conversation as resolved.
Outdated
toLinearEquiv := ring_lmap_equiv_selfₗ 𝕜 E
norm_map' := by
refine fun f ↦ le_antisymm ?_ ?_
· simpa only [norm_one, mul_one] using le_opNorm f 1
· refine opNorm_le_bound' f (norm_nonneg <| f 1) (fun x _ ↦ ?_)
rw [(by rw [smul_eq_mul, mul_one] : f x = f (x • 1)), map_smul,
norm_smul, mul_comm, (by rfl : ring_lmap_equiv_selfₗ 𝕜 E f = f 1)]
norm_map' f := by
simpa using (ContinuousLinearMap.norm_toSpanSingleton (𝕜 := 𝕜) (x := f 1)).symm

end RingEquiv

Expand Down
Loading