A programming paradigm where rather than giving the computer an explicit sequence of instructions (also known as imperative programming
), a group of logical statements that hold about the problem being solved are given to the computer. The computer can then be queried about the falsity or truth of particular logical statements, and if the statement is true, under what conditions it is true.
Prolog is the canonical example of a logic programming language, but it's by no means the only one. Others include Mercury.