class Z3::StringSort

Overview

Z3 represents a String as a Seq(Char), so this is the very same sort as SeqSort.new(CharSort) - which is why that hands back StringSort

Defined in:

z3/string_sort.cr

Class Method Summary

Class Method Detail

def self.[](expr : StringExpr) #

[View source]
def self.[](value : String) #

A Z3 string is a sequence of code points, so a Crystal String converts character by character, not byte by byte - which means it has to be valid UTF-8


[View source]
def self.cast(value) : StringExpr #

[View source]
def self.element_sort #

[View source]
def self.from_ast(ast : LibZ3::Ast) : StringExpr #

[View source]
def self.from_code(int : IntExpr | Int) #

The one character string for a code point, or "" if it isn't one. StringExpr#to_code is this backwards.


[View source]
def self.from_int(int : IntExpr | Int) #

The decimal digits of a nonnegative Int. SMT-LIB says a negative number has no string form at all, and Z3 answers "" for one rather than "-1".


[View source]
def self.from_signed_bv(bv : BitvecExpr) #

[View source]
def self.from_unsigned_bv(bv : BitvecExpr) #

Decimal digits again, but of a Bitvec read either way - the same eight bits give "253" unsigned and "-3" signed


[View source]
def self.to_s(io) #

[View source]
def self.to_unsafe #

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

[View source]