Logical characterizations of complexity classes

Since 1974, descriptive complexity characterizes computational complexity in terms of logical languages. Fagin [1] first shown that the complexity class NP coincides with the set of problems expressible in second order existential (SO∃) logic. Stockmeyer [2] extended Fagin’s result to the polynomial-time hierarchy (PH) characterized by second order logic. Further research revealed logical characterizations for various complexity classes [3]. However, there are complexity classes such as PSPACE-complete problems, NP-complete problems, coNP-complete problems, P-complete problems, NL-complete problems, and NP ∩ coNP for which no logics were known till now. The purpose of our research is to develop logics for these classes. Let us give necessary definitions. We use notations and definitions of finite model theory as stated in [4]. For convenience and without loss of generality, we consider vocabularies without constant symbols and without function symbols. So, a vocabulary is a finite set τ = {R1 1 , . , Ram m } of relation symbols of specified arities. A structure is a tuple A = (|A|, RA 1 , . . . , RA m), where |A| is a nonempty finite set, and each RA i is a relation on A such that arity(R A i ) = ai, 1 ≤ i ≤ m. By a model class we mean a set structures of a fixed vocabulary τ that is closed under isomorphism. By STRUC[τ ] we denote the model class of all structures for the vocabulary τ . We define a logic L as follows. For every vocabulary τ , the language L(τ) is the recursive set of all well-formed sentences (whose elements are called L-sentences) with the symbols of τ and with the symbols predefined for the logic L. In addition, |= is a binary relation between L-sentences and structures, so that for each L-sentence Γ with the vocabulary τ , the set {A ∈ STRUC[τ ] | A |= Γ} denoted by MOD[Γ] is a model class. Also, we say that a L-sentence Γ defines a model class K if K = MOD[Γ]. We will characterize a model class as a complexity theoretic problem. Let L be a logic, C a complexity class, and τ a vocabulary. We say that L captures C if for every vocabulary τ , the following two conditions are satisfied: 1) For every L-sentence Γ with the vocabulary τ , the model class MOD[Γ] belongs to C. 2) For every model class K ⊆ STRUC[τ ] in C, there exists a L-sentence Γ that defines K. Let us proceed to our results. First of all, note that it is very unlikely that one could construct a complete problem (for any reasonable complexity class) using structures which interpret only unary relation symbols. The argument is essentially that such classes of structures are interpretable with sparse languages for which it is highly improbable to find a complete problem. Therefore, we consider complete problems on structures containing at least one binary relation in what follows. Let C denote one of the following complexity classes: NL, P, NP, coNP, and PSPACE if we allow linear order < in structures and without linear order < just the last three of them. The technique used in all cases is the same. We start out with a logic L that captures the complexity class C (for definiteness, by L we mean one of the following logics: FO(TC), FO(LFP), SO∃, SO∀, and SO(PFP), respectively). Then, for each L-sentence Γ and for each Turing machine T , we take the sentence (γ ∧ Γ) ∨ (¬γ ∧Υ) (1)