Provided that the latest version of this crate is always published on crates.io and tagged as a release on GitHub.com, the crates.io and the GitHub.com release badges will always show the same version. Consequently, remove the GitHub.com release badge to avoid redundancy.
27 lines
847 B
Markdown
27 lines
847 B
Markdown
# foliage [](https://crates.io/crates/foliage)
|
|
|
|
> First-order logic with integer arithmetics in Rust
|
|
|
|
This Rust crate provides an abstract syntax tree for first-order formulas with integer arithmetics.
|
|
|
|
## Supported Formulas
|
|
|
|
- Booleans values (`true` and `false`)
|
|
- predicates
|
|
- negated formulas
|
|
- comparisons of terms (<, ≤, >, ≥, =, ≠)
|
|
- implications and biconditionals
|
|
- conjunctions and disjunctions of formulas
|
|
- existentially and universally quantified formulas
|
|
|
|
## Supported Terms
|
|
|
|
- Boolean values (`true` and `false`)
|
|
- integers
|
|
- strings
|
|
- special integers (infimum and supremum)
|
|
- symbolic functions
|
|
- variables
|
|
- binary operations (addition, subtraction, multiplication, division, modulo, exponentiation)
|
|
- unary operations (absolute value, numeric negation)
|