Affiliation:
1. Institute of Computer Science, Polish Academy of Sciences, and Linköping University, Sweden, Warszawa, Poland
Abstract
We discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method that should be well known but is often neglected. Also, we show how to prove completeness and correctness in the presence of SLD-tree pruning, and point out that approximate specifications simplify specifications and proofs.
We compare the proof methods to declarative diagnosis (algorithmic debugging), showing that approximate specifications eliminate a major drawback of the latter. We argue that our proof methods reflect natural declarative thinking about programs, and that they can be used, formally or informally, in everyday programming.
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Mathematics,Logic,General Computer Science,Theoretical Computer Science
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. On Feasibility of Declarative Diagnosis;Electronic Proceedings in Theoretical Computer Science;2023-09-12
2. Detecting violations of access control and information flow policies in data flow diagrams;Journal of Systems and Software;2022-02
3. On Correctness of Normal Logic Programs;Logic-Based Program Synthesis and Transformation;2022
4. S-Semantics–an Example;Logic-Based Program Synthesis and Transformation;2022
5. On Correctness and Completeness of an n Queens Program;Theory and Practice of Logic Programming;2021-10-14