1#ifndef SOLVERS_SMT_TUPLE_SMT_TUPLE_SYM_H_
2#define SOLVERS_SMT_TUPLE_SMT_TUPLE_SYM_H_
33 const type2tc &subtype)
override;
Definition namespace.h:10
The base SMT-conversion class/interface.
Definition smt_solver.h:170
expr2tc tuple_get_array_elem(smt_astt array, uint64_t index, const type2tc &subtype) override
Definition smt_tuple_sym.cpp:206
const namespacet & ns
Definition smt_tuple_sym.h:43
smt_astt tuple_array_create(const type2tc &array_type, smt_astt *input_args, bool const_array, smt_sortt domain) override
Definition smt_tuple_sym.cpp:65
smt_solver_baset * ctx
Definition smt_tuple_sym.h:42
smt_astt tuple_fresh(smt_sortt s, std::string name="") override
Create a fresh tuple, with freely valued fields.
Definition smt_tuple_sym.cpp:31
expr2tc tuple_get_rec(tuple_sym_smt_astt tuple)
smt_tuple_sym_flattener(smt_solver_baset *_ctx, const namespacet &_ns)
Definition smt_tuple_sym.h:13
smt_astt tuple_create(const expr2tc &structdef) override
Create a new tuple from a struct definition.
Definition smt_tuple_sym.cpp:9
smt_astt mk_tuple_array_symbol(const expr2tc &expr) override
Like mk_tuple_symbol, but for arrays.
Definition smt_tuple_sym.cpp:56
smt_astt mk_tuple_symbol(const std::string &name, smt_sortt s) override
Convert a symbol to a tuple_smt_ast.
Definition smt_tuple_sym.cpp:43
virtual ~smt_tuple_sym_flattener()=default
smt_sortt mk_struct_sort(const type2tc &type) override
Create a sort representing a struct.
Definition smt_tuple_sym.cpp:218
expr2tc tuple_get(const expr2tc &expr) override
Extract the assignment to a tuple-typed symbol from the SMT solvers model.
Definition smt_tuple_sym.cpp:126
smt_astt tuple_array_of(const expr2tc &init_value, unsigned long domain_width) override
Create a potentially /large/ array of tuples.
Definition smt_tuple_sym.cpp:168
Definition smt_tuple.h:27
Definition smt_tuple_sym_ast.h:12
irep_container< type2t > type2tc
Definition irep2.h:430
irep_container< expr2t > expr2tc
Definition irep2.h:431
const smt_ast * smt_astt
Definition smt_ast.h:30
const smt_sort * smt_sortt
Definition smt_sort.h:37
const tuple_sym_smt_ast * tuple_sym_smt_astt
Definition smt_tuple_sym.h:8