Skip to content

Commit 27cee88

Browse files
authored
Merge pull request #1067 from diffblue/sva_sequence_property
weak, strong and implicit SVA sequence properties are SVA operators
2 parents f24a826 + 6cb2428 commit 27cee88

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/ebmc/completeness_threshold.cpp

+14
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,20 @@ bool has_low_completeness_threshold(const exprt &expr)
6363
upper_int <= 1;
6464
}
6565
}
66+
else if(
67+
expr.id() == ID_sva_strong || expr.id() == ID_sva_weak ||
68+
expr.id() == ID_sva_implicit_strong || expr.id() == ID_sva_implicit_weak)
69+
{
70+
auto &sequence = to_sva_sequence_property_expr_base(expr).sequence();
71+
if(!is_SVA_sequence_operator(sequence))
72+
return true;
73+
else
74+
return false;
75+
}
76+
else if(expr.id() == ID_sva_sequence_property)
77+
{
78+
PRECONDITION(false); // should have been turned into implicit weak/strong
79+
}
6680
else
6781
return false;
6882
}

src/temporal-logic/temporal_logic.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ bool is_SVA_operator(const exprt &expr)
132132
id == ID_sva_overlapped_implication ||
133133
id == ID_sva_non_overlapped_implication ||
134134
id == ID_sva_overlapped_followed_by ||
135-
id == ID_sva_nonoverlapped_followed_by;
135+
id == ID_sva_nonoverlapped_followed_by ||
136+
id == ID_sva_sequence_property || id == ID_sva_weak ||
137+
id == ID_sva_strong || id == ID_sva_implicit_weak ||
138+
id == ID_sva_implicit_strong;
136139
}
137140

138141
bool is_SVA(const exprt &expr)

0 commit comments

Comments
 (0)