English
Related papers

Related papers: Combining typing and size constraints for checking…

200 papers

`What more than its truth do we know if we have a proof of a theorem in a given formal system?' We examine Kreisel's question in the particular context of program termination proofs, with an eye to deriving complexity bounds on program…

Logic in Computer Science · Computer Science 2014-09-26 Sylvain Schmitz

In a previous paper, the sup-interpretation method was proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. Basically, a sup-interpretation provides an upper bound…

Computational Complexity · Computer Science 2007-05-23 Jean-Yves Marion , Romain Pechoux

In this paper, we show how to extend the notion of reducibility introduced by Girard for proving the termination of $\beta$-reduction in the polymorphic $\lambda$-calculus, to prove the termination of various kinds of rewrite relations on…

Logic in Computer Science · Computer Science 2015-09-03 Frédéric Blanqui

A fully-automated algorithm is developed able to show that evaluation of a given untyped lambda-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped…

Programming Languages · Computer Science 2015-07-01 Neil D. Jones , Nina Bohr

We present a unified deductive verification framework for first-order temporal properties based on well-founded rankings, where verification conditions are discharged using SMT solvers. To that end, we introduce a novel reduction from…

Logic in Computer Science · Computer Science 2026-01-21 Raz Lotan , Neta Elad , Oded Padon , Sharon Shoham

We present a Bounded Model Checking technique for higher-order programs. The vehicle of our study is a higher-order calculus with general references. Our technique is a symbolic state syntactical translation based on SMT solvers, adapted to…

Programming Languages · Computer Science 2018-04-06 Yu-Yang Lin , Nikos Tzevelekos

Type-and-effect systems are a widely-used approach to program verification, verifying the result of a computation using types, and the behavior using effects. This paper extends an effect system for verifying temporal, value-dependent…

Programming Languages · Computer Science 2022-07-22 Taro Sekiyama , Hiroshi Unno

A central computational task in database theory, finite model theory, and computer science at large is the evaluation of a first-order sentence on a finite structure. In the context of this task, the \emph{width} of a sentence, defined as…

Logic in Computer Science · Computer Science 2026-04-22 Hubie Chen , Stefan Mengel

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

We present a novel technique for proving program termination which introduces a new dimension of modularity. Existing techniques use the program to incrementally construct a termination proof. While the proof keeps changing, the program…

Logic in Computer Science · Computer Science 2015-05-26 Pierre Ganty , Samir Genaim

Supercompilation is a powerful program transformation technique with numerous interesting applications. Existing methods of supercompilation, however, are often very unpredictable with respect to the size of the resulting programs. We…

Programming Languages · Computer Science 2020-08-12 Dimitur Nikolaev Krustev

Supercompilation is a powerful program transformation technique with numerous interesting applications. Existing methods of supercompilation, however, are often very unpredictable with respect to the size of the resulting programs. We…

Programming Languages · Computer Science 2020-06-04 Dimitur Krustev

There are many evaluation strategies for term rewrite systems, but automatically proving termination or analyzing complexity is usually easiest for innermost rewriting. Several syntactic criteria exist when innermost termination implies…

Logic in Computer Science · Computer Science 2025-12-17 Jan-Christoph Kassing , Jürgen Giesl

We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic…

Programming Languages · Computer Science 2009-09-29 Francois Fages , Emmanuel Coquery

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

Formal verification techniques are widely used for detecting design flaws in software systems. Formal verification can be done by transforming an already implemented source code to a formal model and attempting to prove certain properties…

Software Engineering · Computer Science 2017-08-28 Gyula Sallai , Ákos Hajdu , Tamás Tóth , Zoltán Micskei

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

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given…

Programming Languages · Computer Science 2019-01-29 Tianhan Lu , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

It is widely acknowledged that function symbols are an important feature in answer set programming, as they make modeling easier, increase the expressive power, and allow us to deal with infinite domains. The main issue with their…

Artificial Intelligence · Computer Science 2020-02-19 Marco Calautti , Sergio Greco , Cristian Molinaro , Irina Trubitsyna