Journal of Logic Programming
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Inductive assertion method for logic programs
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Logic programming: systematic program development
Logic programming: systematic program development
Handbook of theoretical computer science (vol. B)
Proof methods of declarative properties of definite programs
Theoretical Computer Science
A grammatical view of logic programming
A grammatical view of logic programming
Declarative programming in Prolog
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
What is failure?: an approach to constructive negation
Acta Informatica
From logic programs to inductive definitions
Logic: from foundations to applications
From logic programming to Prolog
From logic programming to Prolog
Proving concurrent constraint programs correct
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of the ACM (JACM)
It is declarative on reasoning about logic programs
Proceedings of the 1999 international conference on Logic programming
From Logic to Logic Programming
From Logic to Logic Programming
Proving Correctness and Completeness of Normal Programs - A Declarative Approach
Proceedings of the 17th International Conference on Logic Programming
Formal Verification of Logic Programs: Foundations and Implementation
LFCS '97 Proceedings of the 4th International Symposium on Logical Foundations of Computer Science
Verifying Correctness of Logic Programs
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
Proving Correctness and Completeness of Normal Programs - A Declarative Approach
Proceedings of the 17th International Conference on Logic Programming
Proving correctness and completeness of normal programs – a declarative approach
Theory and Practice of Logic Programming
A three-valued semantics for logic programmers
Theory and Practice of Logic Programming
Hi-index | 0.00 |
We advocate a declarative approach to proving properties of logic programs. Total correctness can be separated into correctness, completeness and clean termination; the latter includes non-floundering. Only clean termination depends on the operational semantics, in particular on the selection rule. We show how to deal with correctness and completeness in a declarative way, treating programs only from the logical point of view. Specifications used in this approach are interpretations (or theories). We point out that specifications for correctness may differ from those for completeness, as usually there are answers which are neither considered erroneous nor required to be computed.We present proof methods for correctness and completeness for definite programs and generalize them to normal programs. The considered semantics of normal programs is the standard one, given by the program completion in 3-valued logic.The method of proving correctness of definite programs is not new and can be traced back to the work of Clark in 1979. However a more complicated approach using operational semantics was proposed by some authors. We show that it is not stronger than the declarative one, as far as properties of program answers are concerned.