case is as below,
def test_min():
m = tvm.var('m')
vrange = tvm.convert({m: tvm.Range(tvm.const(0), tvm.const(2))})
t = (tvm.min(((m*219648) + 1), 186369) - tvm.max((m*219648), 186368)) < 1
ret = tvm.ir_pass.Simplify(t, vrange)
print(ret)
the result is we can not prove t is true in math, which is correct, since we’ll have m = 0
for tvm.max((m*219648), 186368),
and m = 1
fortvm.min(((m*219648) + 1), 186369).
However that’s not we expect, because in IR context, we always have the same m value for the whole t expr.
So how do we have a simplify like this?