Yesterday I passed the exam in Logic Programming: a very interesting declarative programming style based on the foundations of mathematical logic.

Take this as a short, very vague, introduction: logic programming works by defining some logic clauses in your program and then applying a resolution algorithm on a particular query (the logical clause you are trying to "prove" according to logic inference rules). The logic interpret will then determine whether your query is a logical consequence of the program or not, i. e. the query is satisfied and a valid result was found.

More...