Skip to content

Commit

Permalink
adding a horn clause smt script that we cannot parse, see #18
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandernutz committed Mar 27, 2017
1 parent 89d86e0 commit 90cdbec
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions trunk/examples/smtlib/horn/test-implicitInitialTransitions.smt2
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
; status: sat (checked by z3)
; written on 27.03.2017
; currently, we say this set is sat without looking at any trace, because the "initial transitions"
; don't have the form of an implication withough uninterpreted predicates in the body.
(set-logic HORN)

(declare-fun I_x (Int) Bool)
(declare-fun I_y (Int) Bool)
(declare-fun I_z (Int) Bool)

(assert (I_x 0)) ; equivalent to "(=> (= x 0) (I_x x))", but not translated like that right now..
(assert (I_y 0))
(assert (forall ((x Int) (x1 Int)) (=> (and (I_x x) (= x1 (+ x 1))) (I_x x1))))
(assert (forall ((y Int) (y1 Int)) (=> (and (I_y y) (= y1 (+ y 1))) (I_y y1))))

(assert (forall ((x Int) (y Int) (z Int)) (=> (and (I_x x) (I_y y) (= (+ x y) z)) (I_z z))))
(assert (forall ((z Int)) (=> (and (I_z z) (< z 0)) false)))

(check-sat)

0 comments on commit 90cdbec

Please sign in to comment.