aboutsummaryrefslogtreecommitdiffstats
path: root/src/lfsc/tests/array_incompleteness1.smt2
blob: 76a1089b76497d502d89e2f92bfa247b5addfc87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(set-logic QF_AUFLIA)
(set-info :source | This is based on an example in Section 6.2 of "A Decision
Procedure for an Extensional Theory of Arrays" by Stump, Barrett, Dill, and
Levitt. |)
(set-info :smt-lib-version 2.0)
(set-info :category "check")
(set-info :status unsat)
(set-info :notes |This benchmark is designed to require an array DP to propagate a properly entailed disjunction of equalities between shared terms.|)
(declare-fun a () (Array Int Int))
(declare-fun b () (Array Int Int))
(declare-fun v () Int)
(declare-fun w () Int)
(declare-fun x () Int)
(declare-fun y () Int)
(declare-fun g ((Array Int Int)) Int)
(declare-fun f (Int) Int)
(assert (and (= (store a x v) b) (and (= (store a y w) b) (and (not (= (f x) (f y))) (not (= (g a) (g b)))) )))	
(check-sat)
(exit)