"Declarative" programming languages describe a "problem" but they usually do not say how the problem should be solved. The problem description uses logic, and "solving" the problem often looks like automatically proving a system of logical axioms. Examples for such programming languages are Prolog, XSLT, LISP and SQL.