diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-05-07 19:25:27 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-07 19:25:27 -0500 |
commit | 8e5aba973b06fb581221a82aacdf7d3ca7938a22 (patch) | |
tree | ea5db058d5991ec44ca1f0c47054c3f0d733f367 /test/regress | |
parent | 080f0de4379c4e1fe5a016e40c7852a3abb52760 (diff) |
Add support for datatype update (#6449)
This removes the special case of TUPLE_UPDATE and RECORD_UPDATE in favor of the more general datatype update.
Datatype update is handled analogously to APPLY_SELECTOR / APPLY_TESTER.
Diffstat (limited to 'test/regress')
-rw-r--r-- | test/regress/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/regress/regress0/datatypes/list-update-sat.smt2 | 8 | ||||
-rw-r--r-- | test/regress/regress0/datatypes/list-update.smt2 | 10 |
3 files changed, 20 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 9bda5cff1..538868c6c 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -480,6 +480,8 @@ set(regress_0_tests regress0/datatypes/issue5280-no-nrec.smt2 regress0/datatypes/jsat-2.6.smt2 regress0/datatypes/list-bool.smt2 + regress0/datatypes/list-update.smt2 + regress0/datatypes/list-update-sat.smt2 regress0/datatypes/model-subterms-min.smt2 regress0/datatypes/mutually-recursive.cvc regress0/datatypes/pair-bool-bool.cvc diff --git a/test/regress/regress0/datatypes/list-update-sat.smt2 b/test/regress/regress0/datatypes/list-update-sat.smt2 new file mode 100644 index 000000000..9f424e595 --- /dev/null +++ b/test/regress/regress0/datatypes/list-update-sat.smt2 @@ -0,0 +1,8 @@ +(set-logic ALL) +(set-info :status sat) +(declare-datatypes ((list 0)) ( +((cons (head Int) (tail list)) (nil)) +)) +(declare-fun a () list) +(assert (= ((_ update head) a 3) (cons 3 nil))) +(check-sat) diff --git a/test/regress/regress0/datatypes/list-update.smt2 b/test/regress/regress0/datatypes/list-update.smt2 new file mode 100644 index 000000000..178f1a000 --- /dev/null +++ b/test/regress/regress0/datatypes/list-update.smt2 @@ -0,0 +1,10 @@ +(set-logic ALL) +(set-info :status unsat) +(declare-datatypes ((list 0)) ( +((cons (head Int) (tail list)) (nil)) +)) +(declare-fun a () list) +(declare-fun b () list) +(assert ((_ is cons) a)) +(assert (= ((_ update head) a 3) ((_ update head) b 4))) +(check-sat) |