"A programmer who switches from a classical language to Prolog feels roughly like a school boy moving from arithmetic to the first elements of algebra.
He can name the entities he is looking for with variables,
he can establish relationships among them, and
without specifying more he can let the computer consider all possible cases and give him all the solutions."
Alain Colmerauer