Arguments primePn {n}.

(* Specifications: *)
Lemma prime_gt1 p : prime p -> 1 < p.
Lemma prime_oddPn p : prime p -> reflect (p = 2) (~~ odd p).
Lemma odd_prime_gt2 p : odd p -> prime p -> p > 2.
Lemma prime_coprime p m : prime p -> coprime p m = ~~ (p %| m).
Lemma dvdn_prime2 p q : prime p -> prime q -> (p %| q) = (p == q).
Lemma Euclid_dvdM m n p : prime p -> (p %| m * n) = (p %| m) || (p %| n).
Lemma Euclid_dvd1 p : prime p -> (p %| 1) = false.
Lemma mem_primes p n : (p \in primes n) = [&& prime p, n > 0 & p %| n].
Lemma sorted_primes n : sorted ltn (primes n).
Lemma eq_primes m n : (primes m =i primes n) <-> (primes m = primes n).
Lemma primes_uniq n : uniq (primes n).
Lemma pdiv_prime n : 1 < n -> prime (pdiv n).
Lemma pi_max_pdiv n : (max_pdiv n \in \pi(n)) = (n > 1).
Lemma max_pdiv_prime n : n > 1 -> prime (max_pdiv n).
Lemma pdiv_leq n : 0 < n -> pdiv n <= n.
Lemma max_pdiv_max n p : p \in \pi(n) -> p <= max_pdiv n.
Lemma ltn_pdiv2_prime n : 0 < n -> n < pdiv n ^ 2 -> prime n.
Lemma primePns n :
reflect (n < 2 \/ exists p, [/\ prime p, p ^ 2 <= n & p %| n]) (~~ prime n).