@@ -267,13 +267,27 @@ ltl_sva_to_stringt::rec(const exprt &expr, modet mode)
267267 PRECONDITION (mode == PROPERTY);
268268 return infix (" U " , expr, mode);
269269 }
270+ else if (expr.id () == ID_sva_until)
271+ {
272+ PRECONDITION (mode == PROPERTY);
273+ return infix (" W " , expr, mode);
274+ }
270275 else if (expr.id () == ID_sva_s_until_with)
271276 {
272- // This is release with swapped operands
277+ // This is strong release with swapped operands
273278 PRECONDITION (mode == PROPERTY);
274279 auto &until_with = to_sva_s_until_with_expr (expr);
275- auto R = R_exprt{until_with.rhs (), until_with.lhs ()}; // swapped
276- return rec (R, mode);
280+ auto new_expr =
281+ strong_R_exprt{until_with.rhs (), until_with.lhs ()}; // swapped
282+ return infix (" M " , new_expr, mode);
283+ }
284+ else if (expr.id () == ID_sva_until_with)
285+ {
286+ // This is weak release with swapped operands
287+ PRECONDITION (mode == PROPERTY);
288+ auto &until_with = to_sva_until_with_expr (expr);
289+ auto new_expr = R_exprt{until_with.rhs (), until_with.lhs ()}; // swapped
290+ return infix (" R " , new_expr, mode);
277291 }
278292 else if (
279293 expr.id () == ID_sva_weak || expr.id () == ID_sva_strong ||
0 commit comments