Go to file
Patrick Lühne 8e32b58c99
Remove unneeded indirection from vector types
The type aliases for vectors of formulas and terms were defined as
vectors of boxed formulas and terms, respectively. This is an
unnecessary indirection, so store the formulas and terms directly.
2020-04-13 22:16:01 +02:00
.github/workflows Test crate with GitHub Actions 2020-04-09 15:34:49 +02:00
src Remove unneeded indirection from vector types 2020-04-13 22:16:01 +02:00
.gitignore Initial commit 2020-02-05 03:23:11 +01:00
Cargo.toml Initial commit 2020-02-05 03:23:11 +01:00
LICENSE.md Initial commit 2020-02-05 03:23:11 +01:00
README.md Remove redundant release badge 2020-02-25 15:27:24 +01:00

foliage crates.io

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)