Home

Awesome

<!--- This file was generated from `meta.yml`, please do not edit manually. Follow the instructions on https://github.com/coq-community/templates to regenerate. --->

Tarjan and Kosaraju

Docker CI Contributing Code of Conduct Zulip

This development contains formalizations and correctness proofs, using Coq and the Mathematical Components library, of algorithms originally due to Kosaraju and Tarjan for finding strongly connected components in finite graphs. It also contains a verified implementation of topological sorting with extended guarantees for acyclic graphs.

Meta

Building and installation instructions

The easiest way to install the latest released version of Tarjan and Kosaraju is via OPAM:

opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-mathcomp-tarjan

To instead build and install manually, do:

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

Main files

Extra library files

Proof of Kosaraju strongly connected component algorithm

Proofs of Tarjan strongly connected component algorithm (independent from each other)