Add support for string/sequence update (#4725)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 13 Jul 2020 05:43:45 +0000 (00:43 -0500)
committerGitHub <noreply@github.com>
Mon, 13 Jul 2020 05:43:45 +0000 (22:43 -0700)
commitc7ec792a2086c5b92c4a96d18f7cedb293712dfd
treec88ebf889cb2f6aa6678154e1984bbe60a5b92b9
parent090d8bc3c31404140856e51d2cc5a5aa1335b3b3
Add support for string/sequence update (#4725)

This adds basic support for string/sequence updating, which has a semantics that is length preserving.
26 files changed:
src/api/cvc4cpp.cpp
src/api/cvc4cppkind.h
src/expr/sequence.cpp
src/expr/sequence.h
src/parser/smt2/smt2.cpp
src/printer/smt2/smt2_printer.cpp
src/theory/evaluator.cpp
src/theory/strings/extf_solver.cpp
src/theory/strings/kinds
src/theory/strings/rewrites.cpp
src/theory/strings/rewrites.h
src/theory/strings/sequences_rewriter.cpp
src/theory/strings/sequences_rewriter.h
src/theory/strings/term_registry.cpp
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings_preprocess.cpp
src/theory/strings/theory_strings_type_rules.h
src/theory/strings/word.cpp
src/theory/strings/word.h
src/util/string.cpp
src/util/string.h
test/regress/CMakeLists.txt
test/regress/regress1/strings/update-ex1.smt2 [new file with mode: 0644]
test/regress/regress1/strings/update-ex2.smt2 [new file with mode: 0644]
test/regress/regress2/strings/update-ex3.smt2 [new file with mode: 0644]
test/regress/regress2/strings/update-ex4-seq.smt2 [new file with mode: 0644]