GithubHelp home page GithubHelp logo

distributedcomponents / infseqext Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 4.0 91 KB

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

Makefile 0.55% Coq 99.45%
coq coq-library temporal-logic ltl modal-logic proof

infseqext's Introduction

InfSeqExt

Docker 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.9 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.

infseqext's People

Contributors

alizter avatar hackedy avatar palmskog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

infseqext's Issues

Install and commit for coq 8.12, InfSeqExt

I tried:

git clone [email protected]:DistributedComponents/InfSeqExt.git deps/InfSeqExt
(cd deps/InfSeqExt && git checkout 91b2d9bdc580c7ccb5bf2f50fffb6ebabab2715c && git rev-parse HEAD)
(cd deps/InfSeqExt && opam install -y .)

but seems fishy, is this the recommended way to install it for coq 8.12?

output:

(iit_synthesis) brando9~/proverbot9001 $ (cd deps/InfSeqExt && opam install -y .)
[WARNING] Failed checks on coq-inf-seq-ext package definition from source at
          git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/deps/InfSeqExt#HEAD:
  warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/: "Unknown"
[NOTE] Package coq-inf-seq-ext is currently pinned to git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/deps/InfSeqExt#master (version dev).
coq-inf-seq-ext is now pinned to git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/deps/InfSeqExt#HEAD (version dev)
[coq-inf-seq-ext.dev] synchronised (git+file:///afs/cs.stanford.edu/u/brando9/proverbot9001/deps/InfSeqExt#HEAD)
[WARNING] Failed checks in opam file from upstream of coq-inf-seq-ext:
  warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/: "Unknown"
The following actions will be performed:
  ↻ recompile coq-inf-seq-ext dev*

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/4: [coq-inf-seq-ext: dune build]
⊘ removed   coq-inf-seq-ext.dev
∗ installed coq-inf-seq-ext.dev
Done.

note one soln could be to push different version as you are developing to opam repo and not overwrite them.


related: UCSD-PL/proverbot9001#91

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.