I gather than first order logic (FOL) is a mathematical creation. Prolog on the other hand is a logic programming language that closely resembles (implements?) FOL.
I am wondering in what way is Prolog's expressiveness, when interpreted in a non-executable manner (i.e. as logic statements), more limited if at all, than FOL? And if it is more limited, why where the limitations introduced.
Prolog includes predicates that also appear in predicate logic. The language you use writing a data base in Prolog is something like the language of FOL but a much weaker language because you can't use quantifiers. I am not an expert but maybe this answer is helpful.