https://github.com/logic-lang/logic
structural logic based on equivalence graphs
https://github.com/logic-lang/logic
Last synced: 26 days ago
JSON representation
structural logic based on equivalence graphs
- Host: GitHub
- URL: https://github.com/logic-lang/logic
- Owner: logic-lang
- License: mit
- Created: 2023-01-24T18:42:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-15T13:29:28.000Z (almost 2 years ago)
- Last Synced: 2024-05-22T21:33:56.997Z (about 1 year ago)
- Language: Rust
- Size: 17.6 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/funding.yml
- License: LICENSE
- Support: .github/support.md
Awesome Lists containing this project
- awesome-rust-formalized-reasoning - logic-lang - lang) - structural logic based on equivalence graphs. (Projects / Libraries)
README

[](https://github.com/logic-lang/logic/blob/master/LICENSE)
[](https://crates.io/crates/logic-lang)
[](https://docs.rs/logic-lang)
[](https://github.com/logic-lang/logic/actions)---
Logic is a modern *structural logic* library based on equivalence graphs.
Logic can prove equivalences and optimize expressions according to some criterion.
It allows defining a **(term-based) language** as an abstract syntax tree (AST) associated with the **rewriting rules** expressing its *equivalence relations*.
Applying rules is automatically performed by a three-stages process based on different "intermediate representations (IRs)".---
> **Note**: this is an exploratory project.
## Getting started
An extensive tutorial/book is planned. Until then, you can still read the [documentation](https://docs.rs/logic-lang) for the latest version or browse
the sources.It is recommanded to use *nightly* Rust but Logic should build just fine on *stable* (MSRV 1.69).
The standard cargo `fmt`, `clippy`, `test` and `bench` workflow is available.#### Try the [web demo](https://logic-lang.github.io/) running on WebAssembly.
* [Paper](#)
* [Tutorial](#tutorial)
* [Apps](#apps)
* [Citing](#citing)