(** * Primality on Z *)

(** ZPrime, just like Prime but uses only Z. *)

Definition ZPrime (n : Z) : Prop :=
  (n > 1)%Z /\ (forall q : Z, (q >= 0)%Z -> ZDivides q n -> q = 1%Z \/ q = n).

(* Specifications: *)
Lemma primezprime : forall n : nat, Prime n -> ZPrime (Z_of_nat n).
Lemma zprimeprime : forall n : Z, ZPrime n -> Prime (Zabs_nat n).
Lemma zprime2 : ZPrime 2.
Lemma zprime2a : ZPrime 2.