This project provides classes and utilities to build and manipulate first order logic (FOL) expressions, statements and related concepts, which serve as a basis for the formalisms and analyses.
Classes include
- types (e.g., Boolean, integer, rational, array, bitvector),
see the
package-info.java
for more details, - declarations (e.g., constants, variables),
see the
package-info.java
for more details, - expressions (e.g., logical connectives, arithmetic operations),
see the
package-info.java
for more details, - models (e.g., assignments, valuations),
see the
package-info.java
for more details, - statements (e.g., assign, assume, havoc),
see the
package-info.java
for more details.
Utilities include folding, unfolding, collecting atoms, collecting variables, etc.,
see the package-info.java
for more
details.