In Prolog, who developed the language in the early 1970s based upon the work of Robert Kowalski?
Alain Colmerauer.
The name ‘Prolog’ is an abbreviation for this French phrase.
PROgrammation en LOGique.
The first interpreter, implemented in ALGOL-W by Philippe Roussel, is retrospectively known by this name.
Prolog 0.
The initial motivation for Prolog was not general-purpose computing but the processing of natural language.
True or False
True
In 1965, J.A. Robinson introduced this complete method for proving theorems in first-order logic, which became a theoretical foundation for Prolog.
The Resolution Principle.
Alain Colmerauer insisted on a language that could handle infinite trees and symbolic manipulation.
True or False
True
In Prolog, Horn Clauses are restricted logical formulas of the form
A <- B1, B2, … Bn.
Who implemented the first Prolog interpreter and contributed to the decision to use depth-first search with backtracking?
Philippe Roussel.
This specific implementation of Prolog is the latest stable release that uses an open-source platform and introduces native GUI tools based on SDL3 and Cairo.
SWI-Prolog version 10.0.
Definite Clause Grammars (DCGs) were formally standardized in ISO/IEC TS 13211-3:2025 for what specific application?
Natural language processing.
Prolog II marked a theoretical expansion by replacing standard unification with equation solving over these structures.
Trees (specifically, infinite or rational trees).
This implementation of Prolog was the first compiler to generate machine code and established the standard “Edinburgh Syntax”.
DEC-10 Prolog.
SWI-Prolog maps Prolog threads to native Operating System threads, allowing it to utilize modern multi-core CPUs efficiently. True or False
True
Prolog relies on this primary mechanism for data manipulation, which attempts to make two terms identical rather than just setting a value.
Unification
Prolog is primarily classified as an imperative programming language because it executes instructions sequentially.
True or False
False
In Prolog, data is represented and handled through structures called terms.
True or False
True
This type of constant in Prolog represents specific objects or concepts, is immutable, and starts with a lowercase letter.
Atom
Prolog variables do not require explicit declaration or type definition before use. True or False
True
Create a statement in Prolog defining a fact that ‘jude’ is a ‘student’.
student(jude).
This built-in data type is built out of a functor followed by a sequence of arguments placed in ordinary brackets.
Complex terms (or structures).
Arrays are natively supported as a primitive data structure in Prolog.
True or False
False
Prolog possesses explicit type definitions such as typedef found in imperative languages like C or Java.
True or False
False
In Prolog, lists are represented as an ordered sequence of elements that are either empty [] or a structure composed of these two parts.
Head and Tail ([Head | Tail]).
Strings in SWI-Prolog are distinct text objects enclosed in double quotes and are not interned.
True or False
True