intros n m p q H' H'0.
case H'; intros z1 Hz1.
case H'0; intros z2 Hz2.
exists (z1 * z2)%Z; rewrite Hz1; rewrite Hz2; ring.
Qed.

(* Specifications: *)
Theorem ZdividesTrans :
forall n m p : Z, Zdivides n m -> Zdivides m p -> Zdivides n p.