∀ {R : Type u_2} {S : Type u_1} (f : R → S) (hf : Function.Surjective f) [inst : Add S] [inst_1 : Zero S]
  [inst_2 : Neg S] [inst_3 : Sub S] [inst_4 : SMul ℕ S] [inst_5 : SMul ℤ S] [inst_6 : AddGroupWithOne R]
  (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (neg : ∀ (x : R), f (-x) = -f x)
  (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ℕ) (x : R), f (n • x) = n • f x)
  (zsmul : ∀ (n : ℤ) (x : R), f (n • x) = n • f x) (n : ℕ) (a : S),
  SubNegMonoid.zsmul (↑n.succ) a = SubNegMonoid.zsmul (↑n) a + a