Atom 
The most fundamental element in Prolog made up of a string
of characters, numbers, and some special characters. 
Backtracking 
A control method used to search backwards for solutions. 
BackwardChaining 
A process used to find the solution by searching backwards
from the solution towards the initial conditions thus verifying the specified
goal. 
Binding 
The process of assigning a variable a value. 
Bound Variable 
A variable that has been assigned a value. 
Clauses 
Either a Prolog fact or rule. 
Cut 
An operator used to terminate backtracking in areas that
will not give useful solutions. 
Declarative Language 
A language that allows programming by defining the boundary
conditions and constraints and letting the computer determine a solution
that meets these requirements. 
Fact 
A statement about the relationship between objects. 
Fail 
A Prolog operator that causes backtracking to occur. 
Forwardchaining 
A process used to find the solution by starting with an
assumption and working toward a final goal. 
Functor 
Characterized by its name, which is an atom, and the arity
or number of arguements. 
Goal 
The solution that the Prolog program is trying to reach
or prove correct. 
List 
A collection of objects enclosed in square brackets such
as [a, b, c]. A list is made up of the head (or first element) and a tail
(the remainder of the list). 
MetaRule 
A rule that defines the roles of other rules. 
Predicate 
A function that returns either a true or false value. 
Predicate Calculus 
The extension of propositional calculus that enables the
use of variables. 
Procedural Language 
The traditional programming that is based on algorithms
or a logical stepbystep process for solving a problem. 
Proposition 
An expression about an object which can have either a true
or false value. 
Propositional Calculus 
The formal logic system used to define the true or false
values of objects. 
Recursion 

Rule 
A clause that defines the relationship or relationships
between facts and objects. 
Terms 
An object, compound object, variable, or list. 
Unification 
The pattern matching technique used by Prolog to match goals
and subgoals in a program. 
Variables 
A storage location with a name that can be assigned a value. 

For More Info on
The Prolog Programming Language 