Theorem: spectrum.mem_resolventSet_of_norm_lt_mul
File: Mathlib/Analysis/Normed/Algebra/Spectrum.lean

Proof steps:
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
⊢ k ∈ ρ a
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
⊢ IsUnit (k • 1 - a)
tactic: rw [resolventSet, Set.mem_setOf_eq, Algebra.algebraMap_eq_smul_one]
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
⊢ IsUnit (k • 1 - a)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
⊢ IsUnit (k • 1 - a)
tactic: nontriviality A
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
⊢ IsUnit (k • 1 - a)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
⊢ IsUnit (k • 1 - a)
tactic: have hk : k ≠ 0 :=
    ne_zero_of_norm_ne_zero ((mul_nonneg (norm_nonneg _) (norm_nonneg _)).trans_lt h).ne'
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
⊢ IsUnit (k • 1 - a)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
⊢ IsUnit (k • 1 - a)
tactic: letI ku := Units.map ↑ₐ.toMonoidHom (Units.mk0 k hk)
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ * ‖1‖ < ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
⊢ IsUnit (k • 1 - a)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ < ‖1‖⁻¹ * ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
⊢ IsUnit (k • 1 - a)
tactic: rw [← inv_inv ‖(1 : A)‖,
    mul_inv_lt_iff (inv_pos.2 <| norm_pos_iff.2 (one_ne_zero : (1 : A) ≠ 0))] at h
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ < ‖1‖⁻¹ * ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
⊢ IsUnit (k • 1 - a)
state_after: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ < ‖1‖⁻¹ * ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
hku : ‖-a‖ < ‖↑ku⁻¹‖⁻¹
⊢ IsUnit (k • 1 - a)
tactic: have hku : ‖-a‖ < ‖(↑ku⁻¹ : A)‖⁻¹ := by simpa [ku, norm_algebraMap] using h
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : CompleteSpace A
a : A
k : 𝕜
h : ‖a‖ < ‖1‖⁻¹ * ‖k‖
a✝ : Nontrivial A
hk : k ≠ 0
ku : Aˣ := (Units.map ↑↑ₐ) (Units.mk0 k hk)
hku : ‖-a‖ < ‖↑ku⁻¹‖⁻¹
⊢ IsUnit (k • 1 - a)
state_after: no goals
tactic: simpa [ku, sub_eq_add_neg, Algebra.algebraMap_eq_smul_one] using (ku.add (-a) hku).isUnit