Sindbad~EG File Manager
<div id="pageName0">
<div align="justify">
<h2>Proof Checking Euclid</h2>
<h3> Joint work with Julien Narboux and Freek Wiedijk</h3>
<p>We used computer proof-checking methods to verify the
correctness of our proofs of the propositions in Euclid Book I.
We used axioms as close as possible to those of Euclid, in a language
closely related to that used in Tarski's formal geometry. We used
proofs as close as possible to those given by Euclid, but filling
Euclid's gaps and correcting errors. Euclid Book I has 48 propositions;
we proved 213 theorems. The extras were partly ``Book Zero'', preliminaries
of a very fundamental nature, partly propositions that
Euclid omitted but were used implicitly, partly advanced theorems that
we found necessary to fill Euclid's gaps, and partly just variants of Euclid's
propositions. We wrote these proofs in a simple fragment of first-order logic
corresponding to Euclid's logic, debugged them using a custom software tool, and
then checked them in the well-known and trusted proof checkers
HOL Light and Coq.</p>
<p> This web page provides (below) links to all the files needed to reproduce this work.
The paper that describes the work can be found here: </p>
<p><a href= "http://www.michaelbeeson.com/research/papers/ProofCheckingEuclid.pdf">Proof-checking Euclid</a></p>
<p>Persons wishing to download the files necessary to reproduce our work may download them
all at once in the following archive:
<p><a href= "http://www.michaelbeeson.com/research/CheckEuclid/proofs.tar.gz">proofs.tar.gz</a></p>
In that archive, you will find more than 200 proofs, in files ending in .prf, as well as
some PHP scripts (ending in .php). The steps to reproduce our work are as follows:
<p> (1) Ensure that PHP is installed on your system, then
run <pre> ./Checkproofs.php </pre> from the directory in which you unpacked the archive.
This runs our custom proof-checker, or proof debugger, on all the proofs. That one PHP file
contains all the source code for our custom proof-checker. </p>
<p> (2) The script FreekFiles.php has already been run to produce the .ml files included in the
archive. Ensure that HOL Light is running on your system. To check these proofs in
HOL Light, see [link not yet live] </p>
<p> (3) The script CoqExport.php has already been run to produce the .v files. Those are included in GeoCoq library. To compile GeoCoq you need Coq version 8.5pl3 or 8.6.1 or 8.7beta see instructions given <a href="http://geocoq.github.io/GeoCoq/">here</a>.
<ul>
<li><a href="https://github.com/GeoCoq/GeoCoq/blob/master/Axioms/euclidean_axioms.v">The Coq version of Euclidean axioms</a></li>
<li><a href="https://github.com/GeoCoq/GeoCoq/blob/master/Elements/OriginalProofs/euclidean_tactics.v">Some adhoc tactics</a></li>
<li><a href="https://github.com/GeoCoq/GeoCoq/tree/master/Elements/OriginalProofs">Book 1</a></li>
<li><a href="https://github.com/GeoCoq/GeoCoq/blob/master/Meta_theory/Models/tarski_to_euclid.v">Going from Tarski's axiom to Euclid's axioms</a></li>
<li><a href="https://github.com/GeoCoq/GeoCoq/blob/master/Meta_theory/Models/euclid_to_tarski.v">Going from Euclid's axioms to Tarski's axioms</a></li>
</ul>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists