I'm currently in a theory of computing class and as such I have been looking up information about P vs NP and other complexity classes out of curiosity. In the process I cam across a blog post discussing a recent "proof" (it turned out to be wrong of course) of P not equal NP and in it they discussed the FO(LFP) complexity class.
Now I've understood all complexity classes so far, but even after reading to Wikipedia, and complexity zoo entries on FO and first order logic I still don't understand this complexity class at all. I have come to the understanding that FO is the set of all algorithms or problems (correct me if I'm wrong) that can be solved using first order logic which somehow avoids entering the realm of algorithmics. The problem is I don't understand what the first order part of first order logic means or how algorithms are represented as such.
Now Wikipedia simply defined it as being not higher order logic which was pretty vegue. I have a good understanding of boolean logic and some understanding of logic in general, but I have the feeling that due to all the special notation that is used in the explanations I read I am not seeing the forest for the trees. Can someone explain to me what property of first order logic makes it different from other kinds of logic and give an example of how this can represent an algorithm?