Theorem: WeakFEPair.Λ_residue_zero
File: Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean

tactic: simp_rw [Λ, smul_sub, (by simp : 𝓝 (-P.f₀) = 𝓝 (((0 : ℂ) • P.Λ₀ 0) - P.f₀ - 0))]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • P.Λ s) (𝓝[≠] 0) (𝓝 (-P.f₀))
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • P.Λ₀ s - s • (1 / s) • P.f₀ - s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0)
    (𝓝 (0 • P.Λ₀ 0 - P.f₀ - 0))

tactic: refine ((Tendsto.mono_left ?_ nhdsWithin_le_nhds).sub ?_).sub ?_
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • P.Λ₀ s - s • (1 / s) • P.f₀ - s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0)
    (𝓝 (0 • P.Λ₀ 0 - P.f₀ - 0))
state_after: case refine_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • P.Λ₀ s) (𝓝 0) (𝓝 (0 • P.Λ₀ 0))

case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (1 / s) • P.f₀) (𝓝[≠] 0) (𝓝 P.f₀)

case refine_3
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0) (𝓝 0)

tactic: simp
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ 𝓝 (-P.f₀) = 𝓝 (0 • P.Λ₀ 0 - P.f₀ - 0)
state_after: no goals

tactic: exact (continuous_id.smul P.differentiable_Λ₀.continuous).tendsto _
state_before: case refine_1
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • P.Λ₀ s) (𝓝 0) (𝓝 (0 • P.Λ₀ 0))
state_after: no goals

tactic: refine (tendsto_const_nhds.mono_left nhdsWithin_le_nhds).congr' ?_
state_before: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (1 / s) • P.f₀) (𝓝[≠] 0) (𝓝 P.f₀)
state_after: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ (fun x => P.f₀) =ᶠ[𝓝[≠] 0] fun s => s • (1 / s) • P.f₀

tactic: refine eventually_nhdsWithin_of_forall (fun s (hs : s ≠ 0) ↦ ?_)
state_before: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ (fun x => P.f₀) =ᶠ[𝓝[≠] 0] fun s => s • (1 / s) • P.f₀
state_after: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
s : ℂ
hs : s ≠ 0
⊢ (fun x => P.f₀) s = (fun s => s • (1 / s) • P.f₀) s

tactic: simp_rw [← mul_smul]
state_before: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
s : ℂ
hs : s ≠ 0
⊢ (fun x => P.f₀) s = (fun s => s • (1 / s) • P.f₀) s
state_after: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
s : ℂ
hs : s ≠ 0
⊢ P.f₀ = (s * (1 / s)) • P.f₀

tactic: field_simp [sub_ne_zero.mpr hs.symm]
state_before: case refine_2
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
s : ℂ
hs : s ≠ 0
⊢ P.f₀ = (s * (1 / s)) • P.f₀
state_after: no goals

tactic: rw [show 𝓝 0 = 𝓝 ((0 : ℂ) • (P.ε / (P.k - 0 : ℂ)) • P.g₀) by rw [zero_smul]]
state_before: case refine_3
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0) (𝓝 0)
state_after: case refine_3
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0) (𝓝 (0 • (P.ε / (↑P.k - 0)) • P.g₀))

tactic: exact (continuousAt_id.smul ((continuousAt_const.div ((continuous_sub_left _).continuousAt)
  (by simpa using P.hk.ne')).smul continuousAt_const)).mono_left nhdsWithin_le_nhds
state_before: case refine_3
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ Tendsto (fun s => s • (P.ε / (↑P.k - s)) • P.g₀) (𝓝[≠] 0) (𝓝 (0 • (P.ε / (↑P.k - 0)) • P.g₀))
state_after: no goals

tactic: rw [zero_smul]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ 𝓝 0 = 𝓝 (0 • (P.ε / (↑P.k - 0)) • P.g₀)
state_after: no goals

tactic: simpa using P.hk.ne'
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
P : WeakFEPair E
⊢ ↑P.k - 0 ≠ 0
state_after: no goals