Created
November 19, 2020 19:55
-
-
Save hgvk94/f836e2af2d8c92881dd681697101ac2c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(set-option :fp.engine spacer) | |
(set-logic HORN) | |
(declare-fun Inv (Bool Bool Bool Bool Bool (_ BitVec 512)) Bool) | |
(declare-fun simple!!query () Bool) | |
(assert (forall ((i!12 Bool) | |
(i!11 Bool) | |
(i!10 Bool) | |
(i!9 Bool) | |
(i!8 (_ BitVec 279)) | |
(i!7 Bool) | |
(i!6 Bool) | |
(i!5 Bool) | |
(i!4 (_ BitVec 2)) | |
(i!3 Bool) | |
(i!2 Bool) | |
(i!1 Bool) | |
(i!0 Bool) | |
(vo!24 (_ BitVec 512)) | |
(vo!22 Bool) | |
(vo!20 Bool) | |
(vo!18 Bool) | |
(vo!16 Bool) | |
(vo!14 Bool) | |
(vi!23 (_ BitVec 512)) | |
(vi!21 Bool) | |
(vi!19 Bool) | |
(vi!17 Bool) | |
(vi!15 Bool) | |
(vi!13 Bool)) | |
(=> (and (not vi!15) (not vi!17) (not vi!19)) | |
(Inv vi!13 vi!15 vi!17 vi!19 vi!21 vi!23)))) | |
(assert (forall ((i!12 Bool) | |
(i!11 Bool) | |
(i!10 Bool) | |
(i!9 Bool) | |
(i!8 (_ BitVec 279)) | |
(i!7 Bool) | |
(i!6 Bool) | |
(i!5 Bool) | |
(i!4 (_ BitVec 2)) | |
(i!3 Bool) | |
(i!2 Bool) | |
(i!1 Bool) | |
(i!0 Bool) | |
(vo!24 (_ BitVec 512)) | |
(vo!22 Bool) | |
(vo!20 Bool) | |
(vo!18 Bool) | |
(vo!16 Bool) | |
(vo!14 Bool) | |
(vi!23 (_ BitVec 512)) | |
(vi!21 Bool) | |
(vi!19 Bool) | |
(vi!17 Bool) | |
(vi!15 Bool) | |
(vi!13 Bool)) | |
(let ((a!1 (not (or (= ((_ extract 282 282) vi!23) #b0) | |
(= ((_ extract 283 283) vi!23) #b0)))) | |
(a!2 (not (or (= ((_ extract 282 282) vi!23) #b0) | |
(= ((_ extract 284 284) vi!23) #b0)))) | |
(a!3 (not (or (= ((_ extract 283 283) vi!23) #b0) | |
(= ((_ extract 284 284) vi!23) #b0)))) | |
(a!8 (and i!7 (not (and (not i!10) (not i!11))) (not i!5))) | |
(a!13 (not (or (and i!2 (not i!3)) (not i!3) i!0))) | |
(a!16 (bvor (bvnot ((_ extract 278 271) i!8)) | |
(concat (bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1))))) | |
(a!17 (bvor (bvnot ((_ extract 270 265) i!8)) | |
(concat (bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1))))) | |
(a!18 (bvor (bvnot ((_ extract 264 0) i!8)) | |
(concat (bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)) | |
(bvnot (ite i!9 #b0 #b1)))))) | |
(let ((a!4 (and (not i!2) (not i!5) (not (or a!1 a!2 a!3)))) | |
(a!6 (ite (= i!4 #b01) | |
(and (not i!2) (not i!5)) | |
(and (not i!2) (not i!5) (or a!1 a!2 a!3 (and i!6 vi!21))))) | |
(a!19 (concat #x00000000000000000000000000000000000000000000000000000000 | |
(ite i!3 | |
#x000000000000000000000000000000000000000000000000000000000000000000000000 | |
(concat (bvnot a!16) | |
#b00 | |
(bvnot a!17) | |
#b0000000 | |
(bvnot a!18)))))) | |
(let ((a!5 (ite (= i!4 #b11) | |
(and (not i!7) (not i!2) (not i!5) (not (or a!1 a!2 a!3))) | |
a!4)) | |
(a!9 (and (or (= i!4 #b10) (= i!4 #b11)) | |
(ite (= i!4 #b11) a!8 (and (not a!4) (not i!5) i!6 i!10))))) | |
(let ((a!7 (ite (or (= i!4 #b10) (= i!4 #b11)) a!5 a!6))) | |
(let ((a!10 (ite i!1 (and (not i!0) (ite (or a!7 a!9) vi!21 vi!13)) vi!13)) | |
(a!11 (ite i!1 (ite (or i!0 a!7 a!9) (and (not i!0) vi!17) vi!15) vi!15)) | |
(a!12 (ite i!1 (ite (or i!0 a!7 a!9) (and (not i!0) vi!19) vi!17) vi!17)) | |
(a!14 (ite (or i!0 (and i!2 (not i!3)) a!7) a!13 vi!19)) | |
(a!15 (ite i!1 | |
(and (not i!0) (ite (or a!7 a!9) (or a!1 a!2 a!3) vi!21)) | |
vi!21)) | |
(a!20 (ite i!0 | |
#x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
(ite (and i!2 (not i!3)) | |
(concat #x00000000000000000000000000000000000000000000000000000000 | |
(bvnot a!16) | |
#b00 | |
(bvnot a!17) | |
#b0000000 | |
(bvnot a!18)) | |
(ite a!7 a!19 vi!23))))) | |
(=> (and (Inv vi!13 vi!15 vi!17 vi!19 vi!21 vi!23) | |
(= vo!14 a!10) | |
(= vo!16 a!11) | |
(= vo!18 a!12) | |
(= vo!20 (ite i!1 a!14 vi!19)) | |
(= vo!22 a!15) | |
(= vo!24 (ite i!1 a!20 vi!23))) | |
(Inv vo!14 vo!16 vo!18 vo!20 vo!22 vo!24))))))))) | |
(assert (forall ((vi!13 Bool) | |
(vi!15 Bool) | |
(vi!17 Bool) | |
(vi!19 Bool) | |
(vi!21 Bool) | |
(vi!23 (_ BitVec 512)) | |
(vo!14 Bool) | |
(vo!16 Bool) | |
(vo!18 Bool) | |
(vo!20 Bool) | |
(vo!22 Bool) | |
(vo!24 (_ BitVec 512)) | |
(i!0 Bool) | |
(i!1 Bool) | |
(i!2 Bool) | |
(i!3 Bool) | |
(i!4 (_ BitVec 2)) | |
(i!5 Bool) | |
(i!6 Bool) | |
(i!7 Bool) | |
(i!8 (_ BitVec 279)) | |
(i!9 Bool) | |
(i!10 Bool) | |
(i!11 Bool) | |
(i!12 Bool)) | |
(=> (and (Inv vi!13 vi!15 vi!17 vi!19 vi!21 vi!23) vi!15 vi!13) simple!!query))) | |
(assert (=> simple!!query false)) | |
(check-sat) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment