import Mathlib section namespace IsDedekindDomain.HeightOneSpectrum open IsDedekindDomain instance {R : Type*} [CommRing R] [IsDedekindDomain R] (K : Type*) [Field K] [Countable K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) : TopologicalSpace.SeparableSpace (v.adicCompletion K) where exists_countable_dense := ⟨_, Set.countable_range _, denseRange_algebraMap (K := K) (v := v)⟩ lemma intValuation_eq_coe_neg_multiplicity {A : Type*} [CommRing A] [IsDedekindDomain A] (v : HeightOneSpectrum A) {a : A} (hnz : a ≠ 0) : v.intValuation a = WithZero.exp (-(multiplicity v.asIdeal (Ideal.span {a}) : ℤ)) := by classical have hnb : Ideal.span {a} ≠ ⊥ := by rwa [ne_eq, Ideal.span_singleton_eq_bot] rw [intValuation_if_neg _ hnz, count_associates_factors_eq hnb v.isPrime v.ne_bot] nth_rw 1 [← normalize_eq v.asIdeal] congr symm apply multiplicity_eq_of_emultiplicity_eq_some rw [← UniqueFactorizationMonoid.emultiplicity_eq_count_normalizedFactors v.irreducible hnb] end IsDedekindDomain.HeightOneSpectrum end