https://github.com/dmxlarchey/the-tortoise-and-the-hare
The Tortoise and the Hare in Coq. Constructive extraction via Bar inductive predicates (see README.md below).
https://github.com/dmxlarchey/the-tortoise-and-the-hare
brent coq coq-formalization cycle-detection floyd hare tortoise
Last synced: about 1 month ago
JSON representation
The Tortoise and the Hare in Coq. Constructive extraction via Bar inductive predicates (see README.md below).
- Host: GitHub
- URL: https://github.com/dmxlarchey/the-tortoise-and-the-hare
- Owner: DmxLarchey
- License: other
- Created: 2018-01-30T15:02:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-09T22:44:51.000Z (almost 7 years ago)
- Last Synced: 2025-02-16T14:27:10.546Z (3 months ago)
- Topics: brent, coq, coq-formalization, cycle-detection, floyd, hare, tortoise
- Language: Coq
- Homepage:
- Size: 46.9 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE_CeCILL_V2-en.txt
Awesome Lists containing this project
README
# The Tortoise and the Hare in Coq
(**************************************************************)
(* Copyright Dominique Larchey-Wendling [*] *)
(* *)
(* [*] Affiliation LORIA -- CNRS *)
(**************************************************************)
(* This file is distributed under the terms of the *)
(* CeCILL v2 FREE SOFTWARE LICENSE AGREEMENT *)
(**************************************************************)## What is this repository for
* This repository contains the Coq source code that comes as a companion to the paper [*Proof Pearl: Constructive Extraction of Cycle Finding Algorithms*](http://www.loria.fr/~larchey/papers/ITP_2018_paper_16.pdf) by [Dominique Larchey-Wendling](http://www.loria.fr/~larchey). The paper has been accepted for presentation at ITP 2018.
## How do I set it up
* Use Coq 8.6 (preferably). The code also compiles with Coq 8.5pl[23]. But **not under Coq 8.7** (see below).
* To compile, type `make all`. Then one can visit the individual proof files `*.v`
* Beware that `Extraction` will fail with Coq 8.7+ because `Require Extraction` should be included before extraction takes place. This is an unfortunate incompatibility introduced in Coq 8.7.
* If using Coq 8.7 is nonetheless important, the rest of the code should work ok, so simply add `Require Extraction` where it is needed.