English
Related papers

Related papers: Certifying Higher-Order Polynomial Interpretations

200 papers

The problem of determining whether a probabilistic program terminates almost surely (i.e.~with probability one) is undecidable, and actually $\Pi^0_2$-complete. For this reason, a growing literature has explored classes of programs for…

Logic in Computer Science · Computer Science 2026-05-01 Ugo Dal Lago , Guido Fiorillo , Paolo Pistone

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

The Weighted Path Order of Yamada is a powerful technique for proving termination. It is also supported by CeTA, a certifier for checking untrusted termination proofs. To be more precise, CeTA contains a verified function that computes for…

Logic in Computer Science · Computer Science 2023-07-28 René Thiemann , Elias Wenninger

We present a new modular proof method of termination for second-order computation, and report its implementation SOL. The proof method is useful for proving termination of higher-order foundational calculi. To establish the method, we use a…

Symbolic Computation · Computer Science 2023-06-22 Makoto Hamana

Term rewriting is a Turing complete model of computation. When taught to students of computer science, key properties of computation as well as techniques to analyze programs on an abstract level are conveyed. This paper gives a swift…

Logic in Computer Science · Computer Science 2020-03-02 Sarah Winkler , Aart Middeldorp

First-order applicative term rewriting systems provide a natural framework for modeling higher-order aspects. In earlier work we introduced an uncurrying transformation which is termination preserving and reflecting. In this paper we…

Logic in Computer Science · Computer Science 2011-02-21 Harald Zankl , Nao Hirokawa , Aart Middeldorp

The Size-Change Termination principle was first introduced to study the termination of first-order functional programs. In this work, we show that it can also be used to study the termination of higher-order rewriting in a system of…

Logic in Computer Science · Computer Science 2018-12-06 Frédéric Blanqui , Guillaume Genestier

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

`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

We model collapsible and ordered pushdown systems with term rewriting, by encoding higher-order stacks and multiple stacks into trees. We show a uniform inverse preservation of recognizability result for the resulting class of term…

Formal Languages and Automata Theory · Computer Science 2014-10-16 Lorenzo Clemente

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

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 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

Higher-order constructs enable more expressive and concise code by allowing procedures to be parameterized by other procedures. Assertions allow expressing partial program specifications, which can be verified either at compile time…

Programming Languages · Computer Science 2025-09-11 Marco Ciccalè , Daniel Jurjo-Rivas , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

In this paper we deal with verification of safety properties of term-rewriting systems. The verification problem is translated to a purely logical problem of finding a finite countermodel for a first-order formula, which further resolved by…

Logic in Computer Science · Computer Science 2011-07-05 Alexei Lisitsa

Compiler correctness proofs for higher-order concurrent languages are difficult: they involve establishing a termination-preserving refinement between a concurrent high-level source language and an implementation that uses low-level shared…

Programming Languages · Computer Science 2017-01-23 Joseph Tassarotti , Ralf Jung , Robert Harper

This paper explores the idea of using defunctionalization as a proof technique for higher-order programs. Defunctionalization builds on substituting functional values by a first-order representation. Thus, its interest is that one can use…

Logic in Computer Science · Computer Science 2019-05-22 Mário Pereira

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

The higher-dimensional modal mu-calculus is an extension of the mu-calculus in which formulas are interpreted in tuples of states of a labeled transition system. Every property that can be expressed in this logic can be checked in…

Logic in Computer Science · Computer Science 2012-02-17 Martin Lange , Etienne Lozes

Recently, there has been an increasing interest in the bottom-up evaluation of the semantics of logic programs with complex terms. The presence of function symbols in the program may render the ground instantiation infinite, and finiteness…

Logic in Computer Science · Computer Science 2015-10-07 Marco Calautti , Sergio Greco , Francesca Spezzano , Irina Trubitsyna