All Projects → imdea-software → fcsl-pcm

imdea-software / fcsl-pcm

Licence: Apache-2.0 license
Partial Commutative Monoids

Programming Languages

Coq
218 projects
Makefile
30231 projects

Projects that are alternatives of or similar to fcsl-pcm

topology
General topology in Coq [maintainers=@amiloradovsky,@Columbus240,@stop-cran]
Stars: ✭ 36 (+80%)
Mutual labels:  coq, coq-library
vercors
The VerCors verification toolset for verifying parallel and concurrent software
Stars: ✭ 30 (+50%)
Mutual labels:  concurrency, separation-logic
Perennial
Verifying concurrent crash-safe systems
Stars: ✭ 57 (+185%)
Mutual labels:  coq, concurrency
InfSeqExt
A Coq library for reasoning (co)inductively on infinite sequences using LTL-like modal operators
Stars: ✭ 12 (-40%)
Mutual labels:  coq, coq-library
corn
Coq Repository at Nijmegen [maintainers=@spitters,@VincentSe]
Stars: ✭ 106 (+430%)
Mutual labels:  coq, coq-library
Sqlable
Swift library for making storing data in a SQLite database simple and magic-free
Stars: ✭ 83 (+315%)
Mutual labels:  concurrency
Polyel-Framework
⚡️ Voltis Core: A PHP framework based on Swoole from the ground up
Stars: ✭ 22 (+10%)
Mutual labels:  concurrency
Dots
Lightweight Concurrent Networking Framework
Stars: ✭ 35 (+75%)
Mutual labels:  concurrency
kami
A Platform for High-Level Parametric Hardware Specification and its Modular Verification
Stars: ✭ 119 (+495%)
Mutual labels:  coq
concore
Core abstractions for dealing with concurrency in C++
Stars: ✭ 57 (+185%)
Mutual labels:  concurrency
vericert
A formally verified high-level synthesis tool based on CompCert and written in Coq.
Stars: ✭ 63 (+215%)
Mutual labels:  coq
react-webworker-demo
No description or website provided.
Stars: ✭ 14 (-30%)
Mutual labels:  concurrency
imm
Intermediate Memory Model (IMM) and compilation correctness proofs for it
Stars: ✭ 15 (-25%)
Mutual labels:  coq
coq-big-o
A general yet easy-to-use formalization of Big O, Big Theta, and more based on seminormed vector spaces.
Stars: ✭ 31 (+55%)
Mutual labels:  coq
grimoire
A fast, concurrent based scripting language for D.
Stars: ✭ 21 (+5%)
Mutual labels:  concurrency
python3-concurrency
Python3爬虫系列的理论验证,首先研究I/O模型,分别用Python实现了blocking I/O、nonblocking I/O、I/O multiplexing各模型下的TCP服务端和客户端。然后,研究同步I/O操作(依序下载、多进程并发、多线程并发)和异步I/O(asyncio)之间的效率差别
Stars: ✭ 49 (+145%)
Mutual labels:  concurrency
portal
A lightweight framework for golang object (struct) serialization (mapping). Inspired heavily by marshmallow (a Python library).
Stars: ✭ 24 (+20%)
Mutual labels:  concurrency
coq-library-undecidability
A library of mechanised undecidability proofs in the Coq proof assistant.
Stars: ✭ 84 (+320%)
Mutual labels:  coq
java-multithread
Códigos feitos para o curso de Multithreading com Java, no canal RinaldoDev do YouTube.
Stars: ✭ 24 (+20%)
Mutual labels:  concurrency
beems
a bee-queue based minimalist toolkit for building fast, decentralized, scalable and fault tolerant microservices
Stars: ✭ 33 (+65%)
Mutual labels:  concurrency

The PCM library

Docker CI

The PCM library provides a formalisation of Partial Commutative Monoids (PCMs), a common algebraic structure used in separation logic for verification of pointer-manipulating sequential and concurrent programs.

The library provides lemmas for mechanised and automated reasoning about PCMs in the abstract, but also supports concrete common PCM instances, such as heaps, histories, and mutexes.

This library relies on propositional and functional extentionality axioms.

Meta

  • Author(s):
    • Aleksandar Nanevski (initial)
    • Anton Trunov
    • Alexander Gryzlov
  • License: Apache-2.0
  • Compatible Coq versions: Coq 8.14 to 8.15
  • Additional dependencies:
  • Coq namespace: fcsl
  • Related publication(s): none

Building and installation instructions

The easiest way to install the latest released version of The PCM library is via OPAM:

opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-fcsl-pcm

To instead build and install manually, do:

git clone https://github.com/imdea-software/fcsl-pcm.git
cd fcsl-pcm
make   # or make -j <number-of-cores-on-your-machine> 
make install

Getting help

If you need assistance or would like to report a bug, drop us an email: [email protected] or open an issue.

History and context

More information can be obtained via the FCSL web page.

An earlier version of this library was developed as a part of Hoare type theory, which is now rebased on FCSL-PCM. The original version of HTT can be found here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].