Definition zprimitive p := map_poly (divz^~ (zcontents p)) p.

(* Specifications: *)
Lemma zprimitive0 : zprimitive 0 = 0.
Lemma size_zprimitive p : size (zprimitive p) = size p.
Lemma zprimitive_id p : zprimitive (zprimitive p) = zprimitive p.
Lemma zcontentsM p q : zcontents (p * q) = zcontents p * zcontents q.
Lemma zprimitiveM p q : zprimitive (p * q) = zprimitive p * zprimitive q.