End nat_to_ring.
Section is_derive_mult.
Context {K : AbsRing}.

(* Specifications: *)
Lemma is_derive_mult (f g : K -> K) x (df dg : K) :
is_derive f x df -> is_derive g x dg
-> (forall n m : K, mult n m = mult m n)
-> is_derive (fun x : K => mult (f x) (g x)) x (plus (mult df (g x)) (mult (f x) dg)).