Expand description
Intermediate representation for SMT-LIB formulas.
Re-exports§
pub use smt2parser::concrete::Command as Smt2ParserCommand;
pub use smt2parser::concrete::SyntaxBuilder;
pub use smt2parser::CommandStream;
pub use logic::Logic;
pub use term::*;
pub use types::*;
Modules§
- ackermann
- cnf
- eliminate
- fold
- Traits for transforming
Term
s into other terms. - logic
- Representations of SMT-LIB logics.
- model
- smt2parser
- This crate provides a generic parser for SMT2 commands, as specified by the SMT-LIB-2 standard.
- term
- Intermediate representation for SMT-LIB terms.
- types
- visit
- Traits for visiting
Term
s.
Macros§
- args
- Creates a
SmallVec
containing the arguments. - try_
break - Unwraps a
ControlFlow
or propagates itsBreak
value. This replaces theTry
implementation that would be used withstd::ops::ControlFlow
.
Structs§
- Ctx
Ctx
tracks the global context of a script (e.g. defined sorts and functions), along with local context inside of terms (e.g. variables bound bylet
,forall
,exists
).- Fresh
VarError - Script
Script
represents an entire SMT-LIB script i.e. sequence of commands.
Enums§
Functions§
- chained
- Applies
each
to each adjacent pair of arguments inargs
, corresponding to the:chainable
SMT-LIB attribute. - pairwise
- Applies
each
to each distinct pair of arguments inargs
, corresponding to the:pairwise
SMT-LIB attribute. - parse_
commands - Parses an SMT-LIB file, returning an iterator of parsed SMT-LIB commands.
- try_
chained - Applies a fallible function to each adjacent pair of arguments in
args
, corresponding to the:chainable
SMT-LIB attribute. - try_
pairwise - Applies a fallible function to each distinct pair of arguments in
args
, corresponding to the:pairwise
SMT-LIB attribute.
Type Aliases§
- Void
- An uninhabited type, useful for defining theories that contain no operations beyond those in SMT-LIB’s Core theory.