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)
This commit is contained in:
26
README.md
Normal file
26
README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# foliage [](https://github.com/potassco/foliage/releases) [](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)
|
||||
Reference in New Issue
Block a user