English
Related papers

Related papers: Proving Correctness and Completeness of Normal Pro…

200 papers

Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces…

Logic in Computer Science · Computer Science 2025-08-26 Włodzimierz Drabent

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…

Logic in Computer Science · Computer Science 2017-01-31 Włodzimierz Drabent

Program correctness (in imperative and functional programming) splits in logic programming into correctness and completeness. Completeness means that a program produces all the answers required by its specification. Little work has been…

Logic in Computer Science · Computer Science 2014-11-13 Wlodzimierz Drabent

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…

Logic in Computer Science · Computer Science 2017-05-15 Włodzimierz Drabent

We propose a modular method for proving termination of general logic programs (i.e., logic programs with negation). It is based on the notion of acceptable programs, but it allows us to prove termination in a truly modular way. We consider…

Logic in Computer Science · Computer Science 2025-06-18 Annalisa Bossi , Nicoletta Cocco , Sandro Etalle , Sabina Rossi

The programming language Prolog makes declarative programming possible, at least to a substantial extent. Programs may be written and reasoned about in terms of their declarative semantics. All the advantages of declarative programming are…

Logic in Computer Science · Computer Science 2023-08-31 Włodzimierz Drabent

We study transformational program logics for correctness and incorrectness that we extend to explicitly handle both termination and nontermination. We show that the logics are abstract interpretations of the right image transformer for a…

Logic in Computer Science · Computer Science 2023-11-27 Patrick Cousot

We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to…

Logic in Computer Science · Computer Science 2009-09-25 Jan-Georg Smaus , Patricia M. Hill , Andy King

It is well known that the resolution method (for propositional logic) is complete. However, completeness proofs found in the literature use an argument by contradiction showing that if a set of clauses is unsatisfiable, then it must have a…

Logic in Computer Science · Computer Science 2017-01-11 Jean Gallier

Completeness of a logic program means that the program produces all the answers required by its specification. The cut is an important construct of programming language Prolog. It prunes part of the search space, this may result in a loss…

Logic in Computer Science · Computer Science 2020-01-03 Włodzimierz Drabent

There are many different semantics for general logic programs (i.e. programs that use negation in the bodies of clauses). Most of these semantics are Turing complete (in a sense that can be made precise), implying that they are undecidable.…

Logic in Computer Science · Computer Science 2015-07-15 Levon Haykazyan

This paper describes a simpler way for programmers to reason about the correctness of their code. The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the…

Logic in Computer Science · Computer Science 2014-11-17 Lee Naish

There are two kinds of approaches for termination analysis of logic programs: "transformational" and "direct" ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a…

Logic in Computer Science · Computer Science 2008-09-01 P. Schneider-Kamp , J. Giesl , A. Serebrenik , R. Thiemann

We introduce a method of verifying termination of logic programs with respect to concrete queries (instead of abstract query patterns). A necessary and sufficient condition is established and an algorithm for automatic verification is…

Artificial Intelligence · Computer Science 2007-05-23 Yi-Dong Shen , Li-Yan Yuan , Jia-Huai You

Thom Fr\"uhwirth presented a short, elegant and efficient Prolog program for the n queens problem. However the program may be seen as rather tricky and one may not be convinced about its correctness. This paper explains the program in a…

Logic in Computer Science · Computer Science 2022-02-08 Włodzimierz Drabent

While there is a long tradition of reasoning about (non)termination in program analysis, specialized logics are typically needed to give different termination criteria. This includes partial correctness, where termination is not guaranteed,…

Logic in Computer Science · Computer Science 2025-06-24 James Li , Noam Zilberstein , Alexandra Silva

Thom Fr\"uhwirth presented a short, elegant and efficient Prolog program for the n queens problem. However the program may be seen as rather tricky and one may be not convinced about its correctness. This paper explains the program in a…

Logic in Computer Science · Computer Science 2020-07-21 Włodzimierz Drabent

This paper analyses the declarative readings of logic programming. Logic programming - and negation as failure - has no unique declarative reading. One common view is that logic programming is a logic for default reasoning, a sub-formalism…

Logic in Computer Science · Computer Science 2007-05-23 Marc Denecker

Termination of logic programs with negated body atoms (here called general logic programs) is an important topic. One reason is that many computational mechanisms used to process negated atoms, like Clark's negation as failure and Chan's…

Artificial Intelligence · Computer Science 2014-11-17 E. Marchiori

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

‹ Prev 1 2 3 10 Next ›