summaryrefslogtreecommitdiff
path: root/test/regress/regress1
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-08-17 02:48:22 -0500
committerAndres Noetzli <andres.noetzli@gmail.com>2018-08-17 00:48:22 -0700
commit29ae7d5ec0a73b90529e2200d948e6f4051099f1 (patch)
treea9dcb7074a2e79b35e17f2c4483638cf91ea1093 /test/regress/regress1
parent4d303b5e6de8a3b963357a3c0238ffe81d36f766 (diff)
Eliminate partial operators in sygus grammar normalization (#2323)
This corrects a bug that was introduced in #2266 (the hack removed there was necessary). This ensures that we handle operators like bvudiv, bvsdiv, bvurem, div, rem, / properly in sygus. This also enables total semantics for BV div-by-zero for sygus.
Diffstat (limited to 'test/regress/regress1')
-rw-r--r--test/regress/regress1/sygus/bvudiv-by-2.sy27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/regress/regress1/sygus/bvudiv-by-2.sy b/test/regress/regress1/sygus/bvudiv-by-2.sy
new file mode 100644
index 000000000..d6491972a
--- /dev/null
+++ b/test/regress/regress1/sygus/bvudiv-by-2.sy
@@ -0,0 +1,27 @@
+; EXPECT: unsat
+; COMMAND-LINE: --sygus-out=status
+(set-logic BV)
+
+(synth-fun f ((x (BitVec 32))) (BitVec 32)
+((Start (BitVec 32)
+ (
+ (bvudiv Start Start)
+ (bvurem Start Start)
+ (bvsdiv Start Start)
+ #x00000001
+ #x00000000
+ #x00000002 x
+ (ite StartBool Start Start)))
+ (StartBool Bool (( bvult Start Start)
+ (bvugt Start Start)
+ (= Start Start)
+ ))))
+(declare-var x (BitVec 32) )
+
+; property
+(constraint (= (f #x00000008) #x00000004))
+(constraint (= (f #x00000010) #x00000008))
+(constraint (not (= (f x) #xffffffff)))
+
+
+(check-synth)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback