Hi,
Is there an established ISL API or recommended sequence to eliminate redundant symbol parameters (e.g., n0) from isl_set/ isl_map?
We encounter cases where symbolic domain bounds create unnecessary constraints downstream (e.g., during Farkas coefficient computation):
[n0] -> { S[d0, d1 = -d0] : 0 < d0 <= -2 + n0; S[d0 = 0, d1 = 0] : n0 >= 2 }
[n0] -> { S[d0, d1 = -d0] : 0 < d0 <= -2 + n0 }
[n0] -> { S[d0 = 0, d1 = 1] : n0 >= 3 }
In Example 3, the presence of n0 leads to a complex coefficient space: { rat: coefficients[[c_cst, c_n0] -> S[c_d0, c_d1]] : c_n0 >= 0 and c_d1 >= -c_cst - 3c_n0 }
Ideally, this should normalize to { S[0, 1] }, producing a simpler coefficient domain.
Is there a standard built-in ISL method to detect and eliminate such redundant parameters?
Thanks,
lonelyeagle02