Skip to content

Commit a7d6999

Browse files
committed
Changed JSON parametric sort format to eliminate conflicts with nonterminals being treated as sorts. Added array integration test.
1 parent 486a126 commit a7d6999

5 files changed

Lines changed: 73 additions & 8 deletions

File tree

IntegrationTests/data/array.sem

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
(declare-term-types
2+
((E 0) (Start 0))
3+
((($IBVVary )
4+
($bvsub E E)
5+
($bvadd E E)
6+
($IBVVarx ))
7+
(($bv=x E))))
8+
9+
10+
11+
(define-funs-rec
12+
((E.Sem ((E_term_0 E) (r__0 (_ BitVec 32)) (rv (Array Int Int)) (x (_ BitVec 32)) (y (_ BitVec 32))) Bool)
13+
(Start.Sem ((Start_term_0 Start) (x_r0 (_ BitVec 32)) (y_r0 (_ BitVec 32)) (rq (Array Int Int)) (x (_ BitVec 32)) (y (_ BitVec 32))) Bool))
14+
15+
((match E_term_0
16+
(($IBVVary (exists ((r__1 (_ BitVec 32))) (and (= r__0 r__1)
17+
(= r__1 y))))
18+
(($bvsub E_term_1 E_term_2) (exists ((r__1 (_ BitVec 32)) (r__2 (_ BitVec 32)) (rb (Array Int Int))) (and (= r__0 (bvadd r__1 (bvneg r__2)))
19+
(E.Sem E_term_1 r__1 rb x y)
20+
(E.Sem E_term_2 r__2 rb x y))))
21+
(($bvadd E_term_1 E_term_2) (exists ((r__1 (_ BitVec 32)) (r__2 (_ BitVec 32)) (rb (Array Int Int))) (and (= r__0 (bvadd r__1 r__2))
22+
(E.Sem E_term_1 r__1 rb x y)
23+
(E.Sem E_term_2 r__2 rb x y))))
24+
($IBVVarx (exists ((r__1 (_ BitVec 32))) (and (= r__0 r__1)
25+
(= r__1 x))))))
26+
(match Start_term_0
27+
((($bv=x E_term_1) (exists ((r__1 (_ BitVec 32)) (rb (Array Int Int))) (and (and (= x_r0 r__1)
28+
(and (= rb rb) (= y y_r0)))
29+
(E.Sem E_term_1 r__1 rb x y))))))))
30+
31+
32+
(synth-fun BVtest_ADD_01() Start)
33+
34+
35+
(constraint (exists ((rq (Array Int Int)) (y (_ BitVec 32))) (Start.Sem BVtest_ADD_01 #x00000004 #x00000004 rq #x00000003 y)))
36+
37+
(check-synth)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
--format
2+
json
3+
--mode
4+
batch
5+
--
6+
data/array.sem

0 commit comments

Comments
 (0)