PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
April 12, 2026Proceedings of the ACM on Programming Languages0 citationsOpen Access

Lawyer: Modular Obligations-Based Liveness Reasoning in Higher-Order Impredicative Concurrent Separation Logic

View Full Paper
ENEgor Sergeevich NamakonovJFJustus FasseBJBart Jacobs

Key Points

  • The central aim is to develop a mechanized program logic that facilitates the modular verification of fair termination in concurrent programs.
  • Introduced Lawyer, a higher-order concurrent separation logic.
  • Avoided auxiliary code by embedding obligations into a logical labeled transition system.
  • Demonstrated expressivity through various examples, including modular verification of program termination.
  • All findings were mechanized in the Rocq proof assistant.
  • Successfully verified termination of several concurrent program examples.
  • Showed that a client program's termination depends on the correctness of a fair lock library.
  • Proved that the ticket lock implementation meets its library interface.

Abstract

Higher-order concurrent separation logics, such as Iris, have been tremendously successful in verifying safety properties of concurrent programs. However, state-of-the-art attempts to verify liveness properties in such logics have so far either lacked modularity (the ability to compose specifications of independent modules), or they have been far too complex to mechanize in a proof assistant. In this work, we introduce Lawyer --- a mechanized program logic for modular verification of (fair) termination of concurrent programs. Lawyer draws inspiration from state-of-the-art approaches that use obligations for specifying and proving termination. However, unlike these approaches, which incorporate obligations by instrumenting the source code with erasable auxiliary code and state, Lawyer avoids such instrumentations. Instead, Lawyer incorporates obligations into the logic by embedding them into a purely logical labeled transition system that the program is shown to refine --- this makes Lawyer far more amenable to mechanization. We demonstrate the expressivity of Lawyer by verifying termination of a range of examples, including modular verification of a client program whose termination relies on correctness of a fair lock library, and (separately) proving that a ticket lock implementation implements that library's interface. To the best of our knowledge, Lawyer is the first mechanized program logic that supports modular higher-order impredicative liveness specifications of program modules. All the results that appear in the paper have been mechanized in the Rocq proof assistant on top of the Iris separation logic framework.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Namakonov et al. (2026) studied this question.

synapsesocial.com/papers/69db37774fe01fead37c5773https://doi.org/10.1145/3798240
Ask AI
Helpful
Bookmark
Share
View Full Paper

Also Consider

Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context:

  1. 1Artifact for the "Lawyer: Modular Obligations-Based Liveness Reasoning in Higher-Order Impredicative Concurrent Separation Logic" paper of OOPSLA'262026 · 1 citations
  2. 2Lilo: A Higher-Order, Relational Concurrent Separation Logic for Liveness2025 · 3 citations
  3. 3An indexed model of recursive types for foundational proof-carrying code2001 · 353 citations
  4. 4Proving termination with multiset orderings1979 · 544 citations
  5. 5Impredicative Concurrent Abstract Predicates2014 · 153 citations