if(l.isEmpty())throw new UnsupportedOperationException();
if(enumerated){
succ[i] = VF.enumerated("suc",l.toArray(),solver);
}else{
succ[i] = VF.bounded("suc",offset,n+offset,solver);
solver.post(ICF.member(succ[i],l.toArray()));
}
}
succ[n-1] = VF.fixed(n+offset,solver);
solver.post(ICF.path(succ,VF.fixed(offset,solver),VF.fixed(n-1+offset,solver),offset));
// configure solver