module Seq:sig..end
Sequences, Strings and Regular Expressions *
val mk_seq_sort : context -> Sort.sort -> Sort.sortcreate a sequence sort
val is_seq_sort : context -> Sort.sort -> booltest if sort is a sequence sort
val mk_re_sort : context -> Sort.sort -> Sort.sortcreate regular expression sorts over sequences of the argument sort
val is_re_sort : context -> Sort.sort -> booltest if sort is a regular expression sort
val mk_string_sort : context -> Sort.sortcreate string sort
val mk_char_sort : context -> Sort.sortcreate char sort
val is_string_sort : context -> Sort.sort -> booltest if sort is a string sort (a sequence of 8-bit bit-vectors)
val is_char_sort : context -> Sort.sort -> booltest if sort is a char sort
val mk_string : context -> string -> Expr.exprcreate a string literal
val is_string : context -> Expr.expr -> booltest if expression is a string
val get_string : context -> Expr.expr -> stringretrieve string from string Expr.expr
val mk_seq_empty : context -> Sort.sort -> Expr.exprthe empty sequence over base sort
val mk_seq_unit : context -> Expr.expr -> Expr.expra unit sequence
val mk_seq_concat : context -> Expr.expr list -> Expr.exprsequence concatenation
val mk_seq_prefix : context -> Expr.expr -> Expr.expr -> Expr.exprpredicate if the first argument is a prefix of the second
val mk_seq_suffix : context -> Expr.expr -> Expr.expr -> Expr.exprpredicate if the first argument is a suffix of the second
val mk_seq_contains : context -> Expr.expr -> Expr.expr -> Expr.exprpredicate if the first argument contains the second
val mk_seq_extract : context -> Expr.expr -> Expr.expr -> Expr.expr -> Expr.exprextract sub-sequence starting at index given by second argument and of length provided by third argument
val mk_seq_replace : context -> Expr.expr -> Expr.expr -> Expr.expr -> Expr.exprreplace first occurrence of second argument by third
val mk_seq_at : context -> Expr.expr -> Expr.expr -> Expr.expra unit sequence at index provided by second argument
val mk_seq_length : context -> Expr.expr -> Expr.exprlength of a sequence
val mk_seq_nth : context -> Expr.expr -> Expr.expr -> Expr.exprmk_seq_nth ctx s index retrieves from s the element at position index.
The function is under-specified if the index is out of bounds.
val mk_seq_index : context -> Expr.expr -> Expr.expr -> Expr.expr -> Expr.exprindex of the first occurrence of the second argument in the first
val mk_seq_last_index : context -> Expr.expr -> Expr.expr -> Expr.exprmk_seq_last_index ctx s substr occurence of substr in the sequence s
val mk_str_to_int : context -> Expr.expr -> Expr.exprretrieve integer expression encoded in string
val mk_str_le : context -> Expr.expr -> Expr.expr -> Expr.exprcompare strings less-than-or-equal
val mk_str_lt : context -> Expr.expr -> Expr.expr -> Expr.exprcompare strings less-than
val mk_int_to_str : context -> Expr.expr -> Expr.exprconvert an integer expression to a string
val mk_string_to_code : context -> Expr.expr -> Expr.exprmk_string_to_code ctx s convert a unit length string s to integer code
val mk_string_from_code : context -> Expr.expr -> Expr.exprmk_string_from_code ctx c convert code c to a string
val mk_ubv_to_str : context -> Expr.expr -> Expr.exprmk_ubv_to_str ctx ubv convert a unsigned bitvector ubv to a string
val mk_sbv_to_str : context -> Expr.expr -> Expr.exprmk_sbv_to_str ctx sbv convert a signed bitvector sbv to a string
val mk_seq_to_re : context -> Expr.expr -> Expr.exprcreate regular expression that accepts the argument sequence
val mk_seq_in_re : context -> Expr.expr -> Expr.expr -> Expr.exprregular expression membership predicate
val mk_re_plus : context -> Expr.expr -> Expr.exprregular expression plus
val mk_re_star : context -> Expr.expr -> Expr.exprregular expression star
val mk_re_option : context -> Expr.expr -> Expr.exproptional regular expression
val mk_re_union : context -> Expr.expr list -> Expr.exprunion of regular expressions
val mk_re_concat : context -> Expr.expr list -> Expr.exprconcatenation of regular expressions
val mk_re_range : context -> Expr.expr -> Expr.expr -> Expr.exprregular expression for the range between two characters
val mk_re_loop : context -> Expr.expr -> int -> int -> Expr.exprbounded loop regular expression
val mk_re_intersect : context -> Expr.expr list -> Expr.exprintersection of regular expressions
val mk_re_complement : context -> Expr.expr -> Expr.exprthe regular expression complement
val mk_re_empty : context -> Sort.sort -> Expr.exprthe regular expression that accepts no sequences
val mk_re_full : context -> Sort.sort -> Expr.exprthe regular expression that accepts all sequences
val mk_char : context -> int -> Expr.exprmk_char ctx i converts an integer to a character
val mk_char_le : context -> Expr.expr -> Expr.expr -> Expr.exprmk_char_le ctx lc rc compares two characters
val mk_char_to_int : context -> Expr.expr -> Expr.exprmk_char_to_int ctx c converts the character c to an integer
val mk_char_to_bv : context -> Expr.expr -> Expr.exprmk_char_to_bv ctx c converts the character c to a bitvector
val mk_char_from_bv : context -> Expr.expr -> Expr.exprmk_char_from_bv ctx bv converts the bitvector bv to a character
val mk_char_is_digit : context -> Expr.expr -> Expr.exprmk_char_is_digit ctx c checks if the character c is a digit