Expand `seq.nth` lazily (#5287)
authoryoni206 <yoni206@users.noreply.github.com>
Tue, 20 Oct 2020 00:44:12 +0000 (17:44 -0700)
committerGitHub <noreply@github.com>
Tue, 20 Oct 2020 00:44:12 +0000 (19:44 -0500)
commit96c6ec71ccdde72c6cbc850df94c8965cda8d7db
tree511d4d38af86ed097b88d62d0454c31bd2465d9f
parent5a2f629f138f31e27965ede4884284437e30e801
Expand `seq.nth` lazily (#5287)

Our first support for seq.nth eliminated it eagerly during expandDefinitions.
This PR changes that, by eliminating it lazily, as done with other extended string operators.
src/theory/strings/extf_solver.cpp
src/theory/strings/sequences_rewriter.cpp
src/theory/strings/term_registry.cpp
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings_preprocess.cpp
src/theory/strings/theory_strings_utils.cpp
test/regress/CMakeLists.txt
test/regress/regress0/seq/seq-nth-undef-unsat.smt2 [new file with mode: 0644]
test/regress/regress0/seq/seq-nth-undef.smt2 [deleted file]
test/regress/regress0/seq/seq-nth.smt2
test/regress/regress0/seq/seq-types.smt2 [new file with mode: 0644]