1. Total Outcome Logic: Proving Termination and Nontermination in Programs with Branching
- Author
-
Li, James, Zilberstein, Noam, and Silva, Alexandra
- Subjects
Computer Science - Logic in Computer Science - 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.
- Published
- 2024