@@ -123,40 +123,15 @@ wl_instantiatet::instantiate_rec(exprt expr, const mp_integer &t) const
123123 expr.id () == ID_typecast && expr.type ().id () == ID_bool &&
124124 to_typecast_expr (expr).op ().type ().id () == ID_verilog_sva_sequence)
125125 {
126- auto &sequence = to_typecast_expr (expr).op ();
127-
128- // sequence expressions -- these may have multiple potential
129- // match points, and evaluate to true if any of them matches
130- const auto matches = instantiate_sequence (sequence, t, no_timeframes);
131- exprt::operandst disjuncts;
132- disjuncts.reserve (matches.size ());
133- mp_integer max = t;
134-
135- for (auto &match : matches)
136- {
137- disjuncts.push_back (match.condition );
138- max = std::max (max, match.end_time );
139- }
140-
141- return {max, disjunction (disjuncts)};
126+ // should have been done by property_obligations_rec
127+ PRECONDITION (false );
142128 }
143- else if (expr.id () == ID_sva_sequence_property)
129+ else if (
130+ expr.id () == ID_sva_sequence_property || expr.id () == ID_sva_weak ||
131+ expr.id () == ID_sva_strong)
144132 {
145- // sequence expressions -- these may have multiple potential
146- // match points, and evaluate to true if any of them matches
147- auto &sequence = to_sva_sequence_property_expr (expr);
148- const auto matches = instantiate_sequence (sequence, t, no_timeframes);
149- exprt::operandst disjuncts;
150- disjuncts.reserve (matches.size ());
151- mp_integer max = t;
152-
153- for (auto &match : matches)
154- {
155- disjuncts.push_back (match.condition );
156- max = std::max (max, match.end_time );
157- }
158-
159- return {max, disjunction (disjuncts)};
133+ // should have been done by property_obligations_rec
134+ PRECONDITION (false );
160135 }
161136 else if (expr.id () == ID_verilog_past)
162137 {
0 commit comments