Total Outcome Logic: Proving Termination and Nontermination in Programs with Branching

📅 2024-10-31
🏛️ arXiv.org
📈 Citations: 2
Influential: 0
📄 PDF
🤖 AI Summary
Termination analysis of programs has long relied on disparate, specialized logics, making it difficult to uniformly characterize termination, non-termination, and partial correctness—especially for nondeterministic and probabilistic programs. To address this, we propose the first unified program logic framework that simultaneously models and reasons about total correctness, partial correctness, and non-termination within a single formalism. Our logic extends Hoare logic by integrating incorrectness logic and semantics for nondeterminism and probability, and establishes a rigorous metatheory—including soundness and relative completeness. We validate its expressiveness and practicality through multiple case studies, demonstrating support for compositional verification across programming paradigms. The framework significantly enhances the generality, unification, and engineering applicability of termination analysis.

Technology Category

Application Category

📝 Abstract
While there is a long tradition of reasoning about termination (and nontermination) in the context of program analysis, specialized logics are typically needed to give different termination guarantees. This includes partial correctness, where termination is not guaranteed, and total correctness, where it is guaranteed. We present Total Outcome Logic, a single logic which can express the full spectrum of termination conditions and program properties offered by the aforementioned logics. Total Outcome Logic extends termination and incorrectness reasoning across different kinds of branching effects, so that a single metatheory powers this reasoning in different kinds of programs, including nondeterministic and probabilistic. We demonstrate the utility of this approach through a variety of case studies.
Problem

Research questions and friction points this paper is trying to address.

Unify reasoning for diverse program termination criteria
Extend logic to handle nondeterministic and probabilistic programs
Subsume multiple taxonomies of correctness logics
Innovation

Methods, ideas, or system contributions that make the work stand out.

Unified logic for diverse termination conditions
Extends reasoning across branching effects
Subsumes multiple correctness logics
🔎 Similar Papers
2024-01-09ACM Transactions on Programming Languages and SystemsCitations: 2