Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refutation unsoundness issue on a QF_AFP instance #6983

Closed
zhendongsu opened this issue Nov 3, 2023 · 3 comments · Fixed by #7034
Closed

refutation unsoundness issue on a QF_AFP instance #6983

zhendongsu opened this issue Nov 3, 2023 · 3 comments · Fixed by #7034
Labels

Comments

@zhendongsu
Copy link

[522] % z3release small.smt2 
unsat
sat
[523] % cat small.smt2 
(declare-fun s () (Array (_ BitVec 32) (_ BitVec 8)))
(assert (fp.leq ((_ to_fp 8 24) (concat (select s (_ bv0 32)) (select s (_ bv1 32)) (select s (_ bv0 32)) (select s (_ bv0 32)))) (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))))
(assert (not (fp.geq ((_ to_fp 8 24) (bvxnor (_ bv0 32) (concat (select s (_ bv0 32)) (select s (_ bv1 32)) (select s (_ bv0 32)) (select s (_ bv0 32))))) (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))))
(check-sat)

(reset)

(define-fun s () (Array (_ BitVec 32) (_ BitVec 8)) (store (store ((as const (Array (_ BitVec 32) (_ BitVec 8))) #b00000000) #b00000000000000000000000000000000 #b10000000) #b00000000000000000000000000000001 #b01111111))
(assert (fp.leq ((_ to_fp 8 24) (concat (select s (_ bv0 32)) (select s (_ bv1 32)) (select s (_ bv0 32)) (select s (_ bv0 32)))) (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))))
(assert (not (fp.geq ((_ to_fp 8 24) (bvxnor (_ bv0 32) (concat (select s (_ bv0 32)) (select s (_ bv1 32)) (select s (_ bv0 32)) (select s (_ bv0 32))))) (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))))
(check-sat)
@zhendongsu
Copy link
Author

(declare-const a (_ BitVec 1))
(check-sat)
(assert (not (fp.eq (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)) ((_ to_fp 8 24) (bvnand (_ bv1 32) ((_ zero_extend 31) a))))))
(check-sat)

(reset)

(define-fun a () (_ BitVec 1) #b0)
(check-sat)
(assert (not (fp.eq (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)) ((_ to_fp 8 24) (bvnand (_ bv1 32) ((_ zero_extend 31) a))))))
(check-sat)

@zhendongsu
Copy link
Author

[520] % z3release small.smt2 
unsat
sat
[521] % cat small.smt2 
(declare-fun a () (Array (_ BitVec 32) (_ BitVec 8)))
(assert (bvsgt (_ bv0 64) (bvsmod (concat (select a (_ bv0 32)) (select a (_ bv1 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32))) ((_ sign_extend 32) (ite (fp.lt (fp (_ bv0 1) (_ bv0 11) (_ bv0 52)) ((_ to_fp 11 53) (bvnand (_ bv1 64) (concat (select a (_ bv0 32)) (select a (_ bv1 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)))))) (_ bv1 32) (_ bv0 32))))))
(check-sat)

(reset)

(define-fun a () (Array (_ BitVec 32) (_ BitVec 8)) (store (store ((as const (Array (_ BitVec 32) (_ BitVec 8))) #b00000000) #b00000000000000000000000000000000 #b11111111) #b00000000000000000000000000000001 #b11111111))
(assert (bvsgt (_ bv0 64) (bvsmod (concat (select a (_ bv0 32)) (select a (_ bv1 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32))) ((_ sign_extend 32) (ite (fp.lt (fp (_ bv0 1) (_ bv0 11) (_ bv0 52)) ((_ to_fp 11 53) (bvnand (_ bv1 64) (concat (select a (_ bv0 32)) (select a (_ bv1 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)) (select a (_ bv0 32)))))) (_ bv1 32) (_ bv0 32))))))
(check-sat)

@nunoplopes
Copy link
Collaborator

may be related with the recent regressions #6972

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants