Search papers, labs, and topics across Lattice.
This paper introduces CV-rules, a novel framework for verifying serializability in concurrency control protocols through explicit transaction ordering, which incorporates two critical conditions: C-rule (Causality) and V-rule (View Consistency). By establishing the equivalence between CV-rules, serializability, and Multi-Version Serialization Graph (MVSG) acyclicity, the authors demonstrate that serializability can be determined in polynomial time given a fixed width for the C-rule order. The approach is validated through rigorous mechanization in Lean, applying it to five protocols and revealing that the unique-write constraint in Aria is unnecessary for serializability.
Serializability can be verified in polynomial time with a fixed bound on transaction order width, challenging traditional MVSG assumptions.
We present CV-rules, an alternative characterization of serializability in which a transaction order constructed by a protocol satisfies two per-read conditions, C-rule (Causality) and V-rule (View Consistency), that constrain the reads-from relation and competing writers. While classical Multi-Version Serialization Graph (MVSG) reasoning characterizes serializability via its acyclicity, our approach requires explicit order construction, enabling direct proofs that build on the protocol's own mechanisms. We prove that CV-rules, serializability, and MVSG acyclicity are all equivalent. Moreover, the C/V separation reveals that serializability is polynomial-time decidable for any fixed bound on the width of the order forced by C-rule. We verify five protocols: Two-Phase Locking, Multi-Version Timestamp Ordering, Serial Safety Net (SSN), Aria, and SnapChain. For SSN and Aria, whose original papers defined only certification conditions, we identify explicit transaction orders arising from their mechanisms; we also prove that Aria's unique-write constraint is unnecessary for serializability. SnapChain, in contrast, is designed directly from CV-rules, enforcing V-rule by construction. All results except the complexity bounds are mechanized in Lean with no additional axioms and no admitted goals.