cprover
|
#include <decision_procedure.h>
Public Types | |
enum | resultt { resultt::D_SATISFIABLE, resultt::D_UNSATISFIABLE, resultt::D_ERROR } |
Public Member Functions | |
decision_proceduret (const namespacet &_ns) | |
virtual exprt | get (const exprt &expr) const =0 |
virtual void | print_assignment (std::ostream &out) const =0 |
virtual void | set_to (const exprt &expr, bool value)=0 |
void | set_to_true (const exprt &expr) |
void | set_to_false (const exprt &expr) |
virtual resultt | dec_solve ()=0 |
resultt | operator() () |
virtual bool | in_core (const exprt &expr) |
virtual std::string | decision_procedure_text () const =0 |
Protected Attributes | |
const namespacet & | ns |
Additional Inherited Members |
Definition at line 20 of file decision_procedure.h.
|
strong |
Enumerator | |
---|---|
D_SATISFIABLE | |
D_UNSATISFIABLE | |
D_ERROR |
Definition at line 45 of file decision_procedure.h.
|
inlineexplicit |
Definition at line 23 of file decision_procedure.h.
|
pure virtual |
Implemented in smt2_convt, prop_conv_solvert, smt1_convt, string_refinementt, smt2_dect, smt1_dect, dplib_dect, cvc_dect, and bv_refinementt.
Referenced by path_symex_statet::check_assertion(), scratch_programt::check_sat(), cover_goalst::operator()(), prop_minimizet::operator()(), operator()(), bmct::run_decision_procedure(), and fault_localizationt::run_decision_procedure().
|
pure virtual |
Implemented in smt2_convt, prop_conv_solvert, smt1_convt, smt2_dect, smt1_dect, string_refinementt, and bv_refinementt.
Referenced by bmc_all_propertiest::operator()(), bmc_covert::operator()(), bmct::run_decision_procedure(), and fault_localizationt::run_decision_procedure().
Implemented in smt2_convt, prop_conv_solvert, smt1_convt, and boolbvt.
Referenced by build_full_lhs_rec(), build_goto_trace(), and scratch_programt::eval().
|
virtual |
Definition at line 16 of file decision_procedure.cpp.
|
inline |
Definition at line 50 of file decision_procedure.h.
References dec_solve().
|
pure virtual |
Implemented in smt2_convt, prop_conv_solvert, smt1_convt, boolbvt, and cvc_convt.
|
pure virtual |
Implemented in smt2_convt, bv_refinementt, prop_conv_solvert, smt1_convt, prop_conv_storet, boolbvt, dplib_convt, and cvc_convt.
Referenced by path_symex_statet::check_assertion(), symex_target_equationt::convert_io(), prop_minimizet::fix_objectives(), prop_conv_storet::constraintt::replay(), set_to_false(), and set_to_true().
|
inline |
Definition at line 41 of file decision_procedure.h.
References set_to().
Referenced by symex_target_equationt::convert_assertions(), and prop_conv_solvert::set_to().
|
inline |
Definition at line 38 of file decision_procedure.h.
References set_to().
Referenced by arrayst::add_array_constraints_update(), functionst::add_function_constraints(), cover_goalst::constraint(), symex_target_equationt::convert_assertions(), symex_target_equationt::convert_assignments(), symex_target_equationt::convert_constraints(), bv_cbmct::convert_waitfor(), bv_cbmct::convert_waitfor_symbol(), bmct::do_conversion(), operator<<(), and prop_conv_solvert::set_to().
|
protected |
Definition at line 62 of file decision_procedure.h.
Referenced by arrayst::add_array_Ackermann_constraints(), arrayst::add_array_constraints(), arrayst::add_array_constraints_array_of(), arrayst::add_array_constraints_equality(), arrayst::add_array_constraints_if(), arrayst::add_array_constraints_update(), arrayst::add_array_constraints_with(), bv_refinementt::arrays_overapproximated(), smt1_convt::binary2struct(), smt1_convt::binary2union(), string_refinementt::boolbv_set_equality_to_true(), boolbvt::boolbv_set_equality_to_true(), boolbvt::bv_get_rec(), boolbvt::bv_get_unbounded_array(), smt1_convt::ce_value(), string_refinementt::check_axioms(), bv_refinementt::check_SAT(), arrayst::collect_arrays(), arrayst::collect_indices(), boolbvt::convert_add_sub(), dplib_convt::convert_address_of_rec(), cvc_convt::convert_address_of_rec(), bv_pointerst::convert_address_of_rec(), smt1_convt::convert_address_of_rec(), smt2_convt::convert_address_of_rec(), bv_pointerst::convert_bitvector(), boolbvt::convert_bv_typecast(), smt1_convt::convert_byte_extract(), boolbvt::convert_byte_extract(), smt2_convt::convert_byte_extract(), boolbvt::convert_byte_update(), boolbvt::convert_equality(), smt1_convt::convert_expr(), smt2_convt::convert_expr(), bv_refinementt::convert_floatbv_op(), boolbvt::convert_floatbv_op(), smt2_convt::convert_floatbv_typecast(), boolbvt::convert_floatbv_typecast(), boolbvt::convert_index(), smt2_convt::convert_index(), smt1_convt::convert_member(), boolbvt::convert_member(), smt2_convt::convert_member(), smt2_convt::convert_minus(), bv_refinementt::convert_mult(), smt1_convt::convert_plus(), smt2_convt::convert_plus(), bv_pointerst::convert_pointer_type(), boolbvt::convert_power(), boolbvt::convert_quantifier(), boolbvt::convert_struct(), smt2_convt::convert_struct(), smt1_convt::convert_type(), smt2_convt::convert_type(), smt1_convt::convert_typecast(), smt2_convt::convert_typecast(), boolbvt::convert_unary_minus(), smt2_convt::convert_union(), boolbvt::convert_union(), boolbvt::convert_update_rec(), boolbvt::convert_verilog_case_equality(), smt1_convt::convert_with(), smt2_convt::convert_with(), boolbvt::convert_with(), boolbvt::convert_with_struct(), boolbvt::convert_with_union(), smt2_convt::define_object_size(), bv_pointerst::do_postponed(), smt1_convt::find_symbols_rec(), smt2_convt::find_symbols_rec(), smt2_convt::flatten2bv(), smt2_convt::flatten_array(), boolbvt::is_unbounded_array(), smt2_convt::parse_literal(), smt2_convt::parse_rec(), arrayst::record_array_equality(), string_refinementt::set_mode(), smt2_convt::type2id(), boolbvt::type_conversion(), smt2_convt::unflatten(), arrayst::update_index_map(), and smt2_convt::use_array_theory().