Content area

Abstract

This paper presents an example of formal reasoning about the semantics of a Prolog program of practical importance (the SAT solver of Howe and King). The program is treated as a definite clause logic program with added control. The logic program is constructed by means of stepwise refinement, hand in hand with its correctness and completeness proofs. The proofs are declarative - they do not refer to any operational semantics. Each step of the logic program construction follows a systematic approach to constructing programs which are provably correct and complete. We also prove that correctness and completeness of the logic program is preserved in the final Prolog program. Additionally, we prove termination, occur-check freedom and non-floundering. Our example shows how dealing with "logic" and with "control" can be separated. Most of the proofs can be done at the "logic" level, abstracting from any operational semantics. The example employs approximate specifications; they are crucial in simplifying reasoning about logic programs. It also shows that the paradigm of semantics-preserving program transformations may be not sufficient. We suggest considering transformations which preserve correctness and completeness with respect to an approximate specification.

Details

1009240
Title
Logic + control: On program construction and verification
Publication title
arXiv.org; Ithaca
Publication year
2017
Publication date
May 12, 2017
Section
Computer Science
Publisher
Cornell University Library, arXiv.org
Source
arXiv.org
Place of publication
Ithaca
Country of publication
United States
University/institution
Cornell University Library arXiv.org
e-ISSN
2331-8422
Source type
Working Paper
Language of publication
English
Document type
Working Paper
Publication history
 
 
Online publication date
2017-05-15
Milestone dates
2011-10-22 (Submission v1); 2012-05-26 (Submission v2); 2015-12-30 (Submission v3); 2016-12-28 (Submission v4); 2017-01-13 (Submission v5); 2017-05-12 (Submission v6)
Publication history
 
 
   First posting date
15 May 2017
ProQuest document ID
2075501074
Document URL
https://www.proquest.com/working-papers/logic-control-on-program-construction/docview/2075501074/se-2?accountid=208611
Full text outside of ProQuest
Copyright
© 2017. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2023-10-09
Database
ProQuest One Academic