summaryrefslogtreecommitdiff
path: root/test/regress/regress1/sygus/ground-ite-free-constant-si.sy
blob: 1d724139950c673e7261353338000b441cc17124 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-out=status
(set-logic BV)

(synth-fun inv ((s (_ BitVec 4)) (t (_ BitVec 4))) (_ BitVec 4))
(declare-var s (_ BitVec 4))
(declare-var t (_ BitVec 4))
(define-fun udivtotal ((a (_ BitVec 4)) (b (_ BitVec 4))) (_ BitVec 4)
  (ite (= b #x0) #xF (bvudiv a b))
)
(define-fun uremtotal ((a (_ BitVec 4)) (b (_ BitVec 4))) (_ BitVec 4)
  (ite (= b #x0) a (bvurem a b))
)
(define-fun min () (_ BitVec 4)
  (bvnot (bvlshr (bvnot #x0) #x1))
)
(define-fun max () (_ BitVec 4)
  (bvnot min)
)
(define-fun l ( (s (_ BitVec 4)) (t (_ BitVec 4))) Bool 
     (= (udivtotal s (inv s t)) t)
)
(define-fun SC ((s (_ BitVec 4)) (t (_ BitVec 4))) Bool 
    (= (udivtotal s (udivtotal s t)) t)
)
(constraint
  (=> 
    (SC s t)
    (l s t)
  )
)

(check-synth)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback