Allow merging input variable with concrete object that has a subtype
We discussed this previously as part of #105 (closed).
From #105 (comment 32989)
I have ran into problems with ranged
int
variables before.I've had problems in the past. For example,
alg int x = 3
can be merged withinput int x
, via the CifMerger. However, if it is converted toalg int[3..3] x = 3
it can no longer be merged. Pretty printing should not change merge compatibility.
It may be good to allow merging an input variable of type int
with another object (e.g. algebraic variable) of type int[a..b]
for some a
and b
. Similarly, we could allow merging constants, discrete variables, etc. And we could allow this for list int
, etc. We maybe could be more liberal here.
All places where the input variable are used, all int
values are assumed. It should not be an issue if we only concretely use a subset of those values. This should not break any models.