Closed rainoftime closed 4 years ago
Hi, for the formula below, z3 (commit f2449df06e) smt.arith.sovler=2 can solve quickly
sat real 0m0.616s user 0m0.260s sys 0m0.028s
, but smt.arith.sovler=6 just returns "unknown"
(smt :num-exprs 89 :num-asts 385 :time 0.18 :before-memory 2.52 :after-memory 2.54) (tactic-exception "smt tactic failed to show goal to be sat/unsat (incomplete (theory arithmetic))") unknown real 0m0.847s user 0m0.296s sys 0m0.036s
(set-logic QF_UFNRA) (declare-const v0 Bool) (declare-const v1 Bool) (declare-const v2 Bool) (declare-const v3 Bool) (declare-const v4 Bool) (declare-const v5 Bool) (declare-const v6 Bool) (declare-const r0 Real) (declare-sort S0 0) (declare-sort S1 0) (declare-const v7 Bool) (declare-const v8 Bool) (declare-const r2 Real) (declare-const v9 Bool) (declare-const v10 Bool) (declare-const S0-0 S0) (declare-const r3 Real) (declare-const S0-1 S0) (declare-sort S2 0) (declare-sort S3 0) (declare-sort S4 0) (declare-const r4 Real) (declare-const r5 Real) (declare-const S1-0 S1) (declare-const v11 Bool) (declare-const v12 Bool) (declare-const v13 Bool) (declare-const v14 Bool) (declare-const v15 Bool) (declare-const v16 Bool) (declare-const r6 Real) (declare-const v17 Bool) (declare-const r7 Real) (declare-const v18 Bool) (declare-const r8 Real) (declare-const S3-0 S3) (assert (or (or (= S0-1 S0-0 S0-1 S0-1) v18 (= (< r2 0.0) (= v11 v8 v12 (xor v3 v7 (<= r0 r0 676748736.0) v5 v1 v0 true true v4 true) (>= 676748736.0 r2 (/ r3 r4) 0.0) (=> v4 (xor v3 v7 (<= r0 r0 676748736.0) v5 v1 v0 true true v4 true))))) false)) (assert (or (or (> 0.0 0.0 r2) true (> 0.0 0.0 r2)) false)) (assert (or (or (< (/ (- r3) (* 676748736.0 (/ r0 676748736.0) (/ r0 676748736.0) r3)) (* 676748736.0 (/ r0 676748736.0) (/ r0 676748736.0) r3) 5047773.0) (= r2 (/ r0 676748736.0) 676748736.0 (* 676748736.0 (/ r0 676748736.0) (/ r0 676748736.0) r3) (* 676748736.0 (/ r0 676748736.0) (/ r0 676748736.0) r3)) v12) false)) (assert (or (or (xor v3 v7 (<= r0 r0 676748736.0) v5 v1 v0 true true v4 true) v0 v2) false)) (check-sat)
Solved with the monomial bound propagation ./z3 4220.smt2 -st smt.arith.solver=6 smt.arith.nl.bp=true
Hi, for the formula below, z3 (commit f2449df06e) smt.arith.sovler=2 can solve quickly
, but smt.arith.sovler=6 just returns "unknown"