-- Lean 4 proof step from Mathlib.RingTheory.LaurentSeries (goal)
Goal:
K : Type u_2
inst : Field K
a : adicCompletion (R := K[X]) K⟮X⟯ (idealX K)
this :
  ∀ (s : Set (adicCompletion (R := K[X]) K⟮X⟯ (idealX K))),
    Membership.mem (γ := Filter (adicCompletion (R := K[X]) K⟮X⟯ (idealX K))) (𝓝 0) s ↔
      ∃ (γ :
        (MonoidWithZeroHom.ValueGroup₀ (F :=
            Valuation (adicCompletion (R := K[X]) K⟮X⟯ (idealX K)) (WithZero (Multiplicative ℤ))) Valued.v)ˣ),
        {x : adicCompletion (R := K[X]) K⟮X⟯ (idealX K) |
            ((Valuation.restrict Valued.v :
                    Valuation (adicCompletion (R := K[X]) K⟮X⟯ (idealX K))
                      (MonoidWithZeroHom.ValueGroup₀ (F :=
                        adicCompletion (R := K[X]) K⟮X⟯ (idealX K) →*₀ WithZero (Multiplicative ℤ))
                        (↑Valued.v : adicCompletion K⟮X⟯ (idealX K) →*₀ WithZero (Multiplicative ℤ)))) :
                  (a : adicCompletion K⟮X⟯ (idealX K)) →
                    MonoidWithZeroHom.ValueGroup₀
                      (↑Valued.v : adicCompletion K⟮X⟯ (idealX K) →*₀ WithZero (Multiplicative ℤ)))
                x <
              (↑γ : MonoidWithZeroHom.ValueGroup₀ Valued.v)} ⊆
          s
pos :
  ∀ (ha : a = 0),
    Tendsto (α := K⟮X⟯) (β := WithZero (Multiplicative ℤ))
      ((⇑Valued.v : (a : K⟮X⟯) → WithZero (Multiplicative ℤ)) : (a : K⟮X⟯) → WithZero (Multiplicative ℤ))
      (Filter.comap
        (fun (x : K⟮X⟯) ↦
          (↑((RingEquiv.symm (WithVal.equiv (valuation (R := K[X]) K⟮X⟯ (idealX K))) :
                  (a : K⟮X⟯) → WithVal (valuation K⟮X⟯ (idealX K)))
                x) :
            UniformSpace.Completion (WithVal (valuation K⟮X⟯ (idealX K)))))
        (𝓝 a))
      (𝓝
          (((Valued.v : Valuation (adicCompletion (R := K[X]) K⟮X⟯ (idealX K)) (WithZero (Multiplicative ℤ))) :
              (a : adicCompletion K⟮X⟯ (idealX K)) → WithZero (Multiplicative ℤ))
            a) :
        Filter (WithZero (Multiplicative ℤ)))
⊢ Tendsto (α := K⟮X⟯) (β := WithZero (Multiplicative ℤ))
    ((⇑Valued.v : (a : K⟮X⟯) → WithZero (Multiplicative ℤ)) : (a : K⟮X⟯) → WithZero (Multiplicative ℤ))
    (Filter.comap
      (fun (x : K⟮X⟯) ↦
        (↑((RingEquiv.symm (WithVal.equiv (valuation (R := K[X]) K⟮X⟯ (idealX K))) :
                (a : K⟮X⟯) → WithVal (valuation K⟮X⟯ (idealX K)))
              x) :
          UniformSpace.Completion (WithVal (valuation K⟮X⟯ (idealX K)))))
      (𝓝 a))
    (𝓝
        (((Valued.v : Valuation (adicCompletion (R := K[X]) K⟮X⟯ (idealX K)) (WithZero (Multiplicative ℤ))) :
            (a : adicCompletion K⟮X⟯ (idealX K)) → WithZero (Multiplicative ℤ))
          a) :
      Filter (WithZero (Multiplicative ℤ)))
have neg : ∀ (ha : ¬a = 0),
  Tendsto (α := K⟮X⟯) (β := WithZero (Multiplicative ℤ))
    ((⇑Valued.v : (a : K⟮X⟯) → WithZero (Multiplicative ℤ)) : (a : K⟮X⟯) → WithZero (Multiplicative ℤ))
    (Filter.comap
      (fun (x : K⟮X⟯) ↦
        (↑((RingEquiv.symm (WithVal.equiv (valuation (R := K[X]) K⟮X⟯ (idealX K))) :
                (a : K⟮X⟯) → WithVal (valuation K⟮X⟯ (idealX K)))
              x) :
          UniformSpace.Completion (WithVal (valuation K⟮X⟯ (idealX K)))))
      (𝓝 a))
    (𝓝
        (((Valued.v : Valuation (adicCompletion (R := K[X]) K⟮X⟯ (idealX K)) (WithZero (Multiplicative ℤ))) :
            (a : adicCompletion K⟮X⟯ (idealX K)) → WithZero (Multiplicative ℤ))
          a) :
      Filter (WithZero (Multiplicative ℤ)))
Tactic: by_cases ha : a = 0