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/