Mechanized Metatheory of Forward Reasoning for End-to-End Linearizability Proofs

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Kent, Zachary, Yavuz, Ugur Y., Jayanti, Siddhartha, Balzer, Stephanie, Blelloch, Guy
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911142978256896
author Kent, Zachary
Yavuz, Ugur Y.
Jayanti, Siddhartha
Balzer, Stephanie
Blelloch, Guy
author_facet Kent, Zachary
Yavuz, Ugur Y.
Jayanti, Siddhartha
Balzer, Stephanie
Blelloch, Guy
contents In the past decade, many techniques have been developed to prove linearizability, the gold standard of correctness for concurrent data structures. Intuitively, linearizability requires that every operation on a concurrent data structure appears to take place instantaneously, even when interleaved with other operations. Most recently, Jayanti et al. presented the first sound and complete "forward reasoning" technique for proving linearizability that relates the behavior of a concurrent data structure to a reference atomic data structure as time moves forward. This technique can be used to produce machine-checked proofs of linearizability in TLA+. However, while Jayanti et al.'s approach is shown to be sound and complete, a mechanization of this important metatheoretic result is still outstanding. As a result, it is not possible to produce verified end-to-end proofs of linearizability. To reduce the size of this trusted computing base, we formalize this forward reasoning technique and mechanize proofs of its soundness and completeness in Rocq. As a case study, we use the approach to produce a verified end-to-end proof of linearizability for a simple concurrent register.
format Preprint
id arxiv_https___arxiv_org_abs_2509_06872
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Mechanized Metatheory of Forward Reasoning for End-to-End Linearizability Proofs
Kent, Zachary
Yavuz, Ugur Y.
Jayanti, Siddhartha
Balzer, Stephanie
Blelloch, Guy
Programming Languages
In the past decade, many techniques have been developed to prove linearizability, the gold standard of correctness for concurrent data structures. Intuitively, linearizability requires that every operation on a concurrent data structure appears to take place instantaneously, even when interleaved with other operations. Most recently, Jayanti et al. presented the first sound and complete "forward reasoning" technique for proving linearizability that relates the behavior of a concurrent data structure to a reference atomic data structure as time moves forward. This technique can be used to produce machine-checked proofs of linearizability in TLA+. However, while Jayanti et al.'s approach is shown to be sound and complete, a mechanization of this important metatheoretic result is still outstanding. As a result, it is not possible to produce verified end-to-end proofs of linearizability. To reduce the size of this trusted computing base, we formalize this forward reasoning technique and mechanize proofs of its soundness and completeness in Rocq. As a case study, we use the approach to produce a verified end-to-end proof of linearizability for a simple concurrent register.
title Mechanized Metatheory of Forward Reasoning for End-to-End Linearizability Proofs
topic Programming Languages
url https://arxiv.org/abs/2509.06872