/crdt-isabelle

Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford. Verifying Strong Eventual Consistency in Distributed Systems. In OOPSLA and Proceedings of the ACM on Programming Languages (PACMPL), 2017.

Primary LanguageTeXApache License 2.0Apache-2.0

Isabelle formalisation of CRDTs

This repository shows how to use Isabelle (theorem-proving software) to prove the correctness of several operation-based CRDTs (data structures that can be edited concurrently and merged automatically).

The results from this work were published in a paper titled Verifying strong eventual consistency in distributed systems at OOPSLA 2017 (arXiv version). Please cite it as:

Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford. Verifying Strong Eventual Consistency in Distributed Systems. Proceedings of the ACM on Programming Languages (PACMPL), Vol. 1, Issue OOPSLA, October 2017. doi:10.1145/3133933

The formal proof development is published in the Isabelle Archive of Formal Proofs under the title A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes (July 2017).

About

This project was developed by Victor Gomes, Martin Kleppmann, Dominic Mulligan, and Alastair Beresford.

Copyright 2017, University of Cambridge. This software is released under the Apache License, Version 2.0 (see LICENSE).

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.