Ghilbert is a formal proof checker, heavily inspired by Metamath. This repo contains a new implementation in progress, written Rust, as well as an older prototype, written in Python.
A few more resources are at ghilbert.org. There's also a fair amount of discussion on the mailing list.
This quick start translates the propositional calculus fragment from Metamath into Ghilbert format and checks it.
Check out a copy of set.mm.
cd mm_xlat
cargo run -- script ../../set.mm/set.mm /tmp/out.gh
cd ..
cargo run -- /tmp/out.gh
This will spew a lot of diagnostics, and also generate an HTML file for
each proof in the gen
directory. Note that to view these files
you probably want a simple server like python -m SimpleHTTPServer 8000
rather than using file://
URL's, because the JavaScript interactivity
features load further files using XMLHttpRequest.
All of the Rust, Python, and JavaScript code is under Apache 2 license, a copy of which is in LICENSE.
Note: includes the minified JavaScript version of google-diff-match-patch, which is (also) under Apache 2 license. For full attribution, please see: http://code.google.com/p/google-diff-match-patch/
Proofs under content/general
are under
Creative Commons Share Alike 3.0.
All other proofs are under Creative Commons CC0 Public Domain
Dedication.
Many of the proofs are derived in some form from Metamath's set.mm, which
is also under CC0.
The main author is Raph Levien, with contributions from many others. (TODO: improve contributor attributions)
Contributions are welcome, just send a pull request!