Prolog is a programming language that uses first order logic.
The relationship between these two semantics is an important topic in higher order logic.
Not all natural language constructs admit a uniform translation to first order logic.
First order logic is expressed in some formal language.
Much of work during that time was on first order logic and model theory.
Its theory of computation is based on first order logic.
Its expressive power is equivalent to that of full second order logic.
It is essentially another proof assistant for classical higher order logic.
Like the other members, it is a proof assistant for classical higher order logic.
Additional limitations of second order logic are described in the next section.