Automatically exported from code.google.com/p/ghilbert
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
babygit
content
js
mm_xlat
src
static
.gitignore
.hgignore
COPYING
Cargo.lock
Cargo.toml
LICENSE
README.md
README_OLD
app.yaml
backends.yaml
ghapp.py
index.yaml
proof.css
ski.gh
test.gh
testsuite
thm.css
thm.js
verify.py
verify_all.py
verify_test.py

README.md

Ghilbert

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.

Quick start

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.

License

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.

Contributing

The main author is Raph Levien, with contributions from many others. (TODO: improve contributor attributions)

Contributions are welcome, just send a pull request!