# NEXPTIME

In computational complexity theory, the complexity class NEXPTIME (sometimes called NEXP) is the set of decision problems that can be solved by a non-deterministic Turing machine using time $2^{n^{O(1)}}$.
In terms of NTIME,
    ${\mathsf {NEXPTIME}}=\bigcup _{k\in \mathbb {N} }{\mathsf {NTIME}}(2^{n^{k}})$
Alternatively, NEXPTIME can be defined using deterministic Turing machines as verifiers. A language L is in NEXPTIME if and only if there exist polynomials p and q, and a deterministic Turing machine M, such that
* For all x and y, the machine M runs in time $2^{p(|x|)}$ on input ⁠$(x,y)$⁠
* For all x in L, there exists a string y of length $2^{q(|x|)}$ such that ⁠$M(x,y)=1$⁠
* For all x not in L and all strings y of length $2^{q(|x|)}$, ⁠$M(x,y)=0$⁠
We know
    P ⊆ NP ⊆ EXPTIME ⊆ NEXPTIME
and also, by the time hierarchy theorem, that
    NP ⊊ NEXPTIME
If P = NP, then NEXPTIME = EXPTIME (padding argument); more precisely, E ≠ NE if and only if there exist sparse languages in NP that are not in P.

## Alternative characterizations

In descriptive complexity, the sets of natural numbers that can be recognized in NEXPTIME are exactly those that form the spectrum of a sentence, the set of sizes of finite models of some logical sentence.
NEXPTIME often arises in the context of interactive proof systems, where there are two major characterizations of it. The first is the MIP proof system, where we have two all-powerful provers which communicate with a randomized polynomial-time verifier (but not with each other). If the string is in the language, they must be able to convince the verifier of this with high probability. If the string is not in the language, they must not be able to collaboratively trick the verifier into accepting the string except with low probability. The fact that MIP proof systems can solve every problem in NEXPTIME is quite impressive when we consider that when only one prover is present, we can only recognize all of PSPACE; the verifier's ability to "cross-examine" the two provers gives it great power. See interactive proof system#MIP for more details.
Another interactive proof system characterizing NEXPTIME is a certain class of probabilistically checkable proofs. Recall that NP can be seen as the class of problems where an all-powerful prover gives a purported proof that a string is in the language, and a deterministic polynomial-time machine verifies that it is a valid proof. We make two changes to this setup:
* Add randomness, the ability to flip coins, to the verifier machine.
* Instead of simply giving the purported proof to the verifier on a tape, give it random access to the proof. The verifier can specify an index into the proof string and receive the corresponding bit. Since the verifier can write an index of polynomial length, it can potentially index into an exponentially long proof string.
These two extensions together greatly extend the proof system's power, enabling it to recognize all languages in NEXPTIME. The class is called PCP(poly, poly). What more, in this characterization the verifier may be limited to read only a constant number of bits, i.e. NEXPTIME = PCP(poly, 1). See probabilistically checkable proofs for more details.

## NEXPTIME-complete

A decision problem is NEXPTIME-complete if it is in NEXPTIME, and every problem in NEXPTIME has a polynomial-time many-one reduction to it. In other words, there is a polynomial-time algorithm that transforms instances of one to instances of the other with the same answer. Problems that are NEXPTIME-complete might be thought of as the hardest problems in NEXPTIME. We know that NEXPTIME-complete problems are not in NP; it has been proven that these problems cannot be verified in polynomial time, by the time hierarchy theorem.

## Examples of NEXPTIME-complete problems
### Succinct problems

An important set of NEXPTIME-complete problems relates to succinct circuits. Succinct circuits are simple machines used to describe graphs in exponentially less space. They accept two vertex numbers as input and output whether there is an edge between them. If solving a problem on a graph in a natural representation, such as an adjacency matrix, is NP-complete, then solving the same problem on a succinct circuit representation is NEXPTIME-complete, because the input is exponentially smaller (under some mild condition that the NP-completeness reduction is achieved by a "projection"). As one simple example, finding a Hamiltonian path for a graph thus encoded is NEXPTIME-complete.

### Logic

The satisfiability problem of first-order logic with two variables is NEXPTIME-complete. The satisfiability problem of first-order logic with counting and with two variables is NEXPTIME-complete.