🤖 AI Summary
This work addresses the fragmentation between reasoning logics for program properties and hyperproperties in formal verification. It proposes APPL, a Hoare-style program logic parameterized by abstract domains, which unifies Hoare logic, incorrectness logic, and hyper-Hoare logic within a single framework for the first time. Leveraging additive semantics over lattices and non-idempotent monoidal operators, APPL enables flexible abstract semantic modeling capable of expressing both collecting and hyper semantics. Built upon the theory of abstract interpretation, the system is sound and achieves relative completeness when the underlying abstract domain is sufficiently expressive. Moreover, when the abstract domain is complete with respect to the monoidal operator, relative completeness is restored, yielding an abstract deductive system grounded in the notion of best correct approximation.
📝 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.