Go to the documentation of this file.
9 #ifndef CPROVER_SOLVERS_PROP_PROP_CONV_SOLVER_H
10 #define CPROVER_SOLVERS_PROP_PROP_CONV_SOLVER_H
33 :
prop(_prop),
log(message_handler)
65 void set_to(
const exprt &expr,
bool value)
override;
70 void push(
const std::vector<exprt> &assumptions)
override;
84 typedef std::unordered_map<exprt, literalt, irep_hash>
cachet;
152 #endif // CPROVER_SOLVERS_PROP_PROP_CONV_SOLVER_H
Class that provides messages with a built-in verbosity 'level'.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
tvt l_get(literalt a) const override
Return value of literal l from satisfying assignment.
bool equality_propagation
bvt assumption_stack
Assumptions on the stack.
std::vector< size_t > context_size_stack
assumption_stack is segmented in contexts; Number of assumptions in each context on the stack
prop_conv_solvert(propt &_prop, message_handlert &message_handler)
std::vector< literalt > bvt
virtual void set_time_limit_seconds(uint32_t)
std::size_t context_literal_counter
To generate unique literal names for contexts.
Base class for all expressions.
virtual void finish_eager_conversion()
hardness_collectort * get_hardness_collector()
virtual literalt convert_bool(const exprt &expr)
virtual void ignoring(const exprt &expr)
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 i...
void set_frozen(literalt)
bool post_processing_done
virtual void clear_cache()
static const char * context_prefix
const cachet & get_cache() const
exprt get(const exprt &expr) const override
Return expr with variables replaced by values from satisfying assignment if available.
std::unordered_map< exprt, literalt, irep_hash > cachet
virtual literalt get_literal(const irep_idt &symbol)
nonstd::optional< T > optionalt
literalt convert(const exprt &expr) override
Convert a Boolean expression and return the corresponding literal.
resultt
Result of running the decision procedure.
virtual literalt convert_rest(const exprt &expr)
void add_constraints_to_prop(const exprt &expr, bool value)
Helper method used by set_to for adding the constraints to prop.
bool is_in_conflict(const exprt &expr) const override
Returns true if an expression is in the final conflict leading to UNSAT.
std::map< irep_idt, literalt > symbolst
virtual ~prop_conv_solvert()=default
virtual tvt l_get(literalt a) const =0
std::string decision_procedure_text() const override
Return a textual description of the decision procedure.
decision_proceduret::resultt dec_solve() override
Run the decision procedure to solve the problem.
const symbolst & get_symbols() const
void print_assignment(std::ostream &out) const override
Print satisfying assignment to out.
void set_time_limit_seconds(uint32_t lim) override
Set the limit for the solver to time out in seconds.
void push() override
Push a new context on the stack This context becomes a child context nested in the current context.
void pop() override
Pop whatever is on top of the stack.
virtual optionalt< bool > get_bool(const exprt &expr) const
Get a boolean value from the model if the formula is satisfiable.
void set_to(const exprt &expr, bool value) override
For a Boolean expression expr, add the constraint 'current_context => expr' if value is true,...
virtual bool set_equality_to_true(const equal_exprt &expr)
std::size_t get_number_of_solver_calls() const override
Return the number of incremental solver calls.