English
Related papers

Related papers: Verifying Termination of General Logic Programs wi…

200 papers

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

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

Many logic programming based approaches can be used to describe and solve combinatorial search problems. On the one hand there are definite programs and constraint logic programs that compute a solution as an answer substitution to a query…

Logic in Computer Science · Computer Science 2007-05-23 Nikolay Pelov , Emmanuel De Mot , Maurice Bruynooghe

This paper describes a technique for inferring temporal-logic properties for sets of finite data streams. Such data streams arise in many domains, including server logs, program testing, and financial and marketing data; temporal-logic…

Logic in Computer Science · Computer Science 2020-06-09 Samuel Huang , Rance Cleaveland

Program termination is a hot research topic in program analysis. The last few years have witnessed the development of termination analyzers for programming languages such as C and Java with remarkable precision and performance. These…

Programming Languages · Computer Science 2013-07-26 Roberto Bagnara , Fred Mesnard

Completion is a well-known transformation that captures the stable model semantics of logic programs by turning a program into a set of first-order definitions. Stable models are models of the completion, but not all models of the…

Logic in Computer Science · Computer Science 2025-04-22 Jan Heuer

A logic is presented for reasoning on iterated sequences of formulae over some given base language. The considered sequences, or "schemata", are defined inductively, on some algebraic structure (for instance the natural numbers, the lists,…

Logic in Computer Science · Computer Science 2012-04-16 Mnacho Echenim , Nicolas Peltier

The classical technique for proving termination of a generic sequential computer program involves the synthesis of a ranking function for each loop of the program. Linear ranking functions are particularly interesting because many…

Programming Languages · Computer Science 2012-04-03 Roberto Bagnara , Fred Mesnard , Andrea Pescetti , Enea Zaffanella

We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied with a termination checker. This checker tries to find a well-founded structural order on the parameters on the given…

Programming Languages · Computer Science 2024-07-11 Andreas Abel

Humans engage in informal debates on a daily basis. By expressing their opinions and ideas in an argumentative fashion, they are able to gain a deeper understanding of a given problem and in some cases, find the best possible course of…

Logic in Computer Science · Computer Science 2019-12-13 Ria Jha , Francesco Belardinelli , Francesca Toni

Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles…

Logic in Computer Science · Computer Science 2009-09-30 Alwen Tiu , Alberto Momigliano

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

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

We present realizability and realization logic, two program logics that jointly address the problem of finding solutions in semantics-guided synthesis. What is new is that we proceed eagerly and not only analyze a single candidate program…

Logic in Computer Science · Computer Science 2024-03-12 Roland Meyer , Jakob Tepe , Sebastian Wolff

Negation as failure and incomplete information in logic programs have been studied by many researchers In order to explains HOW a negated conclusion was reached, we introduce and proof a different way for negating facts to overcoming…

Artificial Intelligence · Computer Science 2013-03-06 M. A. El-Dosuky , T. T. Hamza , M. Z. Rashad , A. H. Naguib

Verifying whether a procedure is observationally pure is useful in many software engineering scenarios. An observationally pure procedure always returns the same value for the same argument, and thus mimics a mathematical function. The…

Software Engineering · Computer Science 2019-02-15 Himanshu Arora , Raghavan Komondoor , G. Ramalingam

Matching logic is a formalism for specifying, and reasoning about, mathematical structures, using patterns and pattern matching. Growing in popularity, it has been used to define many logical systems such as separation logic with recursive…

Logic in Computer Science · Computer Science 2022-09-22 Péter Bereczky , Xiaohong Chen , Dániel Horpácsi , Lucas Peña , Jan Tušil

Spatial aspects of computation are becoming increasingly relevant in Computer Science, especially in the field of collective adaptive systems and when dealing with systems distributed in physical space. Traditional formal verification…

Logic in Computer Science · Computer Science 2019-03-14 Vincenzo Ciancia , Diego Latella , Michele Loreti , Mieke Massink

This article presents liquid resource types, a technique for automatically verifying the resource consumption of functional programs. Existing resource analysis techniques trade automation for flexibility -- automated techniques are…

Programming Languages · Computer Science 2020-07-03 Tristan Knoth , Di Wang , Adam Reynolds , Jan Hoffmann , Nadia Polikarpova

This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle…

Logic in Computer Science · Computer Science 2025-09-01 Carsten Fuhs , Cynthia Kop , Naoki Nishida