Skip to content

raphlinus/ghilbert

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!

About

Automatically exported from code.google.com/p/ghilbert

Resources

License

Apache-2.0, Apache-2.0 licenses found

Licenses found

Apache-2.0
LICENSE
Apache-2.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •