Outcome Logic: A Unified Approach to the Metatheory of Program Logics with Branching Effects

📅 2024-01-09
🏛️ ACM Transactions on Programming Languages and Systems
📈 Citations: 2
✨ Influential: 0
📄 PDF
🤖 AI Summary
This paper addresses the lack of a unified metatheoretic characterization for program logics handling multi-branching effects—such as nondeterminism and probabilism. We propose a novel program logic framework centered on algebraic choice structures. Methodologically, we are the first to embed algebraic effects modeling directly into the core of Hoare logic, integrating modal semantics with a relatively complete proof system that supports general loops and uniform reasoning across effect types (e.g., nondeterministic and probabilistic). Our main contributions are: (1) the first relatively complete proof system for Hoare logic strictly extending it to cover multiple branching effects; (2) a unified metatheoretic account of multi-result programs; and (3) formal support for cross-model reuse of proof fragments—enabling verification transfer between distinct semantic models (e.g., relational, probabilistic, or game-based interpretations).

Technology Category

Knowledge Representation and Reasoning: Logic ProgrammingReasoning under Uncertainty: Other Foundations of Reasoning under UncertaintyMachine Learning: Statistical Relational/Logic Learning

Application Category

Semantics and Knowledge: Methods, algorithms and applications for the development of semantic models, knowledge graphs and other forms of structured data models with machine-interpretable semanticsGraph Algorithms and Modeling for the Web: Algorithms and analysis for heterogeneous, signed, attributed, multi-relational, temporal, higher-order, and annotated Web-related graphsSecurity and Privacy: Data transparency and provenance
📝 Abstract
Starting with Hoare Logic over 50 years ago, numerous program logics have been devised to reason about the different kinds of programs encountered in the real world. This includes reasoning about computational effects, particularly those effects that cause the program execution to branch into multiple paths due to, e.g., nondeterministic or probabilistic choice. Outcome Logic reimagines Hoare Logic with branching at its core, using an algebraic representation of choice to capture programs that branch into many outcomes. In this article, we give a comprehensive account of the Outcome Logic metatheory. This includes a relatively complete proof system for Outcome Logic with the ability to reason about general purpose looping. We also show that this proof system applies to programs with various types of branching, that it subsumes some well known logics such as Hoare Logic, and that it facilitates the reuse of proof fragments across different kinds of specifications.
Problem

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

Unifies metatheory for program logics with branching effects
Expands Outcome Logic for comprehensive metatheoretical analysis
Enables reusable proofs across diverse branching specifications
Innovation

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

Algebraic representation of branching effects
Complete proof system for looping
Reusable proof fragments across specifications
🔎 Similar Papers