cprover
decision_proceduret Class Referenceabstract

#include <decision_procedure.h>

Inheritance diagram for decision_proceduret:
[legend]
Collaboration diagram for decision_proceduret:
[legend]

Public Types

enum  resultt { resultt::D_SATISFIABLE, resultt::D_UNSATISFIABLE, resultt::D_ERROR }
 
- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 

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
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level)
 
mstreamterror ()
 
mstreamtwarning ()
 
mstreamtresult ()
 
mstreamtstatus ()
 
mstreamtstatistics ()
 
mstreamtprogress ()
 
mstreamtdebug ()
 

Protected Attributes

const namespacetns
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Static Public Member Functions inherited from messaget
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Detailed Description

Definition at line 20 of file decision_procedure.h.

Member Enumeration Documentation

◆ resultt

Enumerator
D_SATISFIABLE 
D_UNSATISFIABLE 
D_ERROR 

Definition at line 45 of file decision_procedure.h.

Constructor & Destructor Documentation

◆ decision_proceduret()

decision_proceduret::decision_proceduret ( const namespacet _ns)
inlineexplicit

Definition at line 23 of file decision_procedure.h.

Member Function Documentation

◆ dec_solve()

◆ decision_procedure_text()

virtual std::string decision_proceduret::decision_procedure_text ( ) const
pure virtual

◆ get()

virtual exprt decision_proceduret::get ( const exprt expr) const
pure virtual

◆ in_core()

bool decision_proceduret::in_core ( const exprt expr)
virtual

Definition at line 16 of file decision_procedure.cpp.

◆ operator()()

resultt decision_proceduret::operator() ( void  )
inline

Definition at line 50 of file decision_procedure.h.

References dec_solve().

◆ print_assignment()

virtual void decision_proceduret::print_assignment ( std::ostream &  out) const
pure virtual

◆ set_to()

◆ set_to_false()

void decision_proceduret::set_to_false ( const exprt expr)
inline

◆ set_to_true()

Member Data Documentation

◆ ns

const namespacet& decision_proceduret::ns
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().


The documentation for this class was generated from the following files: