In descriptive complexity, a branch of computational complexity, FO is a complexity class of structures that can be recognized by formulas of first-order logic, and also equals the complexity class AC0. Descriptive complexity uses the formalism of logic, but does not use several key notions associated with logic such as proof theory or axiomatization.
Contents
- The idea
- Formally
- Warning
- Normal form
- FO without any operators
- Partial fixed point is PSPACE
- Least Fixed Point is P
- Transitive closure is NL
- Deterministic transitive closure is L
- Iterating
- Logic without arithmetical relations
- Using successor to define bit
- Logics without successor
- References
Restricting predicates to be from a set X yields a smaller class FO[X]. For instance, FO[<] is the set of star-free languages. The two different definitions of FO[<], in terms of logic and in terms of regular expressions, suggests that this class may be mathematically interesting beyond its role in computational complexity, and that methods from both logic and regular expressions may be useful in its study.
Similarly, extensions of first-order logic formed by the addition of operators give rise to other well-known complexity classes. This allows the complexity of some problems to be established without reference to algorithms.
The idea
When we use the logic formalism to describe a computational problem, the input is a finite structure, and the elements of that structure are the domain of discourse. Usually the input is either a string (of bits or over an alphabet) and the elements of the logical structure represent positions of the string, or the input is a graph and the elements of the logical structure represent its vertices. The length of the input will be measured by the size of the respective structure. Whatever the structure is, we can assume that there are relations that can be tested, for example "
In descriptive complexity theory we almost always suppose that there is a total order over the elements and that we can check equality between elements. This lets us consider elements as numbers: the element x represents the number n iff there are
Formally
Let X be a set of predicates. The language FO[X] is defined as the closure by conjunction (
The semantics of the formulae in FO is straightforward,
Warning
A query in FO will then be to check if a first-order formula is true over a given structure representing the input to the problem. One should not confuse this kind of problem with checking if a quantified boolean formula is true, which is the definition of QBF, which is PSPACE-complete. The difference between those two problems is that in QBF the size of the problem is the size of the formula and elements are just boolean values, whereas in FO the size of the problem is the size of the structure and the formula is fixed.
This is similar to Parameterized complexity but the size of the formula is not a fixed parameter.
Normal form
Disregarding empty structures, every formula is equivalent to a formula in prenex normal form (where all quantifiers are written first, followed by a quantifier-free formula).
FO without any operators
In circuit complexity, FO(ARB) where ARB is the set of all predicates, the logic where we can use arbitrary predicates, can be shown to be equal to AC0, the first class in the AC hierarchy. Indeed, there is a natural translation from FO's symbols to nodes of circuits, with
FO(BIT) is the restriction of AC0 family of circuit constructible in alternating logarithmic time. FO(<) is the set of star-free languages.
Partial fixed point is PSPACE
FO(PFP,X) is the set of boolean queries definable in FO(X) where we add a partial fixed point operator.
Let k be an integer,
It has been proven that FO(PFP,BIT) is equal to PSPACE. This definition is equivalent to
Least Fixed Point is P
FO(LFP,X) is the set of boolean queries definable in FO(PFP,X) where the partial fixed point is limited to be monotone. That is, if the second order variable is P, then
We can guarantee monotonicity by restricting the formula φ to only contain positive occurrences of P (that is, occurrences preceded by an even number of negations). We can alternatively describe
Due to monotonicity, we only add vectors to the truth table of P, and since there are only
Transitive closure is NL
FO(TC,X) is the set of boolean queries definable in FO(X) with a transitive closure (TC) operator.
TC is defined this way: let k be a positive integer and
FO(TC,BIT) is equal to NL.
Deterministic transitive closure is L
FO(DTC,X) is defined as FO(TC,X) where the transitive closure operator is deterministic. This means that when we apply
We can suppose that
It has been shown that FO(DTC,BIT) is equal to L.
Normal form
Any formula with a fixed point (resp. transitive cosure) operator can without loss of generality be written with exactly one application of the operators applied to 0 (resp.
Iterating
We will define first-order with iteration,
In this section we will write
We can now define
Logic without arithmetical relations
Let the successor relation, succ, be a binary relation such that
Over first order logic, succ is strictly less expressive than <, which is less expressive than +, which is less expressive than bit. + and × are as expressive as bit.
Using successor to define bit
It is possible to define the plus and then the bit relations with a deterministic transitive closure.
This just means that when we query for bit 0 we check the parity, and go to (1,0) if a is odd (which is an accepting state), else we reject. If we check a bit
Hence it makes no sense to speak of operators with successor alone, without the other predicates.
Logics without successor
FO[LFP] and FO[PFP] are two logics without any predicates, apart from the equality predicates between variables and the letters predicates. They are equal respectively to relational-P and FO(PFP) is relational-PSPACE, the classes P and PSPACE over relational machines.
The Abiteboul-Vianu Theorem states that FO(LFP)=FO(PFP) if and only if FO(<,LFP)=FO(<,PFP), hence if and only if P=PSPACE. This result has been extended to other fixpoints. This shows that the order problem in first order is more a technical problem than a fundamental one.