|
CBMC
|
#include <equality.h>
Inheritance diagram for equalityt:
Collaboration diagram for equalityt:Classes | |
| struct | typestructt |
Public Types | |
| using | SUB = prop_conv_solvert |
Public Types inherited from prop_conv_solvert | |
| typedef std::map< irep_idt, literalt > | symbolst |
| typedef std::unordered_map< exprt, literalt, irep_hash > | cachet |
Public Types inherited from decision_proceduret | |
| enum | resultt { resultt::D_SATISFIABLE, resultt::D_UNSATISFIABLE, resultt::D_ERROR } |
| Result of running the decision procedure. More... | |
Public Member Functions | |
| equalityt (propt &_prop, message_handlert &message_handler) | |
| virtual literalt | equality (const exprt &e1, const exprt &e2) |
| void | finish_eager_conversion () override |
Public Member Functions inherited from prop_conv_solvert | |
| prop_conv_solvert (propt &_prop, message_handlert &message_handler) | |
| virtual | ~prop_conv_solvert ()=default |
| decision_proceduret::resultt | dec_solve () override |
| Run the decision procedure to solve the problem. 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 () |
Public Member Functions inherited from conflict_providert | |
| virtual | ~conflict_providert ()=default |
Public Member Functions inherited from prop_convt | |
| virtual | ~prop_convt () |
Public Member Functions inherited from stack_decision_proceduret | |
| virtual | ~stack_decision_proceduret ()=default |
Public Member Functions inherited from decision_proceduret | |
| void | set_to_true (const exprt &expr) |
For a Boolean expression expr, add the constraint 'expr'. More... | |
| void | set_to_false (const exprt &expr) |
For a Boolean expression expr, add the constraint 'not expr'. More... | |
| resultt | operator() () |
| Run the decision procedure to solve the problem. More... | |
| virtual | ~decision_proceduret () |
Public Member Functions inherited from solver_resource_limitst | |
| virtual | ~solver_resource_limitst ()=default |
Protected Types | |
| 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 |
Protected Member Functions | |
| virtual literalt | equality2 (const exprt &e1, const exprt &e2) |
| virtual void | add_equality_constraints () |
| virtual void | add_equality_constraints (const typestructt &typestruct) |
Protected Member Functions inherited from prop_conv_solvert | |
| virtual optionalt< 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) |
Protected Attributes | |
| typemapt | typemap |
Protected Attributes inherited from prop_conv_solvert | |
| bool | post_processing_done = false |
| symbolst | symbols |
| cachet | cache |
| propt & | prop |
| messaget | log |
| bvt | assumption_stack |
| Assumptions on the stack. More... | |
| std::size_t | context_literal_counter = 0 |
| To generate unique literal names for contexts. More... | |
| std::vector< size_t > | context_size_stack |
assumption_stack is segmented in contexts; Number of assumptions in each context on the stack More... | |
Additional Inherited Members | |
Public Attributes inherited from prop_conv_solvert | |
| bool | use_cache = true |
| bool | equality_propagation = true |
| bool | freeze_all = false |
Static Protected Attributes inherited from prop_conv_solvert | |
| static const char * | context_prefix = "prop_conv::context$" |
Definition at line 19 of file equality.h.
|
protected |
Definition at line 41 of file equality.h.
|
protected |
Definition at line 39 of file equality.h.
|
protected |
Definition at line 40 of file equality.h.
| using equalityt::SUB = prop_conv_solvert |
Definition at line 29 of file equality.h.
|
protected |
Definition at line 50 of file equality.h.
|
inline |
Definition at line 22 of file equality.h.
|
protectedvirtual |
Definition at line 89 of file equality.cpp.
|
protectedvirtual |
Definition at line 96 of file equality.cpp.
Definition at line 17 of file equality.cpp.
Definition at line 25 of file equality.cpp.
|
inlineoverridevirtual |
Reimplemented from prop_conv_solvert.
Definition at line 31 of file equality.h.
|
protected |
Definition at line 52 of file equality.h.