TY - JOUR
T1 - Later credits
T2 - resourceful reasoning for the later modality
AU - Spies, Simon
AU - Gäher, Lennard
AU - Tassarotti, Joseph
AU - Jung, Ralf
AU - Krebbers, Robbert
AU - Birkedal, Lars
AU - Dreyer, Derek
N1 - Publisher Copyright:
© 2022 Owner/Author.
PY - 2022/8/29
Y1 - 2022/8/29
N2 - In the past two decades, step-indexed logical relations and separation logics have both come to play a major role in semantics and verification research. More recently, they have been married together in the form of step-indexed separation logics like VST, iCAP, and Iris, which provide powerful tools for (among other things) building semantic models of richly typed languages like Rust. In these logics, propositions are given semantics using a step-indexed model, and step-indexed reasoning is reflected into the logic through the so-called "later"modality. On the one hand, this modality provides an elegant, high-level account of step-indexed reasoning; on the other hand, when used in sufficiently sophisticated ways, it can become a nuisance, turning perfectly natural proof strategies into dead ends. In this work, we introduce later credits, a new technique for escaping later-modality quagmires. By leveraging the second ancestor of these logics - separation logic - later credits turn "the right to eliminate a later"into an ownable resource, which is subject to all the traditional modular reasoning principles of separation logic. We develop the theory of later credits in the context of Iris, and present several challenging examples of proofs and proof patterns which were previously not possible in Iris but are now possible due to later credits.
AB - In the past two decades, step-indexed logical relations and separation logics have both come to play a major role in semantics and verification research. More recently, they have been married together in the form of step-indexed separation logics like VST, iCAP, and Iris, which provide powerful tools for (among other things) building semantic models of richly typed languages like Rust. In these logics, propositions are given semantics using a step-indexed model, and step-indexed reasoning is reflected into the logic through the so-called "later"modality. On the one hand, this modality provides an elegant, high-level account of step-indexed reasoning; on the other hand, when used in sufficiently sophisticated ways, it can become a nuisance, turning perfectly natural proof strategies into dead ends. In this work, we introduce later credits, a new technique for escaping later-modality quagmires. By leveraging the second ancestor of these logics - separation logic - later credits turn "the right to eliminate a later"into an ownable resource, which is subject to all the traditional modular reasoning principles of separation logic. We develop the theory of later credits in the context of Iris, and present several challenging examples of proofs and proof patterns which were previously not possible in Iris but are now possible due to later credits.
KW - Iris
KW - Separation logic
KW - later modality
KW - step-indexing
KW - transfinite
UR - http://www.scopus.com/inward/record.url?scp=85139445587&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85139445587&partnerID=8YFLogxK
U2 - 10.1145/3547631
DO - 10.1145/3547631
M3 - Article
AN - SCOPUS:85139445587
SN - 2475-1421
VL - 6
JO - Proceedings of the ACM on Programming Languages
JF - Proceedings of the ACM on Programming Languages
IS - ICFP
M1 - 100
ER -