Prolog is a programming language, based on logic programming. Its computation model is over-simple (shown below):

Prolog_Computation_ModelFIGURE 56 (page 278).

A Prolog program consists of terms, which are evaluated either as vars, atoms or compound structures (cmp). The latter can contain goals, which are queries to substructures with their head and possible body. When a goal is evaluated using a query, its result is used as a substition for the current instance. It can be assigned to a variable, if there is any in the position in the expression. Subterms of the term are recursively evaluated. After lower level computations, the result is transferred upwards to replace the term by its value.

Atomistic computation model

Because Prolog’s computation model only contains one structure type to be evaluated, it is ideal to be used in the atomistic model to simulate source code.

The atomistic model contains symbols and links between symbols. Both of them has the form clause in the Symbolic language.

Obs. Definition for each type in the Symbolic language is the same, clause. Hence,  in order to evaluatesub-symbolic semantics between symbols, only evaluating one term, clause, is needed. It makes generating explanations based on the atomistic model rather simple.

Advertisements