8 int main(int numargs, char **argv) {
9 CSolver *solver = new CSolver();
10 uint64_t set1[] = {5};
11 uint64_t set3[] = {1, 3, 4, 6};
12 Set *s1 = solver->createSet(0, set1, 3);
13 Set *s3 = solver->createSet(0, set3, 4);
14 Element *e1 = solver->getElementConst(4, 5);
15 Element *e2 = solver->getElementVar(s3);
16 Set *domain2[] = {s1, s3};
17 Predicate *lt = solver->createPredicateOperator(LT, domain2, 2);
18 Element *inputs2[] = {e1, e2};
19 Boolean *b = solver->applyPredicate(lt, inputs2, 2);
20 solver->addConstraint(b);
21 if (solver->startEncoding() == 1)
22 printf("e1=%" PRIu64 " e2=%" PRIu64 "\n", solver->getElementValue(e1), solver->getElementValue(e2));