ProLog is a general-purpose logical programming and a declarative programming language. ProLog means PROgramming in LOGic. Prolog’s heritage includes the research on theorem provers and other automated deduction systems developed in the 1960s and 1970s. The inference mechanism of Prolog is based upon Robinson’s resolution principle (1965) together with mechanisms for extracting answers proposed by Green (1968). These ideas came together forcefully with the advent of linear resolution procedures. Explicit goal-directed linear resolution procedures, such as those of Kowalski and Kuehner (1971) and Kowalski (1974), gave impetus to the development of a general purpose logic programming system. The “first” Prolog was “Marseille Prolog” based on work by Colmerauer (1970). The first detailed description of the Prolog language was the manual for the Marseille Prolog interpreter (Roussel, 1975). The other major influence on the nature of this first Prolog was that it was designed to facilitate natural language processing.
Prolog was one of the first logic programming languages, and remains the most popular among such languages today, with several free and commercial implementations available. The language has been used for theorem proving, expert systems, term rewriting, type inference, and automated planning, as well as its original intended field of use, natural language processing. Modern Prolog environments support the creation of graphical user interfaces, as well as administrative and networked applications.
ProLog is the major example of a fourth generation programming language supporting the declarative programming paradigm. The Japanese Fifth-Generation Computer Project, announced in 1981, adopted Prolog as a development language, and thereby focused considerable attention on the language and its capabilities.
A ProLog program consists of:
- Declaration of the facts of the relations involved.
- Declaration of rules concerning relations
- Formulation of questions to be answered
What is ProLog?
Why Learn Prolog?
Why Prolog language is stated as a Procedural Language?
Write a sample program in prolog language?
Where you use + Operator in Prolog?
What is unification in Prolog?
What are some data types in prolog programming language?
What are the Applications of Prolog?
What is List Structures in Prolog?
What is recursion in prolog?
What is CLP? What are the important domains in CLP?
What are the advantages of CLP on Prolog in practical applications?
What is backtracking?
How is a subgoal satisfied?
What is Recursivity?
Why we use prolog programming language?
What is SWI-Prolog?
What is cut (!) in prolog and what is the advantage of ‘cut’ and ‘negation’?
What kind of SWI is prolog especially useful for writing?
What are the major examples of use of prolog in 'real life' applications?
What is the difference between bagof/3 and setof/3 predicate in prolog?
Will prolog withstand in competition with modern lp languages such as goedel?
What is a predicate in Prolog?