egg 0.1.1

An implementation of egraphs
Documentation

egg: egraphs good

Build Status Crates.io Docs.rs

Check out the web demo for some quick egraph action.

Using egg

Add egg to your Cargo.toml like this:

[dependencies]
egg = "0.1.1"

Developing

It's written in Rust. Typically, you install Rust using rustup.

Run cargo doc --open to build and open the documentation in a browser.

Before committing/pushing, make sure to run make, which runs all the tests and lints that CI will.

Tests

Running cargo test will run the tests.

There are a couple interesting tests in the tests directory:

  • prop.rs implements propositional logic and proves some simple theorems.
  • math.rs implements real arithmetic, with a little bit of symbolic differentiation.