(** * The list of integers between 1 and n (inclusive) *)
Fixpoint until (n : nat) : Zlist :=
match n with
| O => Nil Z
| S n => Cons Z (Z_of_nat (S n)) (until n)
end.

Lemma untiln_prod_not_0modp :
forall p n : nat,
0 < n -> n < p -> Prime p -> ~ Mod (zproduct (until n)) 0 p.