Skip to content

coq-community/stalmarck

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Stalmarck

Docker CI Nix CI Contributing Code of Conduct Zulip DOI

A two-level approach to prove tautologies using Stålmarck's algorithm in Coq.

Meta

Building and installation instructions

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

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

To instead build and install manually, do:

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

Documentation

This project is composed of:

  • A Coq proof of correctness of the algorithm, as described in the paper A Formalization of Stålmarck's Algorithm in Coq, published in the proceedings of TPHOLs 2000.
  • an implementation of the algorithm. With respect to the paper, this implementation is completely functional and can be used inside Coq.
  • A reflected Coq tactic staltac that uses the extracted code to compute an execution trace; the trace checker is then called inside Coq.
  • A standalone checker program stalmarck which takes as input a formula in textual format and reports whether it can be certified as a tautology.

See algoRun.v for examples how to use the algorithm inside Coq, and see StalTac_ex.v for examples how to use the reflected tactic.