Problem Solving With Prolog Today

In most languages, you tell the computer how to solve a problem (imperative). In Prolog, you describe what the problem is (declarative).

A sophisticated form of pattern matching that tries to make two expressions identical by assigning values to variables. Problem Solving with Prolog

Logical implications (e.g., grandparent(X, Z) :- parent(X, Y), parent(Y, Z). means X is a grandparent of Z if X is a parent of Y AND Y is a parent of Z). In most languages, you tell the computer how