A class of programming languages, and a subclass of the declarative languages, that is based on the use of logical formulas. The interpreter is usually some version of resolution, or another logical inference process. The ideal is that the programmer has only to make a series of true assertions about the problem and the interpreter will find a way to run these as a program to solve the problem. In practice, it is still necessary for the programmer to give regard to the procedural interpretation of these logical assertions. The most widely used realization of these ideals is the Prolog programming language.
Logic programming languages are important because of their declarative nature, their potential power and flexibility, and their suitability for execution on highly parallel architectures.