Abstract

In this paper we shall consider proof methods for declarative properties of definite programs, i.e. properties holding at the proof-tree roots. It is called the partial correctness of a logic program with respect to a specification. A specification consists of a logical formula associated with each predicate and establishing a relation between its arguments. A definite program is partially correct iff all possible answer substitutions satisfy the specification. This paper generalizes known results in logic programming in three ways: (i) it considers any kind of specification and any kind of domains of interpretation (in particular non-ground-extended Herbrand bases); (ii) its results can be applied to extensions of logic programming such as functions or constraints; (iii) a new proof method (the annotations method) is presented. It gives a unified framework for different kinds of known proof methods like the consequence verification method, the structural induction in definite clauses or the inductive proof of formulas. Two proof methods are presented and proved to be sound and complete. The first is adapted from attribute grammar to logic programming. It defines a specification stronger than the original one, which, furthermore, is inductive. Many aspects of the inductive specification method are investigated. The second method is a refinement of the first one: with every predicate, one associates a finite set of formulas (we call this an annotation), together with implications between formulas. The proofs become more modular and tractable, but the user has to verify the consistency of his proof, which is a decidable property. This method is particularly suitable for proving the validity of specifications which are not inductive. It has the same power as the first method, but it is designed to prove properties holding inside the proof trees.

Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.