(set-info :smt-lib-version 2.6) (set-logic QF_LIA) (set-info :source | Generated by: Martin Bromberger Generated on: 2018-01-06 Application: This is a problem with unbounded directions and, therefore, a good test for the termination/completeness of branch-and-bound solvers. Publications: M. Bromberger. A Reduction from Unbounded Linear Mixed Arithmetic Problems into Bounded Problems. (Work in progress.) The benchmarks in this class are based on the problems from SMT-LIB/QF_LIA/CAV_2009 and SMT-LIB/QF_LIA/cut_lemmas. I just replaced all variables x with x_+ - x_-, where x_+ and x_- are two new variables such that x_+, x_- >= 0. This transformation is equisatisfiable. The new variables and an unsatisfiable status guarantee that there are bounded and unbounded directions. Target solver: CVC4 Mathsat SPASS-IQ YICES Z3 |) (set-info :license "https://creativecommons.org/licenses/by/4.0/") (set-info :category "crafted") (set-info :status sat) (declare-fun x9_plus () Int) (declare-fun x9_minus () Int) (declare-fun x8_plus () Int) (declare-fun x8_minus () Int) (declare-fun x7_plus () Int) (declare-fun x7_minus () Int) (declare-fun x5_plus () Int) (declare-fun x5_minus () Int) (declare-fun x4_plus () Int) (declare-fun x4_minus () Int) (declare-fun x2_plus () Int) (declare-fun x2_minus () Int) (declare-fun x1_plus () Int) (declare-fun x1_minus () Int) (declare-fun x0_plus () Int) (declare-fun x0_minus () Int) (declare-fun x3_plus () Int) (declare-fun x3_minus () Int) (declare-fun x6_plus () Int) (declare-fun x6_minus () Int) (assert (>= x9_plus 0)) (assert (>= x9_minus 0)) (assert (>= x8_plus 0)) (assert (>= x8_minus 0)) (assert (>= x7_plus 0)) (assert (>= x7_minus 0)) (assert (>= x5_plus 0)) (assert (>= x5_minus 0)) (assert (>= x4_plus 0)) (assert (>= x4_minus 0)) (assert (>= x2_plus 0)) (assert (>= x2_minus 0)) (assert (>= x1_plus 0)) (assert (>= x1_minus 0)) (assert (>= x0_plus 0)) (assert (>= x0_minus 0)) (assert (>= x3_plus 0)) (assert (>= x3_minus 0)) (assert (>= x6_plus 0)) (assert (>= x6_minus 0)) (assert (<= (+ (* 145 x9_plus) (* (- 145) x9_minus) (* 47 x8_plus) (* (- 47) x8_minus) (* 19 x7_plus) (* (- 19) x7_minus) (* (- 28) x5_plus) (* 28 x5_minus) (* 87 x4_plus) (* (- 87) x4_minus) (* (- 3) x2_plus) (* 3 x2_minus) (* 3 x1_plus) (* (- 3) x1_minus) (* 19 x0_plus) (* (- 19) x0_minus) ) 18 ) ) (assert (<= (+ (* 32 x9_plus) (* (- 32) x9_minus) (* 74 x8_plus) (* (- 74) x8_minus) (* (- 38) x4_plus) (* 38 x4_minus) (* (- 138) x3_plus) (* 138 x3_minus) (* (- 28) x2_plus) (* 28 x2_minus) (* 85 x1_plus) (* (- 85) x1_minus) (* (- 8) x0_plus) (* 8 x0_minus) ) (- 36) ) ) (assert (<= (+ (* 10 x9_plus) (* (- 10) x9_minus) (* 42 x8_plus) (* (- 42) x8_minus) (* 25 x7_plus) (* (- 25) x7_minus) (* 47 x6_plus) (* (- 47) x6_minus) (* 88 x4_plus) (* (- 88) x4_minus) (* 59 x1_plus) (* (- 59) x1_minus) (* (- 12) x0_plus) (* 12 x0_minus) ) 18 ) ) (assert (<= (+ (* 26 x8_plus) (* (- 26) x8_minus) (* (- 2) x7_plus) (* 2 x7_minus) (* (- 53) x6_plus) (* 53 x6_minus) (* (- 48) x5_plus) (* 48 x5_minus) (* (- 86) x3_plus) (* 86 x3_minus) (* (- 16) x2_plus) (* 16 x2_minus) (* (- 89) x0_plus) (* 89 x0_minus) ) (- 77) ) ) (assert (<= (+ (* 51 x9_plus) (* (- 51) x9_minus) (* 33 x8_plus) (* (- 33) x8_minus) (* (- 59) x4_plus) (* 59 x4_minus) (* 87 x3_plus) (* (- 87) x3_minus) (* 77 x2_plus) (* (- 77) x2_minus) (* (- 36) x1_plus) (* 36 x1_minus) (* (- 10) x0_plus) (* 10 x0_minus) ) 29 ) ) (assert (<= (+ (* 82 x9_plus) (* (- 82) x9_minus) (* 21 x7_plus) (* (- 21) x7_minus) (* (- 3) x4_plus) (* 3 x4_minus) (* 98 x3_plus) (* (- 98) x3_minus) (* (- 23) x2_plus) (* 23 x2_minus) (* (- 48) x0_plus) (* 48 x0_minus) ) (- 43) ) ) (assert (<= (+ (* 4 x9_plus) (* (- 4) x9_minus) (* 2 x8_plus) (* (- 2) x8_minus) (* 156 x7_plus) (* (- 156) x7_minus) (* 51 x6_plus) (* (- 51) x6_minus) (* (- 20) x5_plus) (* 20 x5_minus) (* (- 93) x0_plus) (* 93 x0_minus) ) 45 ) ) (assert (<= (+ (* 72 x9_plus) (* (- 72) x9_minus) (* (- 17) x7_plus) (* 17 x7_minus) (* (- 31) x5_plus) (* 31 x5_minus) (* 30 x4_plus) (* (- 30) x4_minus) (* (- 19) x2_plus) (* 19 x2_minus) (* 3 x1_plus) (* (- 3) x1_minus) ) (- 79) ) ) (assert (<= (+ (* 65 x8_plus) (* (- 65) x8_minus) (* (- 9) x7_plus) (* 9 x7_minus) (* 78 x6_plus) (* (- 78) x6_minus) (* 116 x4_plus) (* (- 116) x4_minus) (* (- 58) x3_plus) (* 58 x3_minus) (* 20 x0_plus) (* (- 20) x0_minus) ) 33 ) ) (assert (<= (+ (* 69 x9_plus) (* (- 69) x9_minus) (* 38 x8_plus) (* (- 38) x8_minus) (* 77 x6_plus) (* (- 77) x6_minus) (* 21 x5_plus) (* (- 21) x5_minus) (* (- 88) x3_plus) (* 88 x3_minus) (* (- 7) x0_plus) (* 7 x0_minus) ) 51 ) ) (assert (<= (+ (* 42 x9_plus) (* (- 42) x9_minus) (* (- 18) x8_plus) (* 18 x8_minus) (* 71 x6_plus) (* (- 71) x6_minus) (* 14 x4_plus) (* (- 14) x4_minus) (* (- 46) x1_plus) (* 46 x1_minus) ) 66 ) ) (assert (<= (+ (* 43 x8_plus) (* (- 43) x8_minus) (* (- 58) x7_plus) (* 58 x7_minus) (* (- 3) x2_plus) (* 3 x2_minus) (* (- 65) x1_plus) (* 65 x1_minus) (* 40 x0_plus) (* (- 40) x0_minus) ) 8 ) ) (assert (>= (+ (* 9 x9_plus) (* (- 9) x9_minus) (* (- 46) x7_plus) (* 46 x7_minus) (* 37 x6_plus) (* (- 37) x6_minus) (* (- 65) x5_plus) (* 65 x5_minus) (* 8 x3_plus) (* (- 8) x3_minus) (* (- 56) x2_plus) (* 56 x2_minus) (* 6 x1_plus) (* (- 6) x1_minus) ) (- 5) ) ) (assert (>= (+ (* 48 x9_plus) (* (- 48) x9_minus) (* (- 9) x8_plus) (* 9 x8_minus) (* (- 69) x7_plus) (* 69 x7_minus) (* 71 x6_plus) (* (- 71) x6_minus) (* (- 47) x3_plus) (* 47 x3_minus) (* (- 15) x2_plus) (* 15 x2_minus) (* (- 54) x1_plus) (* 54 x1_minus) ) (- 30) ) ) (assert (>= (+ (* 66 x9_plus) (* (- 66) x9_minus) (* (- 17) x6_plus) (* 17 x6_minus) (* 21 x4_plus) (* (- 21) x4_minus) (* 60 x3_plus) (* (- 60) x3_minus) (* 62 x2_plus) (* (- 62) x2_minus) (* (- 43) x1_plus) (* 43 x1_minus) (* 39 x0_plus) (* (- 39) x0_minus) ) 54 ) ) (assert (>= (+ (* 38 x9_plus) (* (- 38) x9_minus) (* 73 x5_plus) (* (- 73) x5_minus) (* (- 92) x4_plus) (* 92 x4_minus) (* (- 70) x3_plus) (* 70 x3_minus) (* 46 x2_plus) (* (- 46) x2_minus) (* (- 82) x1_plus) (* 82 x1_minus) (* (- 15) x0_plus) (* 15 x0_minus) ) (- 30) ) ) (assert (>= (+ (* 34 x8_plus) (* (- 34) x8_minus) (* (- 68) x6_plus) (* 68 x6_minus) (* (- 61) x5_plus) (* 61 x5_minus) (* (- 19) x4_plus) (* 19 x4_minus) (* (- 75) x3_plus) (* 75 x3_minus) (* (- 29) x0_plus) (* 29 x0_minus) ) (- 26) ) ) (assert (>= (+ (* 57 x9_plus) (* (- 57) x9_minus) (* 97 x8_plus) (* (- 97) x8_minus) (* (- 14) x6_plus) (* 14 x6_minus) (* 41 x4_plus) (* (- 41) x4_minus) (* 112 x2_plus) (* (- 112) x2_minus) (* (- 39) x1_plus) (* 39 x1_minus) ) 66 ) ) (assert (>= (+ (* 6 x9_plus) (* (- 6) x9_minus) (* (- 46) x6_plus) (* 46 x6_minus) (* (- 44) x5_plus) (* 44 x5_minus) (* (- 43) x4_plus) (* 43 x4_minus) (* (- 30) x3_plus) (* 30 x3_minus) (* (- 46) x2_plus) (* 46 x2_minus) ) 22 ) ) (assert (>= (+ (* 62 x9_plus) (* (- 62) x9_minus) (* (- 50) x7_plus) (* 50 x7_minus) (* 27 x6_plus) (* (- 27) x6_minus) (* 54 x4_plus) (* (- 54) x4_minus) (* (- 135) x3_plus) (* 135 x3_minus) (* 47 x1_plus) (* (- 47) x1_minus) ) 2 ) ) (check-sat) (exit)