∀ {R : Type u_2} {S : Type u_1} [inst : Mul S] [inst_1 : Neg S] (f : S → R) (hf : Function.Injective f) [inst_2 : Mul R]
  [inst_3 : HasDistribNeg R] (neg : ∀ (a : S), f (-a) = -f a),
  (∀ (a b : S), f (a * b) = f a * f b) → ∀ (x y : S), x * -y = -(x * y)