Abstract

We present a logic programming language which uses a four-valued bilattice as the underlying framework for semantics of programs. The two orderings of the bilattice reflect the concepts of truth and knowledge. The space of truth values includes not only true and false, but also other truth values which represent no information or conflicting information. Programs are interpreted according to their knowledge content, resulting in a monotonic semantic operator . We present a novel procedural semantics similar to resolution which can retrieve both negative and positive information about a particular goal in a uniform setting. We extend the bilattice-based fixpoint and procedural semantics to incorporate a version of Closed World Assumption. We give soundness and completeness results, with and without the presence of Closed World Assumption. These results are general and are not restricted to ground atomic goals. We further develop the concept of substitution unification and study some of its properties as related to the proposed procedural semantics. Some of these properties may be of independent interest, particularly in the implementation of parallel logic programs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call