1 // evaluates constraints in the ICL
4 #ifndef PROCESSOBJECT_H
5 #define PROCESSOBJECT_H
14 processobject(model *m);
15 int processpredicate(Predicate *p, Hashtable *env);
16 bool issatisfied(Constraint *c); // returns true iff c is satisfied
17 bool processconstraint(Constraint *c); // evaluates c and if it's not satisfied, calls the repair alg.
18 void breakconstraint(Constraint *c); // breaks the given constraint by invalidating each of its satisfied sentences
19 void modifyconstraint(Constraint *c); // modifies the given constraint
26 int processstatement(Statement *s, Hashtable *env);
30 Element * evaluateexpr(Elementexpr *ee, Hashtable *env, model *m);
31 Element * evaluatevalueexpr(Valueexpr *ve, Hashtable *env, model *m);