2020-02-25 15:27:24 +01:00
|
|
|
# foliage [![crates.io](https://img.shields.io/crates/v/foliage.svg?maxAge=3600)](https://crates.io/crates/foliage)
|
Initial commit
This provides an abstract syntax tree for first-order logic with integer
arithmetics. Initially, the following types of formulas are supported:
- Booleans values (true and false)
- predicates
- negated formulas
- comparisons of terms (<, ≤, >, ≥, =, ≠)
- implications and biconditionals
- conjunctions and disjunctions of formulas
- existentially and universally quantified formulas
In addition, these types of terms are provided:
- 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)
2020-02-05 03:17:28 +01:00
|
|
|
|
|
|
|
> 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)
|