∀ {A : Type u_1} {B : Type u_2} [inst : CommRing A] [inst_1 : CommRing B] [inst_2 : IsDomain A] [inst_3 : IsDomain B]
  {f : A →+* B} [inst_4 : DecidablePred fun x => x ∈ f.range],
  Function.Injective ⇑f →
    ∀ (p : Polynomial A), Multiset.filter (fun x => x ∈ f.range) (Polynomial.map f p).roots = Multiset.map (⇑f) p.roots