-- Mathlib/Analysis/Normed/Algebra/Spectrum.lean
theorem mem_resolventSet_of_norm_lt_mul {a : A} {k : 𝕜} (h : ‖a‖ * ‖(1 : A)‖ < ‖k‖) : k ∈ ρ a

Proof state:
𝕜 : 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)
⊢ ‖-a‖ < ‖↑ku⁻¹‖⁻¹

Tactic:
simpa [ku, norm_algebraMap] using h

Result:
no goals

Proof state:
𝕜 : 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:
nontriviality A

Result:
𝕜 : 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)

Proof state:
𝕜 : 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:
have hku : ‖-a‖ < ‖(↑ku⁻¹ : A)‖⁻¹ := by simpa [ku, norm_algebraMap] using h

Result:
𝕜 : 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)

Proof state:
𝕜 : 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

Tactic:
rw [resolventSet, Set.mem_setOf_eq, Algebra.algebraMap_eq_smul_one]

Result:
𝕜 : 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)

Proof state:
𝕜 : 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:
letI ku := Units.map ↑ₐ.toMonoidHom (Units.mk0 k hk)

Result:
𝕜 : 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)

Proof state:
𝕜 : 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

Result:
𝕜 : 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)

Proof state:
𝕜 : 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:
have hk : k ≠ 0 :=
  ne_zero_of_norm_ne_zero ((mul_nonneg (norm_nonneg _) (norm_nonneg _)).trans_lt h).ne'

Result:
𝕜 : 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)

Proof state:
𝕜 : 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:
simpa [ku, sub_eq_add_neg, Algebra.algebraMap_eq_smul_one] using (ku.add (-a) hku).isUnit

Result:
no goals