@@ -12,15 +12,14 @@ Author: Daniel Kroening, kroening@kroening.com
1212
1313bool is_temporal_operator (const exprt &expr)
1414{
15- return is_CTL_operator (expr) || is_LTL_operator (expr) || expr.id () == ID_A ||
16- expr.id () == ID_E || expr.id () == ID_sva_always ||
17- expr.id () == ID_sva_always || expr.id () == ID_sva_ranged_always ||
18- expr.id () == ID_sva_nexttime || expr.id () == ID_sva_s_nexttime ||
19- expr.id () == ID_sva_non_overlapped_implication ||
20- expr.id () == ID_sva_until || expr.id () == ID_sva_s_until ||
21- expr.id () == ID_sva_until_with || expr.id () == ID_sva_s_until_with ||
22- expr.id () == ID_sva_eventually || expr.id () == ID_sva_s_eventually ||
23- expr.id () == ID_sva_cycle_delay ||
15+ return is_CTL_operator (expr) || is_LTL_operator (expr) ||
16+ is_SVA_sequence (expr) || expr.id () == ID_A || expr.id () == ID_E ||
17+ expr.id () == ID_sva_always || expr.id () == ID_sva_always ||
18+ expr.id () == ID_sva_ranged_always || expr.id () == ID_sva_nexttime ||
19+ expr.id () == ID_sva_s_nexttime || expr.id () == ID_sva_until ||
20+ expr.id () == ID_sva_s_until || expr.id () == ID_sva_until_with ||
21+ expr.id () == ID_sva_s_until_with || expr.id () == ID_sva_eventually ||
22+ expr.id () == ID_sva_s_eventually || expr.id () == ID_sva_cycle_delay ||
2423 expr.id () == ID_sva_overlapped_followed_by ||
2524 expr.id () == ID_sva_nonoverlapped_followed_by;
2625}
@@ -66,3 +65,15 @@ bool is_LTL(const exprt &expr)
6665
6766 return !has_subexpr (expr, non_LTL_operator);
6867}
68+
69+ bool is_SVA_sequence (const exprt &expr)
70+ {
71+ auto id = expr.id ();
72+ // Note that ID_sva_overlapped_followed_by and ID_sva_nonoverlapped_followed_by
73+ // are property expressions, not sequence expressions.
74+ return id == ID_sva_overlapped_implication ||
75+ id == ID_sva_non_overlapped_implication || id == ID_sva_cycle_delay ||
76+ id == ID_sva_sequence_concatenation ||
77+ id == ID_sva_sequence_intersect || id == ID_sva_sequence_first_match ||
78+ id == ID_sva_sequence_throughout || id == ID_sva_sequence_within;
79+ }
0 commit comments