I was wondering if the following language belongs to NP class and if its complimentary belongs to NP class:

\begin{align} C=\left\{\langle p,n\rangle\mid\right.&\ \left. p \text{ and $n$ are natural numbers}\right.\\ &\left.\text{ and there's no prime number in the range}\left[p,p+n\right]\right\} \end{align}

could you please check if my reasoning is okay to deduce NP? (I am not sure, but here's what I think): for each word $\langle p,n\rangle \in C$ we know that the word belongs to C because there exists a primal certificate - an nontrivial divisor to any of the numbers between $[p,p+n]$, though I am not really sure it is in NP.

regarding the complement: I think it is in NP because the compliment compositeness can be decided by guessing a factor nondeterministically. But again I am not so sure about it and I don't know how to correctly prove and show it.

Would really appreciate your input on that as I am quite unsure and also checked textbooks and internet (and this site) about it.

Edit: for the sake of solving the problem, due to xskxzr's comment, let's assume p and n are represented by binary, as there's a difference according to his comment between p and n being represented in unary and binary(this is also quite interesting).

  • $\begingroup$ It may depend on how $p$ and $n$ are represented (by unary or binary). $\endgroup$
    – xskxzr
    Commented Apr 7, 2019 at 11:50
  • 1
    $\begingroup$ Possible duplicate of Is determining if there is a prime in an interval known to be in P or NP-complete? $\endgroup$
    – xskxzr
    Commented Apr 7, 2019 at 12:43
  • $\begingroup$ My question is about: 1) is my reasoning is enough/correct to deduce C being NP class? 2)regarding its complimentary(which is not written in the aforementioned link - they don't deal with it). those are 2 different questions and i would appreciate learning from my problem in order to understand my mistake and additionally if the compliment of C is in NP $\endgroup$
    – hps13
    Commented Apr 7, 2019 at 12:57
  • 1
    $\begingroup$ @xskxzr That's not the same question. The OP is asking whether it is in NP, not NP-complete. That question is also the complement of this one. $\endgroup$
    – orlp
    Commented Apr 7, 2019 at 13:05
  • 1
    $\begingroup$ @hps13 Your certificate does not work. To prove that (p,n) is in C, you need to show that every number in that interval is not a prime, so you will need n divisors. But then your certificate will be of size O(n *log(n+p)), which is exponential compared to the size log(p)+log(n) of the word. $\endgroup$
    – mlk
    Commented Apr 7, 2019 at 15:59

2 Answers 2


Note that there's always a prime between $p$ and $2p$ for any $p$ thus we can eliminate $n$ as a complexity parameter, as for any non-trivial instance we have $n < p$.

The complement (there exists a prime in range $[p, p+n]$) is quite easy (due to the shoulders of giants). There are various well-known polynomial size certificates of primality of $q$ you could return along with some $q \in [p, p+n]$ if that prime $q$ exists. Thus your language is in co-NP.

However the question of whether it is in NP or not seems very hard to me. Our input size is $b$ such that $2^b \approx p$. You need the existence of a $O(b^c)$ sized certificate that in the worst case asserts the compositeness of an exponentially large ($|[p, p+n]| \approx |[p, 2p]| \approx p \approx 2^b$) series of consecutive integers. From my intuition about number theory, finding such a certificate would be a major result, but disproving its existence would be as well. But perhaps someone with more number theoretic knowledge than me can pitch in if either of those turn out to be easy.

  • $\begingroup$ thank you very much for your answer. it really helps me understand the background behind the problem, but as you've written, i am trying to check whether it is an NP problem and it is indeed a difficult yet interesting thing. thank you so much for what you've written, it really helps $\endgroup$
    – hps13
    Commented Apr 7, 2019 at 12:41
  • $\begingroup$ I am wondering - did the explanation i tried to give is wrong? I am not sure, but here's what I think: for each word ⟨p,n⟩∈C we know that the word belongs to C because there exists a primal certificate - an nontrivial divisor to any of the numbers between [p,p+n], $\endgroup$
    – hps13
    Commented Apr 7, 2019 at 12:53
  • $\begingroup$ "disproving its existence would be [a major result] as well" Well, proving this problem is not in NP would prove $NP\neq co-NP$, which has a corollary $P\neq NP$. So yes, it would be quite a result! $\endgroup$
    – Wojowu
    Commented Apr 7, 2019 at 18:21

As orlp says, it's trivial to give a certificate if the answer is "YES" (just give a non-trivial factor of each of the numbers in question), the problem is whether this certificate is polynomial sized.

There is a conjecture, backed by heuristics and some computational evidence, that there is a constant c > 0 such that for any k-bit prime p, there is a prime between p and p + c * k^2. If this conjecture is true, then the certificate is actually of size O (k^3) whenever the answer is YES, so the problem is in NP. But, it's just a conjecture.

But of course if we might be able to prove the much weaker conjecture "for some c, there is always a prime between p and p + c * k^3" or the even weaker conjecture "there is a polynomial pol (k) such that there is always a prime between p and p + pol(k)", then this problem would also be in NP. So we can prove that is in NP by proving something about prime gaps.

There is also the possibility that a less obvious and shorter certificate exists.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.