HackerPapers

arXiv:1412.8739cs.LO

Correctness and completeness of logic programs

Włodzimierz Drabent

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

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 which 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 every-day programming.

arXiv comments
29 pages, 2 figures; with editorial modifications, small corrections and extensions. arXiv admin note: text overlap with arXiv:1411.3015. Overlaps explained in "Related Work" (p. 21)
Journal reference
ACM Transactions on Computational Logic, 17, 3, Article 18 (May 2016)
DOI
doi:10.1145/2898434
Subjects
cs.LOLogic in Computer Science cs.PLProgramming Languages

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Sep 2016 to Sep 2016.

Comments linking this paper, per year.

Discussed in comments1 thread

    • I'm sorry I know nothing about core.logic. However, if you are familiar with Prolog, and sufficiently motivated to work through cited references, this paper is a good place to start. [1] [1] https://arxiv.org/abs/1412.8739

      throwaway000002View on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.