English
Related papers

Related papers: The Probabilistic Termination Tool Amber

200 papers

We present a tool that automates termination proofs for recursive definitions by mining existing termination theorems.

Logic in Computer Science · Computer Science 2018-10-16 Matt Kaufmann

We introduce a novel approach to the automated termination analysis of computer programs: we use neural networks to represent ranking functions. Ranking functions map program states to values that are bounded from below and decrease as a…

Machine Learning · Computer Science 2022-09-07 Mirco Giacobbe , Daniel Kroening , Julian Parsert

Probabilistic automata are an extension of nondeterministic finite automata in which transitions are annotated with probabilities. Despite its simplicity, this model is very expressive and many of the associated algorithmic questions are…

Formal Languages and Automata Theory · Computer Science 2022-05-20 Nathanaël Fijalkow , Cristian Riveros , James Worrell

This paper considers the computational hardness of computing expected outcomes and deciding almost-sure termination of probabilistic programs. We show that deciding almost-sure termination and deciding whether the expected outcome of a…

Logic in Computer Science · Computer Science 2014-10-28 Benjamin Lucien Kaminski , Joost-Pieter Katoen

We propose an automated method for proving termination of $\pi$-calculus processes, based on a reduction to termination of sequential programs: we translate a $\pi$-calculus process to a sequential program, so that the termination of the…

Programming Languages · Computer Science 2021-09-02 Tsubasa Shoshi , Takuma Ishikawa , Naoki Kobayashi , Ken Sakayori , Ryosuke Sato , Takeshi Tsukada

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

Extending our own and others' earlier approaches to reasoning about termination of probabilistic programs, we propose and prove a new rule for termination with probability one, also known as "almost-certain termination". The rule uses both…

Logic in Computer Science · Computer Science 2017-01-09 Annabelle McIver , Carroll Morgan

Naive approaches to amortized inference in probabilistic programs with unbounded loops can produce estimators with infinite variance. This is particularly true of importance sampling inference in programs that explicitly include rejection…

Many programs allow the user to input data several times during its execution. If the program runs forever the user may input data infinitely often. A program terminates if it terminates no matter what the user does. We discuss various ways…

Combinatorics · Mathematics 2014-11-04 William Gasarch

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

Probabilistic programming languages (PPLs) are powerful modelling tools which allow to formalise our knowledge about the world and reason about its inherent uncertainty. Inference methods used in PPL can be computationally costly due to…

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

We present necessary and sufficient conditions for the termination of linear homogeneous programs. We also develop a complete method to check termination for this class of programs. Our complete characterization of termination for such…

Programming Languages · Computer Science 2014-09-11 Rachid Rebiha , Arnaldo Vieira Moura , Nadir Matringe

For logic programs with arithmetic predicates, showing termination is not easy, since the usual order for the integers is not well-founded. A new method, easily incorporated in the TermiLog system for automatic termination analysis, is…

Programming Languages · Computer Science 2007-05-23 Nachum Dershowitz , Naomi Lindenstrauss , Yehoshua Sagiv , Alexander Serebrenik

Probabilistic pushdown automata (pPDA) are a natural operational model for a variety of recursive discrete stochastic processes. In this paper, we study certificates - succinct and easily verifiable proofs - for upper and lower bounds on…

Formal Languages and Automata Theory · Computer Science 2023-04-25 Tobias Winkler , Joost-Pieter Katoen

When analyzing probabilistic computations, a powerful approach is to first find a martingale---an expression on the program variables whose expectation remains invariant---and then apply the optional stopping theorem in order to infer…

Programming Languages · Computer Science 2018-03-16 Gilles Barthe , Thomas Espitau , Luis María Ferrer Fioriti , Justin Hsu

Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis are divided into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances…

Programming Languages · Computer Science 2021-09-16 Shaowei Zhu , Zachary Kincaid

This paper introduces and studies a new model of computation called an Alternating Automatic Register Machine (AARM). An AARM possesses the basic features of a conventional register machine and an alternating Turing machine, but can carry…

Computational Complexity · Computer Science 2022-08-18 Ziyuan Gao , Sanjay Jain , Zeyong Li , Ammar Fathin Sabili , Frank Stephan

The automation offered by modern program proof tools goes hand in hand with the capability to interact with the tool when the verification fails. The SPARK proof tool tries to help the user by providing the right information, so that the…

Logic in Computer Science · Computer Science 2021-08-09 Yannick Moy

Probabilistic programming has emerged as a powerful paradigm in statistics, applied science, and machine learning: by decoupling modelling from inference, it promises to allow modellers to directly reason about the processes generating…

Machine Learning · Statistics 2019-06-10 Maria I. Gorinova , Dave Moore , Matthew D. Hoffman