summaryrefslogtreecommitdiff
path: root/test/regress
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-07-21 11:15:39 -0500
committerGitHub <noreply@github.com>2020-07-21 11:15:39 -0500
commitd557a478c4643fc0bfd8c578db59803224c85b43 (patch)
tree9e7cef12364813c561a6928756233225a4c373c9 /test/regress
parent45a546f63d40d8ef0e0fac53854930836da2c0ea (diff)
Support uninterpreted constants in the evaluator (#4777)
Diffstat (limited to 'test/regress')
-rw-r--r--test/regress/CMakeLists.txt1
-rw-r--r--test/regress/regress1/sygus/eval-uc.sy16
2 files changed, 17 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 4e79b5dbe..8118d8d79 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -1910,6 +1910,7 @@ set(regress_1_tests
regress1/sygus/dt-test-ns.sy
regress1/sygus/dup-op.sy
regress1/sygus/error1-dt.sy
+ regress1/sygus/eval-uc.sy
regress1/sygus/extract.sy
regress1/sygus/fast-enum-backtrack.sy
regress1/sygus/fg_polynomial3.sy
diff --git a/test/regress/regress1/sygus/eval-uc.sy b/test/regress/regress1/sygus/eval-uc.sy
new file mode 100644
index 000000000..e2bf9d144
--- /dev/null
+++ b/test/regress/regress1/sygus/eval-uc.sy
@@ -0,0 +1,16 @@
+; EXPECT: unsat
+; COMMAND-LINE: --lang=sygus2 --sygus-out=status --uf-ho
+(set-logic ALL)
+(declare-sort S 0)
+(declare-var f Bool)
+(declare-var u (-> S Bool))
+(declare-var new_f Bool)
+(declare-var new_u (-> S Bool))
+(define-fun init ((f Bool) (u (-> S Bool))) Bool (and f (forall ((x S)) (not (u x)))))
+(define-fun trans ((f Bool) (u (-> S Bool)) (new_f Bool) (new_u (-> S Bool))) Bool (and (not new_f) (exists ((x S)) (forall ((y S)) (= (new_u y) (or (u y) (= y x)))))))
+;(define-fun trans ((f Bool) (u (-> S Bool)) (new_f Bool) (new_u (-> S Bool))) Bool (and new_f (exists ((x S)) (forall ((y S)) (= (new_u y) (or (u y) (= y x)))))))
+(synth-fun inv_matrix ((f Bool) (u (-> S Bool)) (x S)) Bool ((Start Bool)) ((Start Bool ( (or (not
+(u x)) (not f))))))
+(define-fun inv ((f Bool) (u (-> S Bool))) Bool (forall ((x S)) (inv_matrix f u x)))
+(constraint (=> (and (inv f u) (trans f u new_f new_u)) (inv new_f new_u)))
+(check-synth)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback