In most languages, you tell the computer how to solve a problem (imperative). In Prolog, you describe what the problem is (declarative).
Basic truths about your world (e.g., parent(bob, alice). means Bob is a parent of Alice).
Prolog is famous for solving complex logical puzzles with very little code:
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).
Questions you ask the system (e.g., ?- grandparent(bob, Who). ). 2. How Prolog "Thinks" Prolog solves problems using two primary mechanisms: