Logic programming Desired result is declared as the answer to a question about a system of facts and rules