Expand description

Traits your types must implement so that rsmt2 can use them.

Most of the ...2Smt traits take some notion of information. This lets you change how printing behaves by passing some print-time info to commands like Solver::assert.

Technical note: this can be useful to avoid duplicating expressions, for instance if you are doing k-induction and don’t want to actually build an expression each time you want to assert the transition relation with variables distinct from previous ones. Instead, you can just pass the k as print-info and print variables differently based on that.

Re-exports

pub use crate::errors::*;
pub use crate::prelude::*;

Structs

Wraps an expression and a symbol. Symbol is understood as the name of the expression.

Traits

Gathers data for an ADT declaration.

Stores data for a variant of an ADT.

Contains data for a field of a variant of an ADT.

An expression printable in the SMT-LIB 2 standard given some info.

Function definition data.

A sort printable in the SMT-LIB 2 standard.

A symbol printable in the SMT-LIB 2 standard given some info.

A symbol and a sort, implemented by by symbol/sort pairs.

Functions

Writes a string.

Type Definitions

Type of a model.