Prolog stands for
PROgramming in
LOGic. It is utilizes first order
predicate logic, and the general framework of use is to first build up a
knowledge base of
facts or
rules (for instance the rules of
grammar) and then form
logical statements that will be decided as either
true or
false based on the entered information.
Programs such as Prolog are also known as
Constraint Satisfaction Languages because you specify certain
constraints (such as "x must be a leader of a country, y must be a country that is part of the UN, etc") and the program will find all answers that
satisfy them.
Prolog has a variety of applications, including artificial intelligence, agents, quality control, and pattern analysis. For a good introduction and first course on Prolog, see Learn Prolog Now at http://www.coli.uni-sb.de/~kris/learn-prolog-now/