![]() |
![]() |
Appel and McAllester's "step-indexed" logical relations have proven to be a simple and effective technique for reasoning about programs in languages with semantically interesting types, such as general recursive types and general reference types. However, proofs using step-indexed models typically involve tedious, error-prone, and proof-obscuring step-index arithmetic, so it is important to develop clean, high-level, equational proof principles that avoid mention of step indices. In this paper, we show how to reason about binary step-indexed logical relations in an abstract and elegant way. Specifically, we define a logic LSLR, which is inspired by Plotkin and Abadi's logic for parametricity, but also supports recursively defined relations by means of the modal "later" operator from Appel, Melliès, Richards, and Vouillon's "very modal model" paper. We encode in LSLR a logical relation for reasoning relationally about programs in call-by-value System F extended with general recursive types. Using this logical relation, we derive a set of useful rules with which we can prove contextual equivalence and approximation results without counting steps.
;Mathias Adam Møller
;Lars Birkedal
, 2025, Idempotent Resources in Separation Logic, Lecture notes in computer science, pp. 45-66, 10.1007/978-3-031-90897-2_3, https://doi.org/10.1007/978-3-031-90897-2_3.
;Robbert Krebbers
, 2025, Affect: An Affine Type and Effect System, Proceedings of the ACM on Programming Languages, 9, POPL, pp. 126-154, 10.1145/3704841, https://doi.org/10.1145/3704841.
;Dariusz Biernacki
;Piotr Polesiuk
, 2025, Untyped Logical Relations at Work: Control Operators, Contextual Equivalence and Full Abstraction, Proceedings of the Workshop Dedicated to Olivier Danvy on the Occasion of His 64th Birthday, pp. 128-141, 10.1145/3759427.3760374.
;Hiroshi Unno
, 2025, Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order Programs, Proceedings of the ACM on Programming Languages, 9, POPL, pp. 2306-2336, 10.1145/3704914, https://doi.org/10.1145/3704914.
;Robbert Krebbers
;Derek Dreyer
;Lars Birkedal
, 2024, A Logical Approach to Type Soundness, Journal of the ACM, 71, 6, pp. 1-75, 10.1145/3676954, https://doi.org/10.1145/3676954.
;Zachary Eisbach;Amal Ahmed
, 2024, Realistic Realizability: Specifying ABIs You Can Count On, Proceedings of the ACM on Programming Languages, 8, OOPSLA2, pp. 1249-1278, 10.1145/3689755, https://doi.org/10.1145/3689755.
;Sergei Stepanenko
;Jonathan Sterling
;Lars Birkedal
, 2024, The Essence of Generalized Algebraic Data Types, Proceedings of the ACM on Programming Languages, 8, POPL, pp. 695-723, 10.1145/3632866, https://doi.org/10.1145/3632866.
;Peter Thiemann
;Marius Weidner
, 2024, Intrinsically Typed Syntax, a Logical Relation, and the Scourge of the Transfer Lemma, FreiDok plus (Universitätsbibliothek Freiburg), pp. 2-15, 10.1145/3678000.3678201.
;Jonas Kastberg Hinrichsen
;Robbert Krebbers
, 2024, Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing, Proceedings of the ACM on Programming Languages, 8, POPL, pp. 1385-1417, 10.1145/3632889, https://doi.org/10.1145/3632889.
;Stefan Milius
;Stelios Tsampas
;Henning Urbat
, 2024, Bialgebraic Reasoning on Higher-order Program Equivalence, arXiv (Cornell University), pp. 1-15, 10.1145/3661814.3662099, http://arxiv.org/abs/2402.00625.
;Alejandro Aguirre
;Philipp G. Haselwarter
;Joseph Tassarotti
;Lars Birkedal
, 2024, Asynchronous Probabilistic Couplings in Higher-Order Separation Logic, Proceedings of the ACM on Programming Languages, 8, POPL, pp. 753-784, 10.1145/3632868, https://doi.org/10.1145/3632868.
;Alejandro Aguirre
;Philipp G. Haselwarter
;Joseph Tassarotti
;Lars Birkedal
, 2024, Almost-Sure Termination by Guarded Refinement, Proceedings of the ACM on Programming Languages, 8, ICFP, pp. 203-233, 10.1145/3674632, https://doi.org/10.1145/3674632.
;Stelios Tsampas
;Sergey Goncharov;Stefan Milius
;Lutz Schröder
, 2023, Weak Similarity in Higher-Order Mathematical Operational Semantics, 2023 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), pp. 1-13, 10.1109/lics56636.2023.10175706.
;Stefan Milius
;Lutz Schröder
;Stelios Tsampas
;Henning Urbat
, 2023, Towards a Higher-Order Mathematical Operational Semantics, Proceedings of the ACM on Programming Languages, 7, POPL, pp. 632-658, 10.1145/3571215, https://doi.org/10.1145/3571215.
;Marco Patrignani
;Frank Piessens
, 2022, Two Parametricities Versus Three Universal Types, ACM Transactions on Programming Languages and Systems, 44, 4, pp. 1-43, 10.1145/3539657, https://doi.org/10.1145/3539657.
;Lennard Gäher
;Joseph Tassarotti
;Ralf Jung
;Robbert Krebbers
;et al., 2022, Later credits: resourceful reasoning for the later modality, Proceedings of the ACM on Programming Languages, 6, ICFP, pp. 283-311, 10.1145/3547631, https://doi.org/10.1145/3547631.
, 2021, On Generalized Metric Spaces for the Simply Typed Lambda-Calculus, Archivio istituzionale della ricerca (Alma Mater Studiorum Università di Bologna), 28, pp. 1-14, 10.1109/lics52264.2021.9470696.
;Lennard Gäher
;Daniel Gratzer
;Joseph Tassarotti
;Robbert Krebbers
;et al., 2021, Transfinite Iris: resolving an existential dilemma of step-indexed separation logic, Scopus (Elsevier), pp. 80-95, 10.1145/3453483.3454031, http://www.scopus.com/inward/record.url?scp=85108917362&partnerID=8YFLogxK.
;Neel Krishnaswami
;Derek Dreyer
, 2021, Transfinite step-indexing for termination, Proceedings of the ACM on Programming Languages, 5, POPL, pp. 1-29, 10.1145/3434294, https://doi.org/10.1145/3434294.
;Gemma Bel-Enguix
, 2020, Coinductive Natural Semantics for Compiler Verification in Coq, Mathematics, 8, 9, pp. 1573, 10.3390/math8091573, https://doi.org/10.3390/math8091573.
;Andreas Nuyts
;Dominique Devriese
;Frank Piessens
, 2020, A Categorical Approach to Secure Compilation, arXiv (Cornell University), pp. 155-179, 10.1007/978-3-030-57201-3_9, http://arxiv.org/abs/2004.03557.
;Williams, Christian;Nuyts, Andreas
;Devriese, Dominique
;Piessens, Frank,, 2020, Abstract Congruence Criteria for Weak Bisimilarity, DROPS (Schloss Dagstuhl – Leibniz Center for Informatics), 10.4230/lipics.mfcs.2021.88, https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.MFCS.2021.88.
;Lars Birkedal
, 2019, Mechanized relational verification of concurrent programs with continuations, Proceedings of the ACM on Programming Languages, 3, ICFP, pp. 1-28, 10.1145/3341709, https://doi.org/10.1145/3341709.
;Maciej Piróg
;Piotr Polesiuk
;Filip Sieczkowski
, 2019, Binders by day, labels by night: effect instances via lexically scoped handlers, Proceedings of the ACM on Programming Languages, 4, POPL, pp. 1-29, 10.1145/3371116, https://doi.org/10.1145/3371116.
;Vincent Rahli
;Paulo Esteves-Veríssimo, 2019, Asphalion: trustworthy shielding against Byzantine faults, Proceedings of the ACM on Programming Languages, 3, OOPSLA, pp. 1-32, 10.1145/3360564, https://doi.org/10.1145/3360564.
;Cătălin Hriţcu
;Exequiel Rivas
;Antoine Van Muylder
, 2019, The next 700 relational program logics, Proceedings of the ACM on Programming Languages, 4, POPL, pp. 1-33, 10.1145/3371072, https://doi.org/10.1145/3371072.
;Gilles Barthe
;Lars Birkedal
;Aleš Bizjak
;Marco Gaboardi
;et al., 2018, Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus, Lecture notes in computer science, pp. 214-241, 10.1007/978-3-319-89884-1_8, https://doi.org/10.1007/978-3-319-89884-1_8.
;Piotr Polesiuk
, 2018, Logical relations for coherence of effect subtyping, Logical Methods in Computer Science, Volume 14, Issue 1, 10.23638/lmcs-14(1:11)2018, https://doi.org/10.23638/lmcs-14(1:11)2018.
;Cédric Fournet
;Cătălin Hriţcu
;Matteo Maffei
;et al., 2018, A monadic framework for relational verification: applied to information security, program equivalence, and optimizations, arXiv (Cornell University), pp. 130-145, 10.1145/3167090, http://arxiv.org/abs/1703.00055.
;Gilles Barthe
;Marco Gaboardi
;Deepak Garg
;Pierre-Yves Strub
, 2017, A relational logic for higher-order programs, Proceedings of the ACM on Programming Languages, 1, ICFP, pp. 1-29, 10.1145/3110265, https://doi.org/10.1145/3110265.
;Léo Stefanesco
;Morten Krogh-Jespersen;Lars Birkedal
, 2017, A logical relation for monadic encapsulation of state: proving contextual equivalences in the presence of runST, Proceedings of the ACM on Programming Languages, 2, POPL, pp. 1-28, 10.1145/3158152, https://doi.org/10.1145/3158152.
;Maciej Piróg
;Piotr Polesiuk
;Filip Sieczkowski
, 2017, Handle with care: relational interpretation of algebraic effects and handlers, Proceedings of the ACM on Programming Languages, 2, POPL, pp. 1-30, 10.1145/3158096, https://doi.org/10.1145/3158096.
, 2017, A relational model of types-and-effects in higher-order concurrent separation logic, ACM SIGPLAN Notices, 52, 1, pp. 218-231, 10.1145/3093333.3009877.
;Kenji Maillard
;Cédric Fournet
;Cătălin Hriţcu
;et al., 2017, A monadic framework for relational verification: applied to information security, program equivalence, and optimizations, Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs - CPP 2018, pp. 130-145, 10.1145/3176245.3167090.
;Jacques-Henri Jourdan
;Robbert Krebbers
;Derek Dreyer
, 2017, RustBelt: securing the foundations of the Rust programming language, Proceedings of the ACM on Programming Languages, 2, POPL, pp. 1-34, 10.1145/3158154, https://doi.org/10.1145/3158154.
;Amin Timany
;Lars Birkedal
, 2017, Interactive proofs in higher-order concurrent separation logic, Lirias (KU Leuven), 52, 1, pp. 205-217, 10.1145/3093333.3009855, https://lirias.kuleuven.be/handle/123456789/553559.
, 2016, A relational model of types-and-effects in higher-order concurrent separation logic, Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, pp. 218-231, 10.1145/3009837.3009877.
;Amin Timany
;Lars Birkedal
, 2016, Interactive proofs in higher-order concurrent separation logic, Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, pp. 205-217, 10.1145/3009837.3009855.
;Lars Birkedal
;Marino Miculan
, 2014, A Model of Countable Nondeterminism in Guarded Type Theory, Lecture notes in computer science, pp. 108-123, 10.1007/978-3-319-08918-8_8.
;Vivek Nigam
, 2014, Abstract effects and proof-relevant logical relations, Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 619-631, 10.1145/2535838.2535869.
;Vivek Nigam
, 2014, Abstract effects and proof-relevant logical relations, ACM SIGPLAN Notices, 49, 1, pp. 619-631, 10.1145/2578855.2535869, https://doi.org/10.1145/2578855.2535869.
;Derek Dreyer
;Georg Neis;Viktor Vafeiadis
, 2012, The marriage of bisimulations and Kripke logical relations, ACM SIGPLAN Notices, 47, 1, pp. 59-72, 10.1145/2103621.2103666.
;GEORG NEIS;LARS BIRKEDAL
, 2012, The impact of higher-order state and control effects on local relational reasoning, Journal of Functional Programming, 22, 4-5, pp. 477-528, 10.1017/s095679681200024x, https://doi.org/10.1017/s095679681200024x.
