New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flattening of reified constraints #67

jnmonette opened this Issue Dec 2, 2015 · 0 comments


None yet
1 participant

jnmonette commented Dec 2, 2015

Flattening the following model produces no error but a model with a call to the non-existing predicate "something_reif".

predicate something(var int: x); 
var int: x;
var bool: b;
constraint b<-> something(x);
solve satisfy;

The behaviour of 1.6 was to raise an error and I would argue that this should be the behaviour for the current MiniZinc as well. First, it makes more sense to do the same (raise an error) as for calls to other non-existing predicates. Second, errors are caught earlier: note that if the predicate is not defined in the library, then there are good chances that it is not accepted by the FlatZinc parser of the corresponding solver.

See the corresponding discussion on the MiniZinc forum:

@guidotack guidotack closed this in 1a28061 Dec 6, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment