Theorem: unitary.spectrum_subset_circle
File: Mathlib/Analysis/NormedSpace/Star/Spectrum.lean

tactic: nontriviality E
state_before: 𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
⊢ spectrum 𝕜 ↑u ⊆ Metric.sphere 0 1
state_after: 𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
⊢ spectrum 𝕜 ↑u ⊆ Metric.sphere 0 1

tactic: refine fun k hk => mem_sphere_zero_iff_norm.mpr (le_antisymm ?_ ?_)
state_before: 𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
⊢ spectrum 𝕜 ↑u ⊆ Metric.sphere 0 1
state_after: case refine_1
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑u
⊢ ‖k‖ ≤ 1

case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑u
⊢ 1 ≤ ‖k‖

tactic: simpa only [CstarRing.norm_coe_unitary u] using norm_le_norm_of_mem hk
state_before: case refine_1
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑u
⊢ ‖k‖ ≤ 1
state_after: no goals

tactic: rw [← unitary.val_toUnits_apply u] at hk
state_before: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑u
⊢ 1 ≤ ‖k‖
state_after: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑(toUnits u)
⊢ 1 ≤ ‖k‖

tactic: have hnk := ne_zero_of_mem_of_unit hk
state_before: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑(toUnits u)
⊢ 1 ≤ ‖k‖
state_after: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑(toUnits u)
hnk : k ≠ 0
⊢ 1 ≤ ‖k‖

tactic: rw [← inv_inv (unitary.toUnits u), ← spectrum.map_inv, Set.mem_inv] at hk
state_before: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k ∈ spectrum 𝕜 ↑(toUnits u)
hnk : k ≠ 0
⊢ 1 ≤ ‖k‖
state_after: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k⁻¹ ∈ spectrum 𝕜 ↑(toUnits u)⁻¹
hnk : k ≠ 0
⊢ 1 ≤ ‖k‖

tactic: have : ‖k‖⁻¹ ≤ ‖(↑(unitary.toUnits u)⁻¹ : E)‖ := by
  simpa only [norm_inv] using norm_le_norm_of_mem hk
state_before: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k⁻¹ ∈ spectrum 𝕜 ↑(toUnits u)⁻¹
hnk : k ≠ 0
⊢ 1 ≤ ‖k‖
state_after: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k⁻¹ ∈ spectrum 𝕜 ↑(toUnits u)⁻¹
hnk : k ≠ 0
this : ‖k‖⁻¹ ≤ ‖↑(toUnits u)⁻¹‖
⊢ 1 ≤ ‖k‖

tactic: simpa using inv_le_of_inv_le (norm_pos_iff.mpr hnk) this
state_before: case refine_2
𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k⁻¹ ∈ spectrum 𝕜 ↑(toUnits u)⁻¹
hnk : k ≠ 0
this : ‖k‖⁻¹ ≤ ‖↑(toUnits u)⁻¹‖
⊢ 1 ≤ ‖k‖
state_after: no goals

tactic: simpa only [norm_inv] using norm_le_norm_of_mem hk
state_before: 𝕜 : Type u_1
inst✝⁵ : NormedField 𝕜
E : Type u_2
inst✝⁴ : NormedRing E
inst✝³ : StarRing E
inst✝² : CstarRing E
inst✝¹ : NormedAlgebra 𝕜 E
inst✝ : CompleteSpace E
u : ↥(unitary E)
a✝ : Nontrivial E
k : 𝕜
hk : k⁻¹ ∈ spectrum 𝕜 ↑(toUnits u)⁻¹
hnk : k ≠ 0
⊢ ‖k‖⁻¹ ≤ ‖↑(toUnits u)⁻¹‖
state_after: no goals