Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Static Protected Member Functions | Static Protected Attributes | Friends
CNode Class Reference
Inheritance diagram for CNode:
Connective False Leaf True BooleanVar EqLeaf ILPLeaf ModLeaf QuantifiedLeaf

List of all members.


struct  refactor_lessthan

Public Member Functions

CNodeget_simplification (simplification_level min_level)
void set_simplification (CNode *simplified_node, simplification_level level)
CNoderefactor ()
CNodemake_canonical ()
bool check_canonical ()
CNodeget_attribute_constraints ()
virtual CNodesubstitute (map< Term *, Term * > &subs)=0
CNodesubstitute (Term *(*sub_func)(Term *t))
CNodesubstitute (Term *t1, Term *t2)
CNodesubstitute (Term *(*sub_func)(Term *t, void *data), void *my_data)
CNodesubstitute (map< CNode *, CNode * > &subs)
cnode_type get_type () const
virtual bool operator== (const CNode &other)=0
virtual string to_string ()=0
string to_prefix_notation ()
bool is_leaf () const
bool is_literal () const
bool is_connective () const
bool is_conjunct () const
bool is_disjunct () const
bool has_quantifier () const
bool contains_inequality ()
bool is_constant () const
size_t hash_code ()
void get_vars (set< string > &vars)
void get_vars (set< int > &vars)
void get_vars (set< Term * > &vars)
bool contains_var (int var_id)
bool contains_term (Term *t)
bool contains_term (set< Term * > &terms)
CNoderename_variable (int old_var_id, int new_var_id)
CNoderename_variables (map< int, int > &replacements)
void get_nested_terms (set< Term * > &terms, bool include_function_subterms, bool include_constants=true)
CNodeadd_attributes (set< Term * > *which_terms=NULL)
Termcontains_term_equality (Term *t)
void collect_term_equalities (Term *t, set< Term * > &eqs)
CNodereplace_leaves_containing_term (Term *t, CNode *replacement)
CNodereplace (CNode *orig, CNode *replacement)
int num_leaves_containing_term (Term *t)
void get_all_literals (set< CNode * > &literals)
void get_all_leaves (set< CNode * > &leaves)
void get_literals_containing_term (Term *t, set< CNode * > &leaves)
CNodefold_negated_ilps ()
int get_size ()
CNodeevaluate_assignment (map< Term *, SatValue > &assignment)
CNodeevaluate_assignment (map< CNode *, bool > &assignments)
void get_all_fun_ids (set< int > &ids)
void get_all_arguments (int fun_id, int arg_num, set< Term * > &args)
CNodereplace_first_argument (map< int, Term * > &fun_id_to_replacement)
void get_all_first_arguments (set< int > &fn_ids, map< int, set< Term * > > &fn_id_to_first_arg)
void get_all_ilp_terms (set< Term * > &ilp_terms)
CNoderewrite_ilp_neqs (set< Term * > &ilp_terms)
virtual CNodedivide (long int c, Term *t)
CNodeto_cnf ()
int num_disjuncts ()

Static Public Member Functions

static CNodeuniquify_cnode (CNode *node)
static VarMapget_varmap ()
static CNodetrue_node ()
static CNodefalse_node ()
static void clear ()

Public Attributes

size_t hash_c
cnode_type node_type

Static Public Attributes

static VarMap vm
static unordered_set< CNode
*, std::hash< CNode * >
, node_eq
static bool delete_nodes = true
static unordered_map< pair
< int, CNode * >, CNode * > 

Static Protected Member Functions

static CNodeget_node (CNode *node)
static CNodeuniquify_cnode_rec (CNode *node)

Static Protected Attributes

static set< CNode * > to_delete


class Term
class boost::serialization::access

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