「‍」 Lingenic

Outcome Logic

(⤓.md ◇.md); γ ≜ [2026-07-17T120407.600, 2026-07-17T135416.643] ∧ |γ| = 3

Outcome Logic

Origin. Zilberstein and colleagues introduced Outcome Logic (2023). Unifies Hoare logic (over-approximate) and incorrectness logic (under-approximate). Both forward and backward reasoning. Hyperproperty reasoning about sets of traces. Modern framework for program verification.

Models. Unified verification framework. Hoare: all executions from P reach Q (over-approximate). Incorrectness: some execution reaches bad state (under-approximate). Outcome: relate input sets to output sets with both. Hyper-triples reason about trace sets.

Formalism.

Outcome triple: [P] C [Q, R]

Meaning: starting from states in P, executing C:

  • Q describes possible outcomes (over-approximate: must end in Q)
  • R describes definite outcomes (under-approximate: will end in R)

Special cases:

  • [P] C [Q, ∅]: pure over-approximation (Hoare-style)
  • [P] C [⊤, R]: pure under-approximation (incorrectness-style)

Hyper-triples: Relate sets of executions, not just individual states. Express information flow, non-interference.

Rules: Sequential composition: [P] C₁ [Q₁, R₁] [Q₁] C₂ [Q₂, R₂] ───────────────────────────────────── [P] C₁;C₂ [Q₂, R₁ ∧ R₂ appropriate]

Frame rule (extends): [P] C [Q, R] ───────────────────────── [P * F] C [Q * F, R * F]

Bi-abduction: Find frame and anti-frame simultaneously. Synthesize specifications.

Symbols.

SymbolUnicodeNameMeaning
[P]C[Q,R]Outcome tripleUnified spec
QOver-approxMust reach
RUnder-approxWill reach
*Separating conjDisjoint
—*Magic wandFrame
U+22A4TrueAny state

Metatheory. Generalizes both Hoare and incorrectness logic. Sound for appropriate semantics. Compositional reasoning preserved. Connects to hyper Hoare logic. Under development. Practical tools emerging.

Applies to. Program verification (unified). Bug finding with guarantees. Security (information flow). Compiler correctness. Compositional verification. Specification synthesis.

Limitations. Recent — less mature. Tool support developing. Specification burden. Complexity of hyper-reasoning. Learning both over and under approximation. Theory still evolving.

© 2026 Lingenic LLC