Zee3.StdLib.Sort
(zee3 v0.5.0)
Copy Markdown
Standard SMT-LIB2 Sorts (Types) for the Zee3 DSL.
All functions return an AST node representing an S-Expression.
Summary
Functions
Creates an Array sort mapping a domain to a range. Generates SMT: (Array domain_sort range_sort)
Creates a BitVector sort of a specific size. Generates SMT: (_ BitVec size)
A Z3 Bool sort.
A special sort which serves as an alias for a BitVec of length 32.
A Z3 Float16 (16-bit float) sort.
A Z3 Float32 (32-bit float) sort.
A Z3 Float64 (64-bit float) sort.
A Z3 Float128 (128-bit float) sort.
Creates a custom FloatingPoint sort. eb: exponent bits, sb: significand bits. Generates SMT: (_ FloatingPoint eb sb)
A Z3 Int sort.
A Z3 Real sort.
A Z3 RegLang (regular language) sort.
A Z3 RoundingMode sort.
Types
@type t() :: Zee3.Smt2.t()
Functions
Creates an Array sort mapping a domain to a range. Generates SMT: (Array domain_sort range_sort)
@spec bit_vec(integer() | Zee3.Smt2.t()) :: Zee3.Smt2.t()
Creates a BitVector sort of a specific size. Generates SMT: (_ BitVec size)
@spec bool() :: Zee3.Smt2.t()
A Z3 Bool sort.
@spec entity_id() :: Zee3.Smt2.t()
A special sort which serves as an alias for a BitVec of length 32.
This is meant to be used as the type of entity IDs for the datalog engine, which needs a finite sort, and defaulting to a BitVec of this size seems like a safe option.
@spec float16() :: Zee3.Smt2.t()
A Z3 Float16 (16-bit float) sort.
@spec float32() :: Zee3.Smt2.t()
A Z3 Float32 (32-bit float) sort.
@spec float64() :: Zee3.Smt2.t()
A Z3 Float64 (64-bit float) sort.
@spec float128() :: Zee3.Smt2.t()
A Z3 Float128 (128-bit float) sort.
@spec floating_point(integer() | Zee3.Smt2.t(), integer() | Zee3.Smt2.t()) :: Zee3.Smt2.t()
@spec floating_point(Zee3.Smt2.t(), Zee3.Smt2.t()) :: Zee3.Smt2.t()
Creates a custom FloatingPoint sort. eb: exponent bits, sb: significand bits. Generates SMT: (_ FloatingPoint eb sb)
@spec int() :: Zee3.Smt2.t()
A Z3 Int sort.
@spec real() :: Zee3.Smt2.t()
A Z3 Real sort.
@spec reg_lan() :: Zee3.Smt2.t()
A Z3 RegLang (regular language) sort.
@spec rounding_mode() :: Zee3.Smt2.t()
A Z3 RoundingMode sort.
@spec string() :: Zee3.Smt2.t()
A Z3 String sort.