All Projects → DistributedComponents → InfSeqExt

DistributedComponents / InfSeqExt

Licence: other
A Coq library for reasoning (co)inductively on infinite sequences using LTL-like modal operators

Programming Languages

Coq
218 projects

Projects that are alternatives of or similar to InfSeqExt

Disel
Distributed Separation Logic: a framework for compositional verification of distributed protocols and their implementations in Coq
Stars: ✭ 85 (+608.33%)
Mutual labels:  coq, proof
Dblib Linear
Formalisation of the linear lambda calculus in Coq
Stars: ✭ 10 (-16.67%)
Mutual labels:  coq, proof
topology
General topology in Coq [maintainers=@amiloradovsky,@Columbus240,@stop-cran]
Stars: ✭ 36 (+200%)
Mutual labels:  coq, coq-library
imm
Intermediate Memory Model (IMM) and compilation correctness proofs for it
Stars: ✭ 15 (+25%)
Mutual labels:  coq, proof
corn
Coq Repository at Nijmegen [maintainers=@spitters,@VincentSe]
Stars: ✭ 106 (+783.33%)
Mutual labels:  coq, coq-library
Iron
Coq formalizations of functional languages.
Stars: ✭ 114 (+850%)
Mutual labels:  coq, proof
Verdi
A framework for formally verifying distributed systems implementations in Coq
Stars: ✭ 496 (+4033.33%)
Mutual labels:  coq, proof
Verdi Raft
An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
Stars: ✭ 143 (+1091.67%)
Mutual labels:  coq, proof
coq-to-ocaml-to-js
Proof of concept to generate safe and fast JavaScript
Stars: ✭ 25 (+108.33%)
Mutual labels:  coq, proof
fcsl-pcm
Partial Commutative Monoids
Stars: ✭ 20 (+66.67%)
Mutual labels:  coq, coq-library
FreeSpec
A framework for implementing and certifying impure computations in Coq
Stars: ✭ 48 (+300%)
Mutual labels:  coq
coq-art
Coq code and exercises from the Coq'Art book [maintainers=@ybertot,@Casteran]
Stars: ✭ 57 (+375%)
Mutual labels:  coq
MtacAR
Mtac in Agda
Stars: ✭ 29 (+141.67%)
Mutual labels:  coq
chapar
A framework for verification of causal consistency for distributed key-value stores and their clients in Coq [maintainer=@palmskog]
Stars: ✭ 29 (+141.67%)
Mutual labels:  coq
ITSTools
A multi-formalism, multi-solution model-checker centered on the language GAL
Stars: ✭ 17 (+41.67%)
Mutual labels:  ltl
gaia
Implementation of books from Bourbaki's Elements of Mathematics in Coq [maintainer=@thery]
Stars: ✭ 15 (+25%)
Mutual labels:  coq
coq jupyter
Jupyter kernel for Coq
Stars: ✭ 70 (+483.33%)
Mutual labels:  coq
regex-reexamined-coq
No description or website provided.
Stars: ✭ 14 (+16.67%)
Mutual labels:  coq
RiscvSpecFormal
The RiscvSpecKami package provides SiFive's RISC-V processor model. Built using Coq, this processor model can be used for simulation, model checking, and semantics analysis. The RISC-V processor model can be output as Verilog and simulated/synthesized using standard Verilog tools.
Stars: ✭ 69 (+475%)
Mutual labels:  coq
Abel
A proof of Abel-Ruffini theorem.
Stars: ✭ 26 (+116.67%)
Mutual labels:  coq

InfSeqExt

CI

Coq library for reasoning inductively and coinductively on infinite sequences, using modal operators similar to those in linear temporal logic (LTL).

Meta

  • Author(s):
    • Yuxin Deng (initial)
    • Jean-Francois Monin (initial)
    • Karl Palmskog
    • Ryan Doenges
  • Compatible Coq versions: 8.7 or later
  • Additional dependencies: none
  • Coq namespace: InfSeqExt
  • Related publication(s): none

Building and installation instructions

The easiest way to install InfSeqExt is via OPAM:

opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev
opam install coq-inf-seq-ext

To instead build and install manually, do:

git clone https://github.com/DistributedComponents/InfSeqExt.git
cd InfSeqExt
make   # or make -j <number-of-cores-on-your-machine>
make install

Documentation

InfSeqExt is based on an earlier library by Deng and Monin. It is intended as a more comprehensive alternative to Streams in the Coq standard library. In particular, InfSeqExt provides machinery commonly used when reasoning about temporal properties of system execution traces, and follows the modal operator name conventions used in the Spin model checker.

Files

  • infseq.v: main definitions and results
    • coinductive definition of infinite sequences
    • definitions and notations for modal operators and connectors
      • basic modal operators: now, next, consecutive, always1, always, weak_until, until, release, eventually
      • composite modal operators: inf_often, continuously
      • modal connectors: impl_tl (->_), and_tl (/\_), or_tl (\/_), not_tl (~_)
    • lemmas about modal operators and connectors
    • tactics
  • map.v: corecursive definitions of the map and zip functions for use on infinite sequences, and related lemmas
  • exteq.v: coinductive definition of extensional equality (exteq) for infinite sequences, and related lemmas
  • subseq.v: coinductive definitions of infinite subsequences and related lemmas
  • classical.v: lemmas about modal operators and connectors when assuming classical logic (excluded middle)

Related libraries

InfSeqExt has some overlap with the less exhaustive CTLTCTL and LTL Coq contributions, which provide similar machinery. In contrast to CTLTCTL and LTL, InfSeqExt does not provide a definition of traces following some labeled reduction relation, nor an explicit notion of time. Fairness is also left up to library users to define.

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].