class Z3::SeqSort

Defined in:

z3/seq_sort.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(element_sort : CharSort.class) #

Z3 has no String sort of its own, a String is just a Seq(Char) - so Seq(Char) has to come back as StringSort, or we'd have two Crystal classes for one Z3 sort


[View source]
def self.new(element_sort : AnySort) #

[View source]

Instance Method Detail

def ==(other : SeqSort) #

Z3 hash-conses its sorts, so two Seq sorts over the same element sort are one sort


[View source]
def [](expr : SeqExpr) #

[View source]
def [](values : Array) #

Z3 has no sequence literals, a sequence value is a concatenation of one element sequences - and it rejects a concatenation of fewer than two of them


[View source]
def cast(value) : SeqExpr #

[View source]
def element_sort : Z3::BitvecSort | Z3::BoolSort.class | Z3::CharSort.class | Z3::IntSort.class | Z3::RealSort.class | Z3::SeqSort | Z3::StringSort.class #

[View source]
def empty #

[View source]
def from_ast(ast : LibZ3::Ast) : SeqExpr #

[View source]
def to_s(io) #

[View source]
def to_unsafe : LibZ3::Sort #

[View source]
def unit(value) #

The one element sequence holding value, which is what every sequence value is built out of


[View source]
def var(name : String) #

[View source]