When a user writes a/b and the result is a non-negative type, then we currently do not restrict the result to be non-negative. This is relevant when b = 0 holds, in which case the SMT solver can assign any value to a/0, including negative numbers. If used as expectations, this can break all kinds of assumptions, including error reporting by slicing. I have observed a counterexample where all assertions were sliced because of this (which should not be possible).
When a user writes
a/band the result is a non-negative type, then we currently do not restrict the result to be non-negative. This is relevant whenb = 0holds, in which case the SMT solver can assign any value toa/0, including negative numbers. If used as expectations, this can break all kinds of assumptions, including error reporting by slicing. I have observed a counterexample where all assertions were sliced because of this (which should not be possible).