Logic Programming
Definition
A programming and reasoning paradigm where programs are expressed as sets of logical clauses and computation proceeds by goal-directed proof search, typically using unification and backtracking to find derivations that satisfy goals.