Spy Game: Verifying a Local Generic Solver in Iris

Abstract : We verify the partial correctness of a "local generic solver", that is, an on-demand, incremental, memoizing least fixed point computation algorithm. The verification is carried out in Iris, a modern breed of concurrent separation logic. The specification is simple: the solver computes the optimal least fixed point of a system of monotone equations. Although the solver relies on mutable internal state for memoization and for "spying", a form of dynamic dependency discovery, it is apparently pure: no side effects are mentioned in its specification. As auxiliary contributions, we provide several illustrations of the use of prophecy variables, a novel feature of Iris; we establish a restricted form of the infinitary conjunction rule; and we provide a specification and proof of Longley's modulus function, an archetypical example of spying.
Complete list of metadatas

Cited literature [32 references]  Display  Hide  Download

Contributor : Jacques-Henri Jourdan <>
Submitted on : Wednesday, November 6, 2019 - 3:10:54 PM
Last modification on : Saturday, November 9, 2019 - 1:40:42 AM


Files produced by the author(s)




Paulo de Vilhena, François Pottier, Jacques-Henri Jourdan. Spy Game: Verifying a Local Generic Solver in Iris. POPL, Jan 2020, New Orleans, United States. ⟨10.1145/3371101⟩. ⟨hal-02351562⟩



Record views


Files downloads