|
| arrayst (const namespacet &_ns, propt &_prop, message_handlert &message_handler, bool get_array_constraints=false) |
|
void | finish_eager_conversion () override |
|
literalt | record_array_equality (const equal_exprt &expr) |
|
void | record_array_index (const index_exprt &expr) |
|
| equalityt (propt &_prop, message_handlert &message_handler) |
|
virtual literalt | equality (const exprt &e1, const exprt &e2) |
|
void | finish_eager_conversion () override |
|
| prop_conv_solvert (propt &_prop, message_handlert &message_handler) |
|
virtual | ~prop_conv_solvert ()=default |
|
decision_proceduret::resultt | dec_solve (const exprt &) override |
| Implementation of the decision procedure. More...
|
|
void | print_assignment (std::ostream &out) const override |
| Print satisfying assignment to out . More...
|
|
std::string | decision_procedure_text () const override |
| Return a textual description of the decision procedure. More...
|
|
exprt | get (const exprt &expr) const override |
| Return expr with variables replaced by values from satisfying assignment if available. More...
|
|
tvt | l_get (literalt a) const override |
| Return value of literal l from satisfying assignment. More...
|
|
exprt | handle (const exprt &expr) override |
| Generate a handle, which is an expression that has the same value as the argument in any model that is generated; this offers an efficient way to refer to the expression in subsequent calls to get or set_to. More...
|
|
void | set_frozen (literalt) |
|
void | set_frozen (const bvt &) |
|
void | set_all_frozen () |
|
literalt | convert (const exprt &expr) override |
| Convert a Boolean expression and return the corresponding literal. More...
|
|
bool | is_in_conflict (const exprt &expr) const override |
| Returns true if an expression is in the final conflict leading to UNSAT. More...
|
|
void | set_to (const exprt &expr, bool value) override |
| For a Boolean expression expr , add the constraint 'current_context => expr' if value is true , otherwise add 'current_context => not expr'. More...
|
|
void | push () override |
| Push a new context on the stack This context becomes a child context nested in the current context. More...
|
|
void | push (const std::vector< exprt > &assumptions) override |
| Push assumptions in form of literal_exprt More...
|
|
void | pop () override |
| Pop whatever is on top of the stack. More...
|
|
virtual void | clear_cache () |
|
const cachet & | get_cache () const |
|
const symbolst & | get_symbols () const |
|
void | set_time_limit_seconds (uint32_t lim) override |
| Set the limit for the solver to time out in seconds. More...
|
|
std::size_t | get_number_of_solver_calls () const override |
| Return the number of incremental solver calls. More...
|
|
hardness_collectort * | get_hardness_collector () |
|
virtual | ~conflict_providert ()=default |
|
virtual | ~prop_convt () |
|
virtual | ~stack_decision_proceduret ()=default |
|
void | set_to_true (const exprt &) |
| For a Boolean expression expr , add the constraint 'expr'. More...
|
|
void | set_to_false (const exprt &) |
| For a Boolean expression expr , add the constraint 'not expr'. More...
|
|
resultt | operator() () |
| Run the decision procedure to solve the problem This corresponds to SMT-LIB's check-sat. More...
|
|
resultt | operator() (const exprt &assumption) |
| Run the decision procedure to solve the problem under the given assumption. More...
|
|
virtual | ~decision_proceduret () |
|
virtual | ~solver_resource_limitst ()=default |
|
|
enum class | lazy_typet {
ARRAY_ACKERMANN
, ARRAY_WITH
, ARRAY_IF
, ARRAY_OF
,
ARRAY_TYPECAST
, ARRAY_CONSTANT
, ARRAY_COMPREHENSION
, ARRAY_LET
} |
|
enum class | constraint_typet {
ARRAY_ACKERMANN
, ARRAY_WITH
, ARRAY_IF
, ARRAY_OF
,
ARRAY_TYPECAST
, ARRAY_CONSTANT
, ARRAY_COMPREHENSION
, ARRAY_EQUALITY
,
ARRAY_LET
} |
|
typedef std::list< array_equalityt > | array_equalitiest |
|
typedef std::set< exprt > | index_sett |
|
typedef std::map< std::size_t, index_sett > | index_mapt |
|
typedef std::map< constraint_typet, size_t > | array_constraint_countt |
|
typedef std::unordered_map< const exprt, unsigned, irep_hash > | elementst |
|
typedef std::map< std::pair< unsigned, unsigned >, literalt > | equalitiest |
|
typedef std::map< unsigned, exprt > | elements_revt |
|
typedef std::unordered_map< const typet, typestructt, irep_hash > | typemapt |
|
|
virtual void | finish_eager_conversion_arrays () |
|
void | add_array_constraint (const lazy_constraintt &lazy, bool refine=true) |
| adds array constraints (refine=true...lazily for the refinement loop) More...
|
|
void | display_array_constraint_count () |
|
std::string | enum_to_string (constraint_typet) |
|
void | add_array_constraints () |
|
void | add_array_Ackermann_constraints () |
|
void | add_array_constraints_equality (const index_sett &index_set, const array_equalityt &array_equality) |
|
void | add_array_constraints (const index_sett &index_set, const exprt &expr) |
|
void | add_array_constraints_if (const index_sett &index_set, const if_exprt &exprt) |
|
void | add_array_constraints_with (const index_sett &index_set, const with_exprt &expr) |
|
void | add_array_constraints_update (const index_sett &index_set, const update_exprt &expr) |
|
void | add_array_constraints_array_of (const index_sett &index_set, const array_of_exprt &exprt) |
|
void | add_array_constraints_array_constant (const index_sett &index_set, const array_exprt &exprt) |
|
void | add_array_constraints_comprehension (const index_sett &index_set, const array_comprehension_exprt &expr) |
|
void | update_index_map (bool update_all) |
|
void | update_index_map (std::size_t i) |
| merge the indices into the root More...
|
|
void | collect_arrays (const exprt &a) |
|
void | collect_indices () |
|
void | collect_indices (const exprt &a) |
|
virtual bool | is_unbounded_array (const typet &type) const =0 |
|
virtual literalt | equality2 (const exprt &e1, const exprt &e2) |
|
virtual void | add_equality_constraints () |
|
virtual void | add_equality_constraints (const typestructt &typestruct) |
|
virtual std::optional< bool > | get_bool (const exprt &expr) const |
| Get a boolean value from the model if the formula is satisfiable. More...
|
|
virtual literalt | convert_rest (const exprt &expr) |
|
virtual literalt | convert_bool (const exprt &expr) |
|
virtual bool | set_equality_to_true (const equal_exprt &expr) |
|
virtual literalt | get_literal (const irep_idt &symbol) |
|
virtual void | ignoring (const exprt &expr) |
|
Definition at line 32 of file arrays.h.