Transforming normal logic programs to constraint logic programs (Q1200979)

From MaRDI portal
Revision as of 11:07, 17 May 2024 by ReferenceBot (talk | contribs) (‎Changed an Item)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
scientific article
Language Label Description Also known as
English
Transforming normal logic programs to constraint logic programs
scientific article

    Statements

    Transforming normal logic programs to constraint logic programs (English)
    0 references
    0 references
    0 references
    16 January 1993
    0 references
    A normal logic program \(P\) is transformed to another \(P^ \omega\) by a bottom-up computation on the positive component of \(P\) while the negative counterpart is left untouched. The declarative semantics of \(P\) is given by the completion of \(P^ \omega\). The completed predicate definitions in \(P^ \omega\), if they do not contain local variables, can be used as a basis for expanding each negated atom in the bodies of \(P^ \omega\). We show that for a class of programs where every negative subgoal can be expanded, the resultant program \(P'\) is a definite logic program with equality and disequality constraints. If the program falls outside this class, the resultant program may be executed using constructive negation. Our proposed scheme provides an effective sound and complete query- answering system for the well-founded models of a class of programs whose positive part has a finite \(P^ \omega\) and whose clauses satisfy the positive groundedness property defined herein.
    0 references
    constraint logic programs
    0 references
    program transformation
    0 references
    normal logic program
    0 references

    Identifiers