Hi,
For this case, Z3 gives an invalid model:
[677] % z3-4.8.8 model_validate=true small.smt2
sat
[678] % z3release model_validate=true small.smt2
sat
(error "line 55 column 10: an invalid model was generated")
[679] %
[679] % cat small.smt2
(set-option :smt.arith.bprop_on_pivoted_rows false)
(set-option :rewriter.sort_sums true)
(set-option :rewriter.arith_ineq_lhs true)
(set-option :smt.phase_selection 6)
(set-option :smt.random_seed 15)
(declare-fun a () String)
(declare-fun b () String)
(declare-fun c () String)
(declare-fun d () String)
(declare-fun w () String)
(declare-fun e () Bool)
(declare-fun f () Bool)
(declare-fun x () Bool)
(declare-fun y () Bool)
(declare-fun g () Bool)
(declare-fun h () Bool)
(declare-fun i () Bool)
(declare-fun j () String)
(declare-fun k () Int)
(declare-fun l () Int)
(declare-fun m () String)
(declare-fun n () String)
(declare-fun o () String)
(declare-fun z () String)
(declare-fun p () String)
(declare-fun q () Bool)
(declare-fun r () Bool)
(declare-fun aa () Bool)
(declare-fun s () Bool)
(declare-fun ab () Bool)
(declare-fun ac () String)
(declare-fun t () Bool)
(declare-fun ad () Bool)
(declare-fun v () String)
(assert (= (distinct "-" (str.substr j 0 (str.len ac))) (not (= f (not (= h s))))))
(assert (not (distinct f (not (= i ab)))))
(assert (not (= x (not (= g aa)))))
(assert (= (not (= g t)) (not distinct )))
(assert (ite aa (and (= l 0) (= c m) (= k 0) (distinct 0 (str.len m))
(= n o) (= "" z) (= p "ab")) (and (= ac n) (not
(str.in.re n (str.to.re "_"))) y (not (= g aa)))))
(assert (= ab (not s)))
(assert (= (not (= x r)) (= "" (str.substr a (str.len n) (str.len
(str.substr c (str.len o) (str.len (str.substr d (str.len z)
(str.len (str.substr j (str.len ac) (str.len v)))))))))))
(assert (= (not (= e q)) (distinct (str.substr w (str.len p) (str.len v)) "")))
(assert (= c (str.++ o v) d (str.++ z v)))
(assert (distinct w (str.++ p v)))
(assert (= e (not q)))
(assert (= x (xor (= r t))))
(assert (= g (not (= aa t))))
(assert (= h (not (= s ad))))
(assert (= i (not (= ab ad))))
(assert (= j (str.++ ac v)))
(check-sat)
[680] %
OS: Ubuntu 18.04
Commit: a14c2a3
Hi,
For this case, Z3 gives an invalid model:
OS: Ubuntu 18.04
Commit: a14c2a3