Spectrum of a sentence

In mathematical logic, the spectrum of a sentence is the set of natural numbers occurring as the size of a finite model in which a given sentence is true. By a result in descriptive complexity, a set of natural numbers is a spectrum if and only if it can be recognized in non-deterministic exponential time.

Definition
Let ψ be a sentence in first-order logic. The spectrum of ψ is the set of natural numbers n such that there is a finite model for ψ with n elements.

If the vocabulary for ψ consists only of relational symbols, then ψ can be regarded as a sentence in existential second-order logic (ESOL) quantified over the relations, over the empty vocabulary. A generalised spectrum is the set of models of a general ESOL sentence.

Examples
$$\exists z,o ~ \forall a,b,c ~ \exists d,e$$
 * The spectrum of the first-order formula
 * $$a+z=a=z+a ~ \land~ a\cdot z=z=z\cdot a ~ \land~ a+d = z$$
 * $$\land~ a+b = b+a ~ \land~ a\cdot(b+c) = a\cdot b+a\cdot c ~ \land~(a+b)+c=a+(b+c)$$
 * $$\land~ a \cdot o=a=o \cdot a ~ \land~ a\cdot e=o ~\land~ (a\cdot b)\cdot c=a\cdot (b\cdot c)$$

is $$\{p^{n}\mid p \text{ prime}, n \in \mathbb{N}\}$$, the set of powers of a prime number. Indeed, with $$z$$ for $$0$$ and $$o$$ for $$1$$, this sentence describes the set of fields; the cardinality of a finite field is the power of a prime number. \land~ f(f(x)) = x \land~ x \in S \iff f(x) \in T\right\}$$ is the set of even numbers. Indeed, $$f$$ is a bijection between $$S$$ and $$T$$, and $$S$$ and $$T$$ are a partition of the universe. Hence the cardinality of the universe is even.
 * The spectrum of the monadic second-order logic formula $$\exists S, T ~ \forall x ~ \left\{x\in S\iff x\not\in T
 * The set of finite and co-finite sets is the set of spectra of first-order logic with the successor relation.
 * The set of ultimately periodic sets is the set of spectra of monadic second-order logic with a unary function. It is also the set of spectra of monadic second-order logic with the successor function.

Descriptive complexity
Fagin's theorem is a result in descriptive complexity theory that states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP. It is remarkable since it is a characterization of the class NP that does not invoke a model of computation such as a Turing machine. The theorem was proven by Ronald Fagin in 1974 (strictly, in 1973 in his doctoral thesis).

As a corollary, Jones and Selman showed that a set is a spectrum if and only if it is in the complexity class NEXP.

One direction of the proof is to show that, for every first-order formula $$\varphi$$, the problem of determining whether there is a model of the formula of cardinality n is equivalent to the problem of satisfying a formula of size polynomial in n, which is in NP(n) and thus in NEXP of the input to the problem (the number n in binary form, which is a string of size log(n)).

This is done by replacing every existential quantifier in $$\varphi$$ with disjunction over all the elements in the model and replacing every universal quantifier with conjunction over all the elements in the model. Now every predicate is on elements in the model, and finally every appearance of a predicate on specific elements is replaced by a new propositional variable. Equalities are replaced by their truth values according to their assignments.

For example:

$$\forall{x} \forall{y} \left(P(x)\wedge P(y)\right)\rightarrow (x=y)$$

For a model of cardinality 2 (i.e. n= 2) is replaced by

$$\big(\left(P(a_1)\wedge P(a_1)\right)\rightarrow (a_1=a_1)\big)\wedge \big(\left(P(a_1)\wedge P(a_2)\right)\rightarrow (a_1=a_2)\big)\wedge \big(\left(P(a_2)\wedge P(a_1)\right)\rightarrow (a_2=a_1)\big)\wedge \big(\left(P(a_2)\wedge P(a_2)\right)\rightarrow (a_2=a_2)\big)$$

Which is then replaced by $$\big(\left(p_1\wedge p_1\right)\rightarrow \top\big)\wedge \big(\left(p_1\wedge p_2\right)\rightarrow \bot\big)\wedge \big(\left(p_2\wedge p_1\right)\rightarrow \bot\big)\wedge \big(\left(p_2\wedge p_2\right)\rightarrow \top\big)$$

where $$\top$$ is truth, $$\bot$$ is falsity, and $$p_1$$, $$p_2$$ are propositional variables. In this particular case, the last formula is equivalent to $$\neg(p_1\wedge p_2)$$, which is satisfiable.

The other direction of the proof is to show that, for every set of binary strings accepted by a non-deterministic Turing machine running in exponential time ($$2^{cx}$$ for input length x), there is a first-order formula $$\varphi$$ such that the set of numbers represented by these binary strings are the spectrum of $$\varphi$$.

Jones and Selman mention that the spectrum of first-order formulas without equality is just the set of all natural numbers not smaller than some minimal cardinality.

Other properties
The set of spectra of a theory is closed under union, intersection, addition, and multiplication. In full generality, it is not known if the set of spectra of a theory is closed by complementation; this is the so-called Asser's problem. By the result of Jones and Selman, it is equivalent to the problem of whether NEXPTIME = co-NEXPTIME; that is, whether NEXPTIME is closed under complementation.