HO (complexity)
High-order logic is an extension of first-order and second-order with high order quantifiers. In descriptive complexity we can see that it is equal to the ELEMENTARY functions.[1] There is a relation between the th order and non determinist algorithm the time of which is with level of exponentials.
Definitions and notations
We define high-order variable, a variable of order has got an arity and represent any set of -tuples of elements of order . They are usually written in upper-case and with a natural number as exponent to indicate the order. High order logic is the set of FO formulae where we add quantification over higher-order variables, hence we will use the terms defined in the FO article without defining them again.
HO is the set of formulae where variable's order are at most . HO is the subset of the formulae of the form where is a quantifier, means that is a tuple of variable of order with the same quantification. So it is the set of formulae with alternations of quantifiers of th order, beginning by and , followed by a formula of order .
Using the tetration's standard notation, and . with times
Property
Normal form
Every formula of th order is equivalent to a formula in prenex normal form, where we first write quantification over variable of th order and then a formula of order in normal form.
Relation to complexity classes
HO is equal to ELEMENTARY functions. To be more precise, , it means a tower of 2s, ending with where is a constant. A special case of it is that =HO=NTIME()=NP, which is exactly the Fagin's theorem. Using oracle machines in the polynomial hierarchy, HO=NTIME()
References
- ↑ Lauri Hella and José María Turull-Torres (2006), "Computing queries with higher-order logics", Theoretical Computer Science ((what is called "number" in bibtex) ed.) (Essex, UK: Elsevier Science Publishers Ltd.) 355 (2): 197–214, doi:10.1016/j.tcs.2006.01.009, ISSN 0304-3975