English
Related papers

Related papers: Automated Termination Analysis for Logic Programs …

200 papers

Tabled logic programming is receiving increasing attention in the Logic Programming community. It avoids many of the shortcomings of SLD execution and provides a more flexible and often extremely efficient execution mechanism for logic…

Logic in Computer Science · Computer Science 2007-05-23 Sofie Verbaeten , Danny De Schreye , Konstantinos Sagonas

There are many techniques and tools to prove termination of C programs, but up to now these tools were not very powerful for fully automated termination proofs of programs whose termination depends on recursive data structures like lists.…

Logic in Computer Science · Computer Science 2023-06-06 Jera Hensel , Jürgen Giesl

This Survey provides an overview of techniques in termination analysis for programs with numerical variables and transitions defined by linear constraints. This subarea of program analysis is challenging due to the existence of undecidable…

Programming Languages · Computer Science 2026-01-27 Amir M. Ben-Amram , Samir Genaim , Joël Ouaknine , James Worrell

This paper focuses on the inference of modes for which a logic program is guaranteed to terminate. This generalises traditional termination analysis where an analyser tries to verify termination for a specified mode. Our contribution is a…

Programming Languages · Computer Science 2007-05-23 Samir Genaim , Michael Codish

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

Termination is a major question in both logic and computer science. In logic, termination is at the heart of proof theory where it is usually called strong normalization (of cut elimination). In computer science, termination has always been…

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui , Jean-Pierre Jouannaud , Albert Rubio

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems,…

Software Engineering · Computer Science 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

The termination problem of a logic program can be addressed in either a static or a dynamic way. A static approach performs termination analysis at compile time, while a dynamic approach characterizes and tests termination of a logic…

Logic in Computer Science · Computer Science 2007-05-23 Yi-Dong Shen , Danny De Schreye

Automated analysis of recursive derivations in logic programming is known to be a hard problem. Both termination and non-termination are undecidable problems in Turing-complete languages. However, some declarative languages offer a…

Programming Languages · Computer Science 2016-08-22 E. Komendantskaya , P. Johann , M. Schmidt

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…

Logic in Computer Science · Computer Science 2011-10-25 W. Drabent , M. Milkowska

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

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-right one of Prolog.…

Logic in Computer Science · Computer Science 2007-05-23 Annalisa Bossi , Sandro Etalle , Sabina Rossi , Jan-Georg Smaus

As real logic programmers normally use cut (!), an effective learning procedure for logic programs should be able to deal with it. Because the cut predicate has only a procedural meaning, clauses containing cut cannot be learned using an…

Artificial Intelligence · Computer Science 2008-02-03 F. Bergadano , D. Gunetti , U. Trinchero

The semantics of the Prolog ``cut'' construct is explored in the context of some desirable properties of logic programming systems, referred to as the witness properties. The witness properties concern the operational consistency of…

Programming Languages · Computer Science 2007-05-23 James H. Andrews

Logic can be made useful for programming and for databases independently of logic programming. To be useful in this way, logic has to provide a mechanism for the definition of new functions and new relations on the basis of those given in…

Logic in Computer Science · Computer Science 2014-12-30 M. H. van Emden

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

When working on intelligent tutor systems designed for mathematics education and its specificities, an interesting objective is to provide relevant help to the students by anticipating their next steps. This can only be done by knowing,…

Artificial Intelligence · Computer Science 2020-03-02 Ludovic Font , Sébastien Cyr , Philippe R. Richard , Michel Gagnon

Our goal is to study the feasibility of porting termination analysis techniques developed for one programming paradigm to another paradigm. In this paper, we show how to adapt termination analysis techniques based on polynomial…

Programming Languages · Computer Science 2009-12-23 Manh Thang Nguyen , Danny De Schreye , Jürgen Giesl , Peter Schneider-Kamp

Cut-elimination is the bedrock of proof theory with a multitude of applications from computational interpretations to proof analysis. It is also the starting point for important meta-theoretical investigations including decidability,…

Logic in Computer Science · Computer Science 2023-05-01 Agata Ciabattoni , Timo Lang , Revantha Ramanayake