3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 05:18:44 +00:00

remove Kleene naming as it is a misnomer in this context

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-05-28 20:41:03 -07:00
parent 0911a06d81
commit e0130f5cf4
2 changed files with 9 additions and 9 deletions

View file

@ -2072,7 +2072,7 @@ bool seq_rewriter::get_head_tail(expr* s, expr_ref& head, expr_ref& tail) {
return false;
}
expr_ref seq_rewriter::kleene_and(expr* cond, expr* r) {
expr_ref seq_rewriter::re_and(expr* cond, expr* r) {
if (m().is_true(cond))
return expr_ref(r, m());
expr* re_empty = re().mk_empty(m().get_sort(r));
@ -2081,9 +2081,9 @@ expr_ref seq_rewriter::kleene_and(expr* cond, expr* r) {
return expr_ref(m().mk_ite(cond, r, re_empty), m());
}
expr_ref seq_rewriter::kleene_predicate(expr* cond, sort* seq_sort) {
expr_ref seq_rewriter::re_predicate(expr* cond, sort* seq_sort) {
expr_ref re_with_empty(re().mk_to_re(m_util.str.mk_empty(seq_sort)), m());
return kleene_and(cond, re_with_empty);
return re_and(cond, re_with_empty);
}
expr_ref seq_rewriter::is_nullable(expr* r) {
@ -2176,7 +2176,7 @@ expr_ref seq_rewriter::derivative(expr* elem, expr* r) {
else {
result = re().mk_union(
re().mk_concat(dr1, r2),
kleene_and(is_n, dr2)
re_and(is_n, dr2)
);
}
}
@ -2254,7 +2254,7 @@ expr_ref seq_rewriter::derivative(expr* elem, expr* r) {
expr_ref tl(m());
if (get_head_tail(r1, hd, tl)) {
// head must be equal; if so, derivative is tail
result = kleene_and(
result = re_and(
m().mk_eq(elem, hd),
re().mk_to_re(tl)
);
@ -2271,7 +2271,7 @@ expr_ref seq_rewriter::derivative(expr* elem, expr* r) {
r1 = m_util.mk_char(s1[0]);
r2 = m_util.mk_char(s2[0]);
result = m().mk_and(m_util.mk_le(r1, elem), m_util.mk_le(elem, r2));
result = kleene_predicate(result, seq_sort);
result = re_predicate(result, seq_sort);
}
else {
result = re().mk_empty(m().get_sort(r));
@ -2285,7 +2285,7 @@ expr_ref seq_rewriter::derivative(expr* elem, expr* r) {
array_util array(m());
expr* args[2] = { p, elem };
result = array.mk_select(2, args);
result = kleene_predicate(result, seq_sort);
result = re_predicate(result, seq_sort);
}
else if (m().is_ite(r, p, r1, r2)) {
dr1 = derivative(elem, r1);

View file

@ -135,8 +135,8 @@ class seq_rewriter {
// Support for regular expression derivatives
bool get_head_tail(expr* e, expr_ref& head, expr_ref& tail);
expr_ref kleene_and(expr* cond, expr* r);
expr_ref kleene_predicate(expr* cond, sort* seq_sort);
expr_ref re_and(expr* cond, expr* r);
expr_ref re_predicate(expr* cond, sort* seq_sort);
br_status mk_seq_unit(expr* e, expr_ref& result);
br_status mk_seq_concat(expr* a, expr* b, expr_ref& result);