A Program Logic for Abstract (Hyper)Properties
Paolo Baldan, Roberto Bruni, Francesco Ranzato, Diletta Rigo
TL;DR
APPL offers a unified Hoare-style program logic parameterised by an abstract domain, unifying correctness, incorrectness, and hyperproperty reasoning within a single semantic framework built from a complete lattice, a join-basis, and an infinitary monoidal operator $\oplus$. The core insight is that the assertion language is itself a semantic abstraction, enabling best-correct-approximation derivations and relative completeness when sufficient expressivity is present. By instantiating APPL’s parameters, classical Hoare logic, interval Hoare logic, incorrectness logic, and Hyper Hoare Logic are recovered as concrete instances, while abstract logics APPL$_A$ and hyperproperty abstractions extend reasoning to abstract and hyperdomains. The framework also analyzes abstraction of hyperproperties via down-closed, pointwise, and interval-based constructions, showing soundness and completeness results under suitable algebraic conditions. Overall, APPL provides a principled, algebraic foundation for designing and combining abstractions in hyperproperty verification and static analysis.
Abstract
We introduce APPL (Abstract Program Property Logic), a unifying Hoare-style logic that subsumes standard Hoare logic, incorrectness logic, and several variants of Hyper Hoare logic. APPL provides a principled foundation for abstract program logics parameterised by an abstract domain, encompassing both existing and novel abstractions of properties and hyperproperties. The logic is grounded in a semantic framework where the meaning of commands is first defined on a lattice basis and then extended to the full lattice via additivity. Crucially, nondeterministic choice is interpreted by a monoidal operator that need not be idempotent nor coincide with the lattice join. This flexibility allows the framework to capture collecting semantics, various classes of abstract semantics, and hypersemantics. The APPL proof system is sound, and it is relatively complete whenever the property language is sufficiently expressive. When the property language is restricted to an abstract domain, the result is a sound abstract deduction system based on best correct approximations. Relative completeness with respect to a corresponding abstract semantics is recovered provided the abstract domain is complete, in the sense of abstract interpretation, for the monoidal operator.
