Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Automatically exported from code.google.com/p/spike-prover
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
(* Sorin Stratulat - January 2019 *) Updated for Coq 8.9. (* Sorin Stratulat - October 2018 *) Updated for Coq 8.8. (* Sorin Stratulat - April 2016 *) We provide compatibility with Coq, for the 8.4, 8.5 and 8.6 versions. Compile the sources of Coccinelle and CoLoR for the Coq version of your choice (see the new structure of Coccinelle et CoLoR directories). The file .coqrc should be adapted. For example, if you use Coq 8.6, its content must include ------- Add Rec LoadPath "<path_to_spike_prover>/CoLoR/Coq8.6/" as CoLoR. Add Rec LoadPath "<path_to_spike_prover>/Coccinelle/Coq8.6/" as Coccinelle. ------- where <path_to_spike_prover> is the _absolute_ path to the "spike-prover" directory (thanks to Paul Iannetta for the remark on the absolute path) (* Sorin Stratulat - April 2013 *) The `trunk' directory contains the following information: - README - this file - sources directory - the SPIKE sources. To create `spike_bc', run `make' in the directory (you need ocaml installed). - specs directory - the SPIKE specification files. The files related to the ABR proof are in the 'abr' subdirectory. Simpler examples are in the 'basic' subdirectory. We have added two subdirectories to the `abr' directory: 1) the `rm' subdirectory has ABR conjectures that can be proved using a reasoning module combining a semi-decision procedure for linear arithmetic and a congruence closure procedure, and 2) the `no_rm' subdirectory has ABR conjectures that can be proved without the reasoning module. The proof for a spec file <file.spike> can be launched with '../../../sources/spike_bc <file.spike>'. - Coccinelle directory - It allows to certify the implicit induction proofs issued by SPIKE with Coq (see below). However, the `dracula'- and the `reasoning module'-based proofs cannot be certified in this version. The proofs using the DRaCuLa strategy can be automatically launched with the shell script prove.sh from the `dracula' subdirectories. The output is stored in the .tmp files. Similarly, examples of certified proofs are given in the `certify' directories. They contain a shell script, validate.sh, that automatizes the certification process for you. Before running the script, you should: 1. compile Coccinelle (you need COQ installed. Any version 8.4 should work.). This is an adapted version from http://raweb.inria.fr/rapportsactivite/RA2010/proval/uid44.html 2. enter the `sources' directory and compile with the command "make" to generate spike_bc (you need Ocaml installed). 3. to automatically run and test the specifications of the SPIKE files, run `validate.sh -spec'. 4. to automatically run and test the proofs of the SPIKE files, run afterwards `validate.sh' without parameters. (step 4 is compulsory). To setup the path to Coccinelle, here is an example of the file .coqrc from your home directory ------- Add LoadPath "<path_to_spike_prover>/Coccinelle/basis". Add LoadPath "<path_to_spike_prover>/Coccinelle/list_extensions". Add LoadPath "<path_to_spike_prover>/Coccinelle/term_algebra". Add LoadPath "<path_to_spike_prover>/Coccinelle/term_orderings". ------- In case of problems, please contact Sorin (email@example.com).