Hi Dan,
> I am trying to understand in what way Prolog / Horn clauses is/are
> more limited in expressiveness than First Order Logic (FOL). Is there
> something that can be expressed in FOL that can not be expressed in
> Prolog?
These are many questions, and the answer depends on which one picks and
how one interprets the terms "expressiveness" and "Prolog".
Prolog is a programming language with Horn logic as its philosophical
background, but going beyond it in expressiveness. E.g., you have
negation (as finite failure) which goes beyond Horn logic. Prolog is
Turing complete (=computationally universal), which means that it can
compute everything that can be computed by any other programming
language or computation model.
From the logical point of view (e.g. when interested in representing
knowledge) Horn logic is clearly less expressive than full first-order
logic. Consider e.g. the formula "A v B" (v ... disjunction, with A
and B atomic formulas). There is no Horn formula equivalent to it.
Best regards,
Gernot