@@ -2125,19 +2125,19 @@ static exprt instantiate(
2125
2125
const exprt &str,
2126
2126
const exprt &val)
2127
2127
{
2128
- exprt idx= find_index (axiom.body (), str, axiom.univ_var ());
2128
+ const exprt idx = find_index (axiom.body (), str, axiom.univ_var ());
2129
2129
if (idx.is_nil ())
2130
2130
return true_exprt ();
2131
2131
2132
- exprt r=compute_inverse_function (stream, axiom.univ_var (), val, idx);
2133
- implies_exprt instance (axiom.premise (), axiom.body ());
2132
+ const exprt r = compute_inverse_function (stream, axiom.univ_var (), val, idx);
2133
+ implies_exprt instance (
2134
+ and_exprt (
2135
+ binary_relation_exprt (axiom.univ_var (), ID_ge, axiom.lower_bound ()),
2136
+ binary_relation_exprt (axiom.univ_var (), ID_lt, axiom.upper_bound ()),
2137
+ axiom.premise ()),
2138
+ axiom.body ());
2134
2139
replace_expr (axiom.univ_var (), r, instance);
2135
- // We are not sure the index set contains only positive numbers
2136
- and_exprt bounds (
2137
- axiom.univ_within_bounds (),
2138
- binary_relation_exprt (from_integer (0 , val.type ()), ID_le, val));
2139
- replace_expr (axiom.univ_var (), r, bounds);
2140
- return implies_exprt (bounds, instance);
2140
+ return instance;
2141
2141
}
2142
2142
2143
2143
// / Instantiates a quantified formula representing `not_contains` by
0 commit comments