UPDATES IN A TEMPORAL LOGIC PROGRAMMING LANGUAGE
Files
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Starlog, a pure logic programming language including negation is
introduced. It is shown that this language is capable of directly
expressing the mutation and change of clauses within a database.
This is the problem traditionally solved in Prolog with the
semantically-unsatisfactory "assert" and "retract". The standard,
minimal-model semantics for normal logic programs is preserved in Starlog,
and no extensions are used beyond standard clausal logic. It is noted that
by extending stratification to a "temporal stratification" the completion
of such programs is guaranteed to be consistent. Some short, example
programs are described and used to illustrate an effective and efficient
bottom-up technique for executing the language based on connection graphs.
The execution technique solves the problems of matching generated results
against goals and of efficiently and correctly dealing with negations.