9 int main(int numargs, char **argv) {
10 CSolver *solver = allocCSolver();
11 uint64_t set1[] = {0, 1, 2};
12 uint64_t set2[] = {3, 4};
13 Set *s1 = createSet(solver, 0, set1, 3);
14 Set *s2 = createSet(solver, 0, set2, 2);
15 Element *e1 = getElementVar(solver, s1);
16 Element *e2 = getElementVar(solver, s2);
17 Set *domain[] = {s1, s2};
18 Predicate *equals = createPredicateOperator(solver, EQUALS, domain, 2);
19 Element *inputs[] = {e1, e2};
20 Boolean *b = applyPredicate(solver, equals, inputs, 2);
21 addConstraint(solver, b);
23 if (startEncoding(solver) == 1)
24 printf("e1=%llu e2=%llu\n", getElementValue(solver,e1), getElementValue(solver, e2));