gives True if n is provably prime, and False otherwise.


  • To use ProvablePrimeQ, you first need to load the Primality Proving Package using Needs["PrimalityProving`"].
  • When ProvablePrimeQ[n] returns True, then n is prime based on the Pratt certificate of primality or the AtkinMorain certificate of primality.
  • ProvablePrimeQ should not be used as a replacement for PrimeQ, as PrimeQ is several orders of magnitude faster. Instead, use ProvablePrimeQ to certify the results of PrimeQ when needed.
  • The following options can be given:
  • "SmallPrime"1050lower bound for using the AtkinMorain test
    "Certificate"Falsewhether to print a certificate
    "PollardPTest"Automaticwhether to use the Pollard method
    "PollardRhoTest"Automaticwhether to use the Pollard method
    "TrialDivisionLimit"Automaticnumber of primes to use in trial division
    "PrimeQMessages"Falsewhether progress is to be monitored