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(analysis/normed_space/spectrum): Prove the Gelfand-Mazur theorem #12787

Closed
wants to merge 25 commits into from
Closed
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
fa6191a
add normed division ring
j-loreaux Feb 18, 2022
3d18572
remove the normed_group instance
j-loreaux Feb 19, 2022
0f35c06
delete normed_field lemmas
j-loreaux Feb 20, 2022
17f855c
add list.norm_prod and list.nnnorm_prod
j-loreaux Feb 20, 2022
4868df6
rename instances
j-loreaux Feb 20, 2022
521078a
fix a stray deletion of `normed_field.` which was needed.
j-loreaux Feb 20, 2022
fe8fca4
merge master
j-loreaux Feb 21, 2022
76792b6
fix `analysis.normed_space.basic`
j-loreaux Feb 21, 2022
5172ca2
remove extraneous `normed_field.` deletions
j-loreaux Feb 21, 2022
04aecc7
remove stray `x`
j-loreaux Feb 21, 2022
242939d
simplify proof of `list.norm_prod` with `norm_hom` (and `nnnorm`)
j-loreaux Feb 21, 2022
94b0b05
generalize `has_continuous_inv0` to normed division ring
j-loreaux Feb 21, 2022
61384f7
workaround ac_refl
j-loreaux Feb 22, 2022
da41d26
Merge branch 'master' into j-loreaux/normed-division-ring
j-loreaux Feb 22, 2022
1c0ab91
Merge remote-tracking branch 'origin/master' into j-loreaux/normed-di…
eric-wieser Mar 10, 2022
eb9937e
apply suggestions from code review
j-loreaux Mar 11, 2022
c13e111
protect list.norm_prod
j-loreaux Mar 11, 2022
fc188b3
Merge branch 'master' into j-loreaux/normed-division-ring
j-loreaux Mar 17, 2022
a6fd68b
make quaternions a normed_division_ring
j-loreaux Mar 17, 2022
fc784a6
use mul_mul_mul_comm
j-loreaux Mar 17, 2022
49fd807
Provide the Gelfand-Mazur isomorphism
j-loreaux Mar 17, 2022
fba188d
add to docstring and use `algebra.of_id`
j-loreaux Mar 18, 2022
2d95a66
Merge branch 'master' into j-loreaux/gelfand-mazur'
j-loreaux Mar 18, 2022
5a3cb9e
remove unnecessary `open`
j-loreaux Mar 18, 2022
f59df49
dot notation
j-loreaux Mar 18, 2022
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
26 changes: 26 additions & 0 deletions src/analysis/normed_space/spectrum.lean
Expand Up @@ -29,6 +29,9 @@ This file contains the basic theory for the resolvent and spectrum of a Banach a
* `spectrum.pow_nnnorm_pow_one_div_tendsto_nhds_spectral_radius`: Gelfand's formula for the
spectral radius in Banach algebras over `ℂ`.
* `spectrum.nonempty`: the spectrum of any element in a complex Banach algebra is nonempty.
* `normed_division_ring.alg_equiv_complex_of_complete`: **Gelfand-Mazur theorem** For a complex
Banach division algebra, the natural `algebra_map ℂ A` is an algebra isomorphism whose inverse
is given by selecting the (unique) element of `spectrum ℂ a`


## TODO
Expand Down Expand Up @@ -347,6 +350,29 @@ begin
(mem_resolvent_set_iff.mp (H₀.symm ▸ set.mem_univ 0)))),
end

section gelfand_mazur_isomorphism

variables [normed_division_ring A] [normed_algebra ℂ A]

local notation `σ` := spectrum ℂ

lemma algebra_map_eq_of_mem {a : A} {z : ℂ} (h : z ∈ σ a) : algebra_map ℂ A z = a :=
by rwa [mem_iff, is_unit_iff_ne_zero, not_not, sub_eq_zero] at h

/-- **Gelfand-Mazur theorem**: For a complex Banach division algebra, the natural `algebra_map ℂ A`
j-loreaux marked this conversation as resolved.
Show resolved Hide resolved
is an algebra isomorphism whose inverse is given by selecting the (unique) element of
`spectrum ℂ a`. In addition, `algebra_map_isometry` guarantees this map is an isometry. -/
@[simps]
noncomputable def _root_.normed_division_ring.alg_equiv_complex_of_complete
[complete_space A] [topological_space.second_countable_topology A] : ℂ ≃ₐ[ℂ] A :=
{ to_fun := algebra_map ℂ A,
j-loreaux marked this conversation as resolved.
Show resolved Hide resolved
inv_fun := λ a, (spectrum.nonempty a).some,
left_inv := λ z, by simpa only [scalar_eq] using (spectrum.nonempty $ algebra_map ℂ A z).some_mem,
right_inv := λ a, algebra_map_eq_of_mem (spectrum.nonempty a).some_mem,
..algebra.of_id ℂ A }

end gelfand_mazur_isomorphism

section exp_mapping

local notation `↑ₐ` := algebra_map 𝕜 A
Expand Down