3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-02 21:36:09 +00:00

v0 of edit distance repair

This commit is contained in:
Nikolaj Bjorner 2024-12-05 14:14:27 -08:00
parent 4be4067f75
commit bcb61ee12c
3 changed files with 150 additions and 1 deletions

View file

@ -71,6 +71,7 @@ namespace sls {
bool repair_down_seq(app* e);
bool repair_down_eq(app* e);
bool repair_down_str_eq_unify(app* e);
bool repair_down_str_eq_edit_distance(app* e);
bool repair_down_str_eq(app* e);
bool repair_down_str_extract(app* e);
bool repair_down_str_contains(expr* e);
@ -90,6 +91,9 @@ namespace sls {
void repair_up_str_itos(app* e);
void repair_up_str_stoi(app* e);
unsigned edit_distance(zstring const& a, zstring const& b);
void add_edit_updates(ptr_vector<expr> const& w, uint_set const& chars);
// regex functionality
// enumerate set of strings that can match a prefix of regex r.
@ -111,6 +115,7 @@ namespace sls {
eval* get_eval(expr* e) const;
ptr_vector<expr> const& lhs(expr* eq);
ptr_vector<expr> const& rhs(expr* eq);
ptr_vector<expr> const& concats(expr* eq);
bool is_value(expr* e);
public: