Graduate Texts in Mathematics: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
 
Line 1: Line 1:
== . Timberland Boots ==
{{Expert-subject|Computing|talk=Copy edit not needed|date=January 2012}}


If you check Debbie Ash's credentials I believe they speak for themselves. I'm a very happy client and a professional within the horse industry.. "Anyone can do it," says Sweeney's trainer, Stevie Sant'Angelo, who designed this fast allover firmup just for FITNESS using just a couch along with a single resistance band. "You'll get your sweat on and tone all of the top trouble zones by yourself schedule." Do 15 reps of every move [http://www.bridgeaustralia.org/webalizer/images/congress.asp?t=88-Timberland-Boots Timberland Boots] then repeat the circuit twice. <br><br>The typeface/font is Eurostile, so you'll have to get that for it to appear right, or it will attempt to replace the fonts and mess everything up. Also I may need to know what version of photoshop you use if it's lower than CS4, so that I can [http://www.thornleighsports.org.au/wp-content/plugins/akismet/config.php?f=97-Tiffany-And-Co-Bracelet-Silver Tiffany And Co Bracelet Silver] save down to that version.. <br><br>Taking a look at their site and the blogs who have sign up, it appears the technology blogs are the most prevelant, and for good reason. I'm certain technology companies may be the first to make use of this [http://www.dblandscape.com.au/img/country/berwick/talbot.asp?f=63-Buy-Roshe-Runs-Online Buy Roshe Runs Online] service. "Their articles must be informative, professional and articulate. The experts themselves are established in their field of expertise, having either written a magazine or developed products/services around their topic. <br><br>Terranova, Dr. Elizabeth Davis, and Dr. Belongs to the ubiquitinconjugating enzyme family. Note: This description can include information from UniProtKB.. The 49ers already have starters at that position in Justin Smith and Ray McDonald. While Carradine, Richardson or any other end would pay dividends right away in terms of depth, would it make sense for the 49ers to move up that far to select a player who won attempt for another year or two?. <br><br>Iodine [http://www.trustfornature.org.au/Shared/Tasks/Favicon.asp?id=63-Nike-Free-Run-2-Mens Nike Free Run 2 Mens] is vital for good thyroid function, which in turn is essential for health. Iodine deficiency during pregnancy and early infancy can result in cretinism (irreversible mental retardation and severe motor impairments). I am not sure how to interpret them yet. At this juncture, we don have enough information.. <br><br>So, we don hate anglophones, we just want to protect our language anyone in our position and to protect the west to, because we don have a similar ancestors and the government doesn get that yet. But don worry if you are a good person we love you and also we also love Canada (less with Harper, but well) and that i proud to be canadian (with no Queen)I live in Qubec. <br><br>Vaccaro is the best safety in the draft and it is ready to step in and start immediately. Free safety is the only position where the 49ers don have an undisputed starter.. "Lots of organisms process detritus. Mosquitoes aren't the only ones involved or the most important," says Juliano.<ul>
In [[descriptive complexity]], a branch of [[Computational complexity]] ''FO'' is a [[complexity class]] of structures which can be recognized by formulas of [[first-order logic]]. It is the foundation of the field of [[descriptive complexity]] and is equal to the complexity class [[AC0|AC<sup>0</sup>]]. Descriptive complexity uses [[First-order logic]] formalism, but does not use most of the usual notion associated to logic as proof theory or axiomatization.
 
 
  <li>[http://forums.iscool.co.il/ronson/default.aspx?g=posts&t=142383 http://forums.iscool.co.il/ronson/default.aspx?g=posts&t=142383]</li>
When the predicates are restricted to a set ''X'', ''FO[X]'' correspond to some other class, and there exists specific sets ''X'' such ''FO[X]'' has some interesting properties. In particular, ''FO[<]'' is equal to the set of [[Star-free language]]s. Having two different definition, in term of logic and in term of regular expression, is a hint showing that this class may have some mathematical interest, and that we may use together methods for both domain to do proofs.
 
 
  <li>[http://www.snesup-paris13.org/spip.php?article16/ http://www.snesup-paris13.org/spip.php?article16/]</li>
Similarly, various extensions of FO, formed by the addition of certain operators, give rise to other well-known complexity classes,<ref>N. Immerman ''Descriptive complexity'' (1999 Springer)</ref> allowing the complexity of some problems to be proven without having to look at them as [[algorithm]] problem.
 
 
  <li>[http://scrapbookkits.whateverproduct.com/node/2#comment-45189141 http://scrapbookkits.whateverproduct.com/node/2#comment-45189141]</li>
== Definition and examples ==
 
 
  <li>[http://www.ficoin.com/thread-121798-1-1.html http://www.ficoin.com/thread-121798-1-1.html]</li>
=== 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) the elements of which are positions of the string, or a graph of which the elements are vertices. The length of the input will be measured by the size of the respective structure.
</ul>
Whatever the structure is, we can assume that there are relations that can be tested, for example "<math>E(x,y)</math> is true [[iff]] there is an edge from <math>x</math> to <math>y</math>" (in case of the structure being a graph), or "<math>P(n)</math> is true [[iff]] the <math>n</math>th letter of the string is 1." These relations are the predicates for the first-order logic system. We also have constants, which are special elements of the respective structure, for example if we want to check reachability in a graph, we will have to choose two constants s (start) and t (terminal).
 
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 <math>x</math> represents the number <math>n</math> iff there are <math>(n-1)</math> elements <math>y</math> with <math>y<x</math>. Thanks to this we also may have the primitive predicate "bit", where <math>bit(x,k)</math> is true if only the <math>k</math>th bit of <math>x</math> is 1. (We can replace addition and multiplication by ternary relations such that <math>plus(x,y,z)</math> is true iff <math>x+y=z</math> and <math>times(x,y,z)</math> is true iff <math>x*y=z</math>).
 
=== Formally ===
Let ''X'' be a set of predicate. The language ''FO[X]'' is  defined as the closure by conjunction ( <math>\wedge</math>), negation (<math>\neg</math>) and universal quantification (<math>\forall</math>) over elements of the structures. We also often use existential quantification (<math>\exists</math>) and disjunction (<math>\vee</math>) but those can be defined by means of the first 3 symbols. The base case being the predicates of ''X'' applied to some variables. We always implicitely have a predicate <math>P_a(x)</math> for each letter <math>a</math> of our alphabet, stating that the letter at position <math>x</math> is an <math>a</math>.
 
The semantics of the formulae in FO is straightforward, <math>\neg A</math> is true iff <math>A</math> is false, <math>A\wedge B</math> is true iff <math>A</math> is true and <math>B</math> is true, and <math>\forall x P(x) </math> is true iff <math>P(v)</math> is true for all values <math>v</math> that <math>x</math> may take in the underlying universe. For ''P'' a ''c''-ary predicate, <math>P(x_1,\dots, x_c)</math> is true if and only if when <math>x_i</math> is interpreted as <math>n_i</math> <math>P(n_1,\dots, n_c)</math> is true.
 
== Property ==
 
=== 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 [[Quantified Boolean formula problem|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 ===
Every formula is equivalent to a formula in [[prenex normal form]] (where all quantifiers are written first, followed a quantifier-free formula).
 
== Operators ==
 
=== FO without any operators ===
 
In [[circuit complexity]], ''FO(ARB)'' where ''ARB'' is the set of every predicates, the logic where we can use arbitrary predicates, can be shown to be equal to [[AC0|AC<sup>0</sup>]], the first class in the [[AC (complexity)|AC]] hierarchy. Indeed, there is a natural translation from FO's symbols to nodes of circuits, with <math>\forall, \exists</math> being <math>\land</math> and <math>\lor</math> of size <math>n</math>.
 
''FO(BIT)'' is the restriction of AC<sup>0</sup> family of circuit constructible in [[LH (complexity)|alternative logarithmic time]].
''FO(<)'' is the set of [[Star-free language]]s.
 
=== 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 <math>k</math> be an integer, <math>x, y</math> be vectors of <math>k</math> variables, <math>P</math> be a second-order variable of arity <math>k</math>, and <math>\phi</math> be a FO(PFP,X) function using <math>x</math> and <math>P</math> as variables. We can iteratively define <math>(P_i)_{i\in N}</math> such that <math>P_0(x)=false</math> and <math>P_i(x)=\phi(P_{i-1},x)</math> (meaning <math>\phi</math> with <math>P_{i-1}</math> substituted for the second-order variable <math>P</math>). Then, either there is a fixed point, or the list of <math>(P_i)</math>s is cyclic.
 
PFP<math>(\phi_{P,x})(y)</math> is defined as the value of the fixed point of <math>(P_i)</math> on <math>y</math> if there is a fixed point, else as false. Since <math>P</math>s are properties of arity <math>k</math>, there are at most <math>2^{n^k}</math> values for the <math>P_i</math>s, so with a polynomial-space counter we can check if there is a loop or not.
 
It has been proven that FO(PFP,BIT) is equal to [[PSPACE]]. This definition is equivalent to FO(<math>2^{n^{O(1)}}</math>).
 
=== 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 <math>P</math>, then <math>P_i(x)</math> always implies <math>P_{i+1}(x)</math>.
 
We can guarantee monotonicity by restricting the formula <math>\phi</math> to only contain positive occurrences of <math>P</math> (that is, occurrences preceded by an even number of negations). We can alternatively describe LFP(<math>\phi_{P,x}</math>) as PFP(<math>\psi_{P,x}</math>) where <math>\psi(P,x)=\phi(P,x)\vee P(x)</math>.
 
Due to monotonicity, we only add vectors to the truth table of <math>P</math>, and since there are only <math>n^k</math> possible vectors we will always find a fixed point before <math>n^k</math> iterations. Hence it can be shown that FO(LFP,BIT)=[[P (complexity)|P]]. This definition is equivalent to FO(<math>n^{O(1)}</math>).
 
=== 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 <math>k</math> be a positive integer and <math>u,v,x,y</math> be vector of <math>k</math> variables. Then TC<math>(\phi_{u,v})(x,y)</math> is true if there exist <math>n</math> vectors of variables <math>(z_i)</math> such that <math>z_1=x, z_n=y</math>, and for all <math>i<n</math>, <math>\phi(z_i,z_{i+1})</math> is true. Here, <math>\phi</math> is a formula written in FO(TC) and <math>\phi(x,y)</math> means that the variables <math>u</math> and <math>v</math> are replaced by <math>x</math> and <math>y</math>.
 
FO(TC,BIT) is equal to [[NL (complexity)|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 DTC(<math>\phi_{u,v}</math>), we know that for all <math>u</math>, there exists at most one <math>v</math> such that <math>\phi(u,v)</math>.
 
We can suppose that DTC(<math>\phi_{u,v}</math>) is [[syntactic sugar]] for TC(<math>\psi_{u,v}</math>) where <math>\psi(u,v)=\phi(u,v)\wedge \forall x, (x=v \vee \neg \psi(u,x))</math>.
 
It has been shown that FO(DTC,BIT) is equal to [[L (complexity)|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. <math>0,(n-1)</math>)
 
== Iterating ==
 
We will define first-order with iteration, ''''FO[<math>t(n)</math>]''''; here <math>t(n)</math> is a (class of) functions from integers to integers, and for different classes of functions <math>t(n)</math> we will obtain different complexity classes FO[<math>t(n)</math>].
 
In this section we will write  <math>(\forall x P) Q</math> to mean <math>(\forall x (P\Rightarrow Q))</math> and <math>(\exists x P) Q</math> to mean <math>(\exists x (P \vee Q))</math>. We first need to define quantifier blocks (QB), a quantifier block is a list <math>(Q_1 x_1, phi_1)...(Q_k x_k, phi_k)</math> where the <math>phi_i</math>s are quantifier-free [[#Complexity_Zoo:F#FO|FO]]-formulae and <math>Q_i</math>s are either <math>\forall</math> or <math>\exists</math>.
If <math>Q</math> is a quantifiers block then we will call <math>[Q]^{t(n)}</math> the iteration operator, which is defined as <math>Q</math> written <math>t(n)</math> time. One should pay attention that here there are <math>k*t(n)</math> quantifiers in the list, but only <math>k</math> variables and each of those variable are used <math>t(n)</math> times.
 
We can now define FO[<math>t(n)</math>] to be the FO-formulae with an iteration operator whose exponent is in the class <math>t(n)</math>, and we obtain those equalities:
*FO[<math>(\log n)^i</math>] is equal to FO-uniform [[AC (complexity)|AC<sup>i</sup>]], and in fact FO[<math>t(n)</math>] is FO-uniform AC of depth <math>t(n)</math>.
*FO[<math>(\log n)^{O(1)}</math>] is equal to [[#NC_(complexity)|NC]].
*FO[<math>n^{O(1)}</math>] is equal to [[P (complexity)|PTIME]], it is also another way to write |FO(LFP).
*FO[<math>2^{n^{O(1)}}</math>] is equal to [[PSPACE]], it is also another way to write [[#Complexity_Zoo:F#fopfp|FO(PFP)]].
 
==Logic without arithmetical relations==
Let the successor relation, ''succ'', be a binary relation such that <math>\rm{succ}(x,y)</math> is true if and only if <math>x+1=y</math>.
 
Over first order logic, ''succ'' is strictly less expressive than <, which is less expressive than +, which is less expressive than ''bit''. + and <math>\times</math> 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.
 
<math>\rm{plus}(a,b,c)=(\rm{DTC}_{v,x,y,z} \rm{succ}(v,y) \land
\rm{succ}(z,x)) (a,b,c,0)</math> and
 
<math>\rm{bit}(a,b)=(\rm{DTC}_{a,b,a',b'}\psi)(a,b,1,0)</math> with
 
<math>\psi=\text{if } b=0 \text{ then }
(\text{if } \exists m(a=m+m+1) \text{ then }(a'=1\land b'=0)\text{ else }
\bot)\text{ else } (\rm{succ}(b',b) \land (a+a=a'\lor
a+a+1=a')</math>
 
This just means that when we query for bit 0 we check the parity, and go to (1,0) if <math>a</math> is odd(which is an accepting state), else we reject. If we check a bit <math>b>0</math>, we divide <math>a</math> by 2 and check bit <math>b-1</math>.
 
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]].<ref name="avv">Serge Abiteboul, [[Moshe Y. Vardi]], [[Victor Vianu]]: [http://portal.acm.org/citation.cfm?id=256295|Fixpoint logics, relational machines, and computational complexity] Journal of the ACM (JACM) archive, Volume 44 ,  Issue 1  (January 1997), Pages: 30-56, ISSN:0004-5411</ref>
 
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.<ref name="avv"/> This shows that the order problem in first order is more a technical problem than a fundamental one.
 
== References ==
* [[Ronald Fagin]], [http://www.almaden.ibm.com/cs/people/fagin/genspec.pdf Generalized First-Order Spectra and Polynomial-Time Recognizable Sets]. ''Complexity of Computation'', ed. R. Karp, SIAM-AMS Proceedings 7, pp.&nbsp;27&ndash;41. 1974.
* Ronald Fagin, [http://www.almaden.ibm.com/cs/people/fagin/tcs93.pdf  Finite model theory-a personal perspective]. Theoretical Computer Science 116, 1993, pp.&nbsp;3&ndash;31.
* Neil Immerman. [http://www.cs.umass.edu/~immerman/pub/capture.pdf Languages Which Capture Complexity Classes]. ''15th ACM STOC Symposium'', pp.&nbsp;347&ndash;354. 1983.
{{Reflist}}
 
== External links ==
* [http://www.cs.umass.edu/~immerman/descriptive_complexity.html Neil Immerman's descriptive complexity page], including a diagram
* [http://qwiki.stanford.edu/wiki/Complexity_Zoo:F#fo|Complexity zoo about FO], see the class under it also
 
{{DEFAULTSORT:Fo (Complexity)}}
[[Category:Descriptive complexity| ]]
[[Category:Finite model theory]]
[[Category:Complexity classes]]

Revision as of 07:55, 29 December 2013

Template:Expert-subject

In descriptive complexity, a branch of Computational complexity FO is a complexity class of structures which can be recognized by formulas of first-order logic. It is the foundation of the field of descriptive complexity and is equal to the complexity class AC0. Descriptive complexity uses First-order logic formalism, but does not use most of the usual notion associated to logic as proof theory or axiomatization.

When the predicates are restricted to a set X, FO[X] correspond to some other class, and there exists specific sets X such FO[X] has some interesting properties. In particular, FO[<] is equal to the set of Star-free languages. Having two different definition, in term of logic and in term of regular expression, is a hint showing that this class may have some mathematical interest, and that we may use together methods for both domain to do proofs.

Similarly, various extensions of FO, formed by the addition of certain operators, give rise to other well-known complexity classes,[1] allowing the complexity of some problems to be proven without having to look at them as algorithm problem.

Definition and examples

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) the elements of which are positions of the string, or a graph of which the elements are 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 "E(x,y) is true iff there is an edge from x to y" (in case of the structure being a graph), or "P(n) is true iff the nth letter of the string is 1." These relations are the predicates for the first-order logic system. We also have constants, which are special elements of the respective structure, for example if we want to check reachability in a graph, we will have to choose two constants s (start) and t (terminal).

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 (n1) elements y with y<x. Thanks to this we also may have the primitive predicate "bit", where bit(x,k) is true if only the kth bit of x is 1. (We can replace addition and multiplication by ternary relations such that plus(x,y,z) is true iff x+y=z and times(x,y,z) is true iff x*y=z).

Formally

Let X be a set of predicate. The language FO[X] is defined as the closure by conjunction ( ), negation (¬) and universal quantification () over elements of the structures. We also often use existential quantification () and disjunction () but those can be defined by means of the first 3 symbols. The base case being the predicates of X applied to some variables. We always implicitely have a predicate Pa(x) for each letter a of our alphabet, stating that the letter at position x is an a.

The semantics of the formulae in FO is straightforward, ¬A is true iff A is false, AB is true iff A is true and B is true, and xP(x) is true iff P(v) is true for all values v that x may take in the underlying universe. For P a c-ary predicate, P(x1,,xc) is true if and only if when xi is interpreted as ni P(n1,,nc) is true.

Property

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

Every formula is equivalent to a formula in prenex normal form (where all quantifiers are written first, followed a quantifier-free formula).

Operators

FO without any operators

In circuit complexity, FO(ARB) where ARB is the set of every 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 , being and of size n.

FO(BIT) is the restriction of AC0 family of circuit constructible in alternative 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, x,y be vectors of k variables, P be a second-order variable of arity k, and ϕ be a FO(PFP,X) function using x and P as variables. We can iteratively define (Pi)iN such that P0(x)=false and Pi(x)=ϕ(Pi1,x) (meaning ϕ with Pi1 substituted for the second-order variable P). Then, either there is a fixed point, or the list of (Pi)s is cyclic.

PFP(ϕP,x)(y) is defined as the value of the fixed point of (Pi) on y if there is a fixed point, else as false. Since Ps are properties of arity k, there are at most 2nk values for the Pis, so with a polynomial-space counter we can check if there is a loop or not.

It has been proven that FO(PFP,BIT) is equal to PSPACE. This definition is equivalent to FO(2nO(1)).

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 Pi(x) always implies Pi+1(x).

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 LFP(ϕP,x) as PFP(ψP,x) where ψ(P,x)=ϕ(P,x)P(x).

Due to monotonicity, we only add vectors to the truth table of P, and since there are only nk possible vectors we will always find a fixed point before nk iterations. Hence it can be shown that FO(LFP,BIT)=P. This definition is equivalent to FO(nO(1)).

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 u,v,x,y be vector of k variables. Then TC(ϕu,v)(x,y) is true if there exist n vectors of variables (zi) such that z1=x,zn=y, and for all i<n, ϕ(zi,zi+1) is true. Here, ϕ is a formula written in FO(TC) and ϕ(x,y) means that the variables u and v are replaced by x and y.

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 DTC(ϕu,v), we know that for all u, there exists at most one v such that ϕ(u,v).

We can suppose that DTC(ϕu,v) is syntactic sugar for TC(ψu,v) where ψ(u,v)=ϕ(u,v)x,(x=v¬ψ(u,x)).

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. 0,(n1))

Iterating

We will define first-order with iteration, 'FO[t(n)]'; here t(n) is a (class of) functions from integers to integers, and for different classes of functions t(n) we will obtain different complexity classes FO[t(n)].

In this section we will write (xP)Q to mean (x(PQ)) and (xP)Q to mean (x(PQ)). We first need to define quantifier blocks (QB), a quantifier block is a list (Q1x1,phi1)...(Qkxk,phik) where the phiis are quantifier-free FO-formulae and Qis are either or . If Q is a quantifiers block then we will call [Q]t(n) the iteration operator, which is defined as Q written t(n) time. One should pay attention that here there are k*t(n) quantifiers in the list, but only k variables and each of those variable are used t(n) times.

We can now define FO[t(n)] to be the FO-formulae with an iteration operator whose exponent is in the class t(n), and we obtain those equalities:

Logic without arithmetical relations

Let the successor relation, succ, be a binary relation such that succ(x,y) is true if and only if x+1=y.

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.

plus(a,b,c)=(DTCv,x,y,zsucc(v,y)succ(z,x))(a,b,c,0) and

bit(a,b)=(DTCa,b,a,bψ)(a,b,1,0) with

ψ=if b=0 then (if m(a=m+m+1) then (a=1b=0) else ) else (succ(b,b)(a+a=aa+a+1=a)

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 b>0, we divide a by 2 and check bit b1.

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.[2]

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.[2] This shows that the order problem in first order is more a technical problem than a fundamental one.

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

External links

  1. N. Immerman Descriptive complexity (1999 Springer)
  2. 2.0 2.1 Serge Abiteboul, Moshe Y. Vardi, Victor Vianu: logics, relational machines, and computational complexity Journal of the ACM (JACM) archive, Volume 44 , Issue 1 (January 1997), Pages: 30-56, ISSN:0004-5411