Created
June 23, 2015 07:06
-
-
Save kanigsson/bc38fe18e38604a22d8e 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
;;; generated by SMT-LIB2 driver | |
;;; SMT-LIB2 driver: bit-vectors, common part | |
;;; SMT-LIB2: integer arithmetic | |
(declare-sort uni 0) | |
(declare-sort ty 0) | |
(declare-fun sort (ty uni) Bool) | |
(declare-fun witness (ty) uni) | |
;; witness_sort | |
(assert (forall ((a ty)) (sort a (witness a)))) | |
(declare-fun int () ty) | |
(declare-fun real () ty) | |
(declare-fun bool () ty) | |
(declare-fun match_bool (ty Bool uni uni) uni) | |
;; match_bool_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x Bool) (x1 uni) (x2 uni)) (sort a (match_bool a x x1 x2))))) | |
;; match_bool_True | |
(assert | |
(forall ((a ty)) | |
(forall ((z uni) (z1 uni)) (=> (sort a z) (= (match_bool a true z z1) z))))) | |
;; match_bool_False | |
(assert | |
(forall ((a ty)) | |
(forall ((z uni) (z1 uni)) | |
(=> (sort a z1) (= (match_bool a false z z1) z1))))) | |
(declare-fun index_bool (Bool) Int) | |
;; index_bool_True | |
(assert (= (index_bool true) 0)) | |
;; index_bool_False | |
(assert (= (index_bool false) 1)) | |
(declare-fun tuple0 () ty) | |
(declare-fun Tuple0 () uni) | |
;; Tuple0_sort | |
(assert (sort tuple0 Tuple0)) | |
(declare-fun qtmark () ty) | |
(declare-sort ref1 1) | |
(declare-fun ref (ty) ty) | |
(declare-fun t2 () ty) | |
(declare-fun mk_ref (ty uni) uni) | |
;; mk ref_sort | |
(assert (forall ((a ty)) (forall ((x uni)) (sort (ref a) (mk_ref a x))))) | |
(declare-fun mk_ref2 ((_ BitVec 64)) (ref1 (_ BitVec 64))) | |
(declare-fun contents (ty uni) uni) | |
;; contents_sort | |
(assert (forall ((a ty)) (forall ((x uni)) (sort a (contents a x))))) | |
(declare-fun t2tb7 ((ref1 (_ BitVec 64))) uni) | |
;; t2tb_sort | |
(assert (forall ((x (ref1 (_ BitVec 64)))) (sort (ref t2) (t2tb7 x)))) | |
(declare-fun tb2t7 (uni) (ref1 (_ BitVec 64))) | |
;; BridgeL | |
(assert | |
(forall ((i (ref1 (_ BitVec 64)))) | |
(! (= (tb2t7 (t2tb7 i)) i) :pattern ((t2tb7 i)) ))) | |
;; BridgeR | |
(assert | |
(forall ((j uni)) | |
(! (=> (sort (ref t2) j) (= (t2tb7 (tb2t7 j)) j)) :pattern ((t2tb7 | |
(tb2t7 j))) ))) | |
(declare-fun t2tb ((_ BitVec 64)) uni) | |
;; t2tb_sort | |
(assert (forall ((x (_ BitVec 64))) (sort t2 (t2tb x)))) | |
(declare-fun tb2t (uni) (_ BitVec 64)) | |
;; BridgeL | |
(assert | |
(forall ((i (_ BitVec 64))) (! (= (tb2t (t2tb i)) i) :pattern ((t2tb i)) ))) | |
;; BridgeR | |
(assert | |
(forall ((j uni)) | |
(! (=> (sort t2 j) (= (t2tb (tb2t j)) j)) :pattern ((t2tb (tb2t j))) ))) | |
;; contents_def | |
(assert | |
(forall ((u (_ BitVec 64))) (= (tb2t (contents t2 (t2tb7 (mk_ref2 u)))) u))) | |
;; contents_def | |
(assert | |
(forall ((a ty)) | |
(forall ((u uni)) (=> (sort a u) (= (contents a (mk_ref a u)) u))))) | |
(declare-fun us__ignore (ty uni) uni) | |
;; ___ignore_sort | |
(assert | |
(forall ((a ty)) (forall ((x uni)) (sort tuple0 (us__ignore a x))))) | |
(declare-fun us_private () ty) | |
(declare-fun us_null_ext__ () uni) | |
;; __null_ext___sort | |
(assert (sort us_private us_null_ext__)) | |
(declare-fun us_type_of_heap () ty) | |
(declare-fun us_image () ty) | |
(declare-sort skein_512_context 0) | |
(declare-fun skein_512_context1 () ty) | |
(declare-sort us_split_fields6 0) | |
(declare-fun us_split_fields7 () ty) | |
(declare-sort context_header 0) | |
(declare-fun context_header1 () ty) | |
(declare-sort us_split_fields3 0) | |
(declare-fun us_split_fields4 () ty) | |
(declare-sort tweak_value 0) | |
(declare-fun tweak_value1 () ty) | |
(declare-sort us_split_fields 0) | |
(declare-fun us_split_fields1 () ty) | |
(declare-sort u6 0) | |
(declare-fun u61 () ty) | |
(declare-sort u7 0) | |
(declare-fun u71 () ty) | |
(declare-sort hash_bit_length 0) | |
(declare-fun hash_bit_length1 () ty) | |
(declare-sort us_t 0) | |
(declare-fun us_t1 () ty) | |
(declare-sort t 0) | |
(declare-fun t1 () ty) | |
(declare-sort u64 0) | |
(declare-fun u641 () ty) | |
(declare-sort u32 0) | |
(declare-fun u321 () ty) | |
(declare-sort u16 0) | |
(declare-fun u161 () ty) | |
(declare-sort byte 0) | |
(declare-fun byte1 () ty) | |
(declare-sort unsigned_64 0) | |
(declare-fun unsigned_641 () ty) | |
(declare-fun t3 () ty) | |
(declare-fun map1 (ty ty) ty) | |
(declare-fun ite1 (ty Bool uni uni) uni) | |
;; ite_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x Bool) (x1 uni) (x2 uni)) (sort a (ite1 a x x1 x2))))) | |
(declare-fun bool_eq (Bool Bool) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x Bool) (y Bool)) | |
(! (ite (= x y) (= (bool_eq x y) true) (= (bool_eq x y) false)) :pattern ( | |
(bool_eq x y)) ))) | |
(declare-fun to_int1 (Bool) Int) | |
;; to_int_def | |
(assert | |
(forall ((b Bool)) | |
(! (ite (= b true) (= (to_int1 b) 1) (= (to_int1 b) 0)) :pattern ((to_int1 | |
b)) ))) | |
(declare-fun of_int (Int) Bool) | |
;; of_int_def | |
(assert | |
(forall ((i Int)) | |
(! (ite (= i 0) (= (of_int i) false) (= (of_int i) true)) :pattern ( | |
(of_int i)) ))) | |
(declare-fun in_range (Int) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range x) (or (= x 0) (= x 1))) :pattern ((in_range x)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE (Bool) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert (forall ((x Bool)) (sort us_image (attr__ATTRIBUTE_IMAGE x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE (uni) Bool) | |
;; size_int_pos | |
(assert (< 0 8)) | |
(declare-fun nth ((_ BitVec 8) Int) Bool) | |
(declare-fun lsr ((_ BitVec 8) Int) (_ BitVec 8)) | |
(declare-fun asr ((_ BitVec 8) Int) (_ BitVec 8)) | |
(declare-fun lsl ((_ BitVec 8) Int) (_ BitVec 8)) | |
(declare-fun pow2 (Int) Int) | |
(declare-fun to_int2 ((_ BitVec 8)) Int) | |
(declare-fun of_int1 (Int) (_ BitVec 8)) | |
;; to_int_extensionality | |
(assert | |
(forall ((v (_ BitVec 8)) (vqt (_ BitVec 8))) | |
(=> (= (to_int2 v) (to_int2 vqt)) (= v vqt)))) | |
(declare-fun uint_in_range (Int) Bool) | |
;; uint_in_range_def | |
(assert | |
(forall ((i Int)) | |
(! (= (uint_in_range i) (and (<= 0 i) (<= i 255))) :pattern ((uint_in_range | |
i)) ))) | |
;; Of_int_zero | |
(assert (= #x00 ((_ int2bv 8) 0))) | |
;; Of_int_ones | |
(assert (= #xFF ((_ int2bv 8) 255))) | |
;; lsr_bv_is_lsr | |
(assert | |
(forall ((x (_ BitVec 8)) (n (_ BitVec 8))) | |
(= (bvlshr x n) (lsr x (bv2int n))))) | |
;; asr_bv_is_asr | |
(assert | |
(forall ((x (_ BitVec 8)) (n (_ BitVec 8))) | |
(= (bvashr x n) (asr x (bv2int n))))) | |
;; lsl_bv_is_lsl | |
(assert | |
(forall ((x (_ BitVec 8)) (n (_ BitVec 8))) | |
(= (bvshl x n) (lsl x (bv2int n))))) | |
;; two_power_size_val | |
(assert (= (+ 255 1) (pow2 8))) | |
(declare-fun bool_eq1 ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (= x y) (= (bool_eq1 x y) true) (= (bool_eq1 x y) false)) :pattern ( | |
(bool_eq1 x y)) ))) | |
(declare-fun bool_ne ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_ne_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (not (= x y)) (= (bool_ne x y) true) (= (bool_ne x y) false)) :pattern ( | |
(bool_ne x y)) ))) | |
(declare-fun bool_lt ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_lt_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvult x y) (= (bool_lt x y) true) (= (bool_lt x y) false)) :pattern ( | |
(bool_lt x y)) ))) | |
(declare-fun bool_le ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_le_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvule x y) (= (bool_le x y) true) (= (bool_le x y) false)) :pattern ( | |
(bool_le x y)) ))) | |
(declare-fun bool_gt ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_gt_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvugt x y) (= (bool_gt x y) true) (= (bool_gt x y) false)) :pattern ( | |
(bool_gt x y)) ))) | |
(declare-fun bool_ge ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_ge_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvuge x y) (= (bool_ge x y) true) (= (bool_ge x y) false)) :pattern ( | |
(bool_ge x y)) ))) | |
(declare-fun power ((_ BitVec 8) Int) (_ BitVec 8)) | |
;; Power_0 | |
(assert (forall ((x (_ BitVec 8))) (= (power x 0) ((_ int2bv 8) 1)))) | |
;; Power_1 | |
(assert (forall ((x (_ BitVec 8))) (= (power x 1) x))) | |
;; Power_s | |
(assert | |
(forall ((x (_ BitVec 8)) (n Int)) | |
(=> (<= 0 n) (= (power x (+ n 1)) (bvmul x (power x n)))))) | |
;; Power_s_alt | |
(assert | |
(forall ((x (_ BitVec 8)) (n Int)) | |
(=> (< 0 n) (= (power x n) (bvmul x (power x (- n 1))))))) | |
;; Power_sum | |
(assert | |
(forall ((x (_ BitVec 8)) (n Int) (m Int)) | |
(=> (<= 0 n) | |
(=> (<= 0 m) (= (power x (+ n m)) (bvmul (power x n) (power x m))))))) | |
;; Power_mult | |
(assert | |
(forall ((x (_ BitVec 8)) (n Int) (m Int)) | |
(=> (<= 0 n) (=> (<= 0 m) (= (power x (* n m)) (power (power x n) m)))))) | |
;; Power_mult2 | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8)) (n Int)) | |
(=> (<= 0 n) (= (power (bvmul x y) n) (bvmul (power x n) (power y n)))))) | |
(declare-fun bv_min ((_ BitVec 8) (_ BitVec 8)) (_ BitVec 8)) | |
;; bv_min_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvule x y) (= (bv_min x y) x) (= (bv_min x y) y)) :pattern ( | |
(bv_min x y)) ))) | |
(declare-fun bv_max ((_ BitVec 8) (_ BitVec 8)) (_ BitVec 8)) | |
;; bv_max_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (bvule x y) (= (bv_max x y) y) (= (bv_max x y) x)) :pattern ( | |
(bv_max x y)) ))) | |
;; bv_min_to_uint | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(= (bv2int (bv_min x y)) (ite (< (bv2int x) (bv2int y)) (bv2int x) (bv2int y))))) | |
;; bv_max_to_uint | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(= (bv2int (bv_max x y)) (ite (< (bv2int x) (bv2int y)) (bv2int y) (bv2int x))))) | |
;; size_int_pos | |
(assert (< 0 64)) | |
(declare-fun nth1 ((_ BitVec 64) Int) Bool) | |
(declare-fun lsr1 ((_ BitVec 64) Int) (_ BitVec 64)) | |
(declare-fun asr1 ((_ BitVec 64) Int) (_ BitVec 64)) | |
(declare-fun lsl1 ((_ BitVec 64) Int) (_ BitVec 64)) | |
(declare-fun to_int3 ((_ BitVec 64)) Int) | |
(declare-fun of_int2 (Int) (_ BitVec 64)) | |
;; to_int_extensionality | |
(assert | |
(forall ((v (_ BitVec 64)) (vqt (_ BitVec 64))) | |
(=> (= (to_int3 v) (to_int3 vqt)) (= v vqt)))) | |
(declare-fun uint_in_range1 (Int) Bool) | |
;; uint_in_range_def | |
(assert | |
(forall ((i Int)) | |
(! (= (uint_in_range1 i) (and (<= 0 i) (<= i 18446744073709551615))) :pattern ((uint_in_range1 | |
i)) ))) | |
;; Of_int_zero | |
(assert (= #x0000000000000000 ((_ int2bv 64) 0))) | |
;; Of_int_ones | |
(assert (= #xFFFFFFFFFFFFFFFF ((_ int2bv 64) 18446744073709551615))) | |
;; lsr_bv_is_lsr | |
(assert | |
(forall ((x (_ BitVec 64)) (n (_ BitVec 64))) | |
(= (bvlshr x n) (lsr1 x (bv2int n))))) | |
;; asr_bv_is_asr | |
(assert | |
(forall ((x (_ BitVec 64)) (n (_ BitVec 64))) | |
(= (bvashr x n) (asr1 x (bv2int n))))) | |
;; lsl_bv_is_lsl | |
(assert | |
(forall ((x (_ BitVec 64)) (n (_ BitVec 64))) | |
(= (bvshl x n) (lsl1 x (bv2int n))))) | |
;; two_power_size_val | |
(assert (= (+ 18446744073709551615 1) (pow2 64))) | |
(declare-fun bool_eq2 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq2 x y) true) (= (bool_eq2 x y) false)) :pattern ( | |
(bool_eq2 x y)) ))) | |
(declare-fun bool_ne1 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_ne_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (not (= x y)) (= (bool_ne1 x y) true) (= (bool_ne1 x y) false)) :pattern ( | |
(bool_ne1 x y)) ))) | |
(declare-fun bool_lt1 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_lt_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvult x y) (= (bool_lt1 x y) true) (= (bool_lt1 x y) false)) :pattern ( | |
(bool_lt1 x y)) ))) | |
(declare-fun bool_le1 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_le_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvule x y) (= (bool_le1 x y) true) (= (bool_le1 x y) false)) :pattern ( | |
(bool_le1 x y)) ))) | |
(declare-fun bool_gt1 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_gt_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvugt x y) (= (bool_gt1 x y) true) (= (bool_gt1 x y) false)) :pattern ( | |
(bool_gt1 x y)) ))) | |
(declare-fun bool_ge1 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_ge_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvuge x y) (= (bool_ge1 x y) true) (= (bool_ge1 x y) false)) :pattern ( | |
(bool_ge1 x y)) ))) | |
(declare-fun power1 ((_ BitVec 64) Int) (_ BitVec 64)) | |
;; Power_0 | |
(assert (forall ((x (_ BitVec 64))) (= (power1 x 0) ((_ int2bv 64) 1)))) | |
;; Power_1 | |
(assert (forall ((x (_ BitVec 64))) (= (power1 x 1) x))) | |
;; Power_s | |
(assert | |
(forall ((x (_ BitVec 64)) (n Int)) | |
(=> (<= 0 n) (= (power1 x (+ n 1)) (bvmul x (power1 x n)))))) | |
;; Power_s_alt | |
(assert | |
(forall ((x (_ BitVec 64)) (n Int)) | |
(=> (< 0 n) (= (power1 x n) (bvmul x (power1 x (- n 1))))))) | |
;; Power_sum | |
(assert | |
(forall ((x (_ BitVec 64)) (n Int) (m Int)) | |
(=> (<= 0 n) | |
(=> (<= 0 m) (= (power1 x (+ n m)) (bvmul (power1 x n) (power1 x m))))))) | |
;; Power_mult | |
(assert | |
(forall ((x (_ BitVec 64)) (n Int) (m Int)) | |
(=> (<= 0 n) (=> (<= 0 m) (= (power1 x (* n m)) (power1 (power1 x n) m)))))) | |
;; Power_mult2 | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64)) (n Int)) | |
(=> (<= 0 n) (= (power1 (bvmul x y) n) (bvmul (power1 x n) (power1 y n)))))) | |
(declare-fun bv_min1 ((_ BitVec 64) (_ BitVec 64)) (_ BitVec 64)) | |
;; bv_min_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvule x y) (= (bv_min1 x y) x) (= (bv_min1 x y) y)) :pattern ( | |
(bv_min1 x y)) ))) | |
(declare-fun bv_max1 ((_ BitVec 64) (_ BitVec 64)) (_ BitVec 64)) | |
;; bv_max_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (bvule x y) (= (bv_max1 x y) y) (= (bv_max1 x y) x)) :pattern ( | |
(bv_max1 x y)) ))) | |
;; bv_min_to_uint | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(= (bv2int (bv_min1 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int x) (bv2int y))))) | |
;; bv_max_to_uint | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(= (bv2int (bv_max1 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int y) (bv2int x))))) | |
(declare-fun in_range1 ((_ BitVec 8)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (= (in_range1 x) | |
(and (bvule ((_ int2bv 8) 0) x) (bvule x ((_ int2bv 8) 255)))) :pattern ((in_range1 | |
x)) ))) | |
(declare-fun in_range_int (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int x) (and (<= 0 x) (<= x 255))) :pattern ((in_range_int | |
x)) ))) | |
(declare-fun bool_eq3 (Int Int) Bool) | |
(declare-fun bool_ne2 (Int Int) Bool) | |
(declare-fun bool_lt2 (Int Int) Bool) | |
(declare-fun bool_le2 (Int Int) Bool) | |
(declare-fun bool_gt2 (Int Int) Bool) | |
(declare-fun bool_ge2 (Int Int) Bool) | |
;; bool_eq_axiom | |
(assert | |
(forall ((x Int)) (forall ((y Int)) (= (= (bool_eq3 x y) true) (= x y))))) | |
;; bool_ne_axiom | |
(assert | |
(forall ((x Int)) | |
(forall ((y Int)) (= (= (bool_ne2 x y) true) (not (= x y)))))) | |
;; bool_lt_axiom | |
(assert | |
(forall ((x Int)) (forall ((y Int)) (= (= (bool_lt2 x y) true) (< x y))))) | |
;; bool_int__le_axiom | |
(assert | |
(forall ((x Int)) (forall ((y Int)) (= (= (bool_le2 x y) true) (<= x y))))) | |
;; bool_gt_axiom | |
(assert | |
(forall ((x Int)) (forall ((y Int)) (= (= (bool_gt2 x y) true) (< y x))))) | |
;; bool_ge_axiom | |
(assert | |
(forall ((x Int)) (forall ((y Int)) (= (= (bool_ge2 x y) true) (<= y x))))) | |
(declare-fun bool_eq4 ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (= x y) (= (bool_eq4 x y) true) (= (bool_eq4 x y) false)) :pattern ( | |
(bool_eq4 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE1 ((_ BitVec 8)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 8))) (sort us_image (attr__ATTRIBUTE_IMAGE1 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check1 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE1 (uni) (_ BitVec 8)) | |
(declare-fun to_rep (byte) (_ BitVec 8)) | |
(declare-fun of_rep ((_ BitVec 8)) byte) | |
(declare-fun user_eq (byte byte) Bool) | |
(declare-fun dummy () byte) | |
;; inversion_axiom | |
(assert | |
(forall ((x byte)) (! (= (of_rep (to_rep x)) x) :pattern ((to_rep x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x byte)) (! (in_range1 (to_rep x)) :pattern ((to_rep x)) ))) | |
(declare-fun to_int4 (byte) Int) | |
;; to_int_def | |
(assert | |
(forall ((x byte)) | |
(! (= (to_int4 x) (bv2int (to_rep x))) :pattern ((to_int4 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x byte)) (! (in_range_int (to_int4 x)) :pattern ((to_int4 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (= (to_rep (of_rep x)) x) :pattern ((to_rep (of_rep x))) ))) | |
(declare-fun in_range2 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range2 x) | |
(and (bvule ((_ int2bv 64) 0) x) | |
(bvule x ((_ int2bv 64) 18446744073709551615)))) :pattern ((in_range2 | |
x)) ))) | |
(declare-fun in_range_int1 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int1 x) (and (<= 0 x) (<= x 18446744073709551615))) :pattern ((in_range_int1 | |
x)) ))) | |
(declare-fun bool_eq5 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq5 x y) true) (= (bool_eq5 x y) false)) :pattern ( | |
(bool_eq5 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE2 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE2 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check2 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE2 (uni) (_ BitVec 64)) | |
(declare-fun to_rep1 (u64) (_ BitVec 64)) | |
(declare-fun of_rep1 ((_ BitVec 64)) u64) | |
(declare-fun user_eq1 (u64 u64) Bool) | |
(declare-fun dummy1 () u64) | |
;; inversion_axiom | |
(assert | |
(forall ((x u64)) (! (= (of_rep1 (to_rep1 x)) x) :pattern ((to_rep1 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x u64)) (! (in_range2 (to_rep1 x)) :pattern ((to_rep1 x)) ))) | |
(declare-fun to_int5 (u64) Int) | |
;; to_int_def | |
(assert | |
(forall ((x u64)) | |
(! (= (to_int5 x) (bv2int (to_rep1 x))) :pattern ((to_int5 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x u64)) (! (in_range_int1 (to_int5 x)) :pattern ((to_int5 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep1 (of_rep1 x)) x) :pattern ((to_rep1 (of_rep1 x))) ))) | |
(declare-fun get (ty ty uni uni) uni) | |
;; get_sort | |
(assert | |
(forall ((a ty) (b ty)) | |
(forall ((x uni) (x1 uni)) (sort b (get b a x x1))))) | |
(declare-fun set (ty ty uni uni uni) uni) | |
;; set_sort | |
(assert | |
(forall ((a ty) (b ty)) | |
(forall ((x uni) (x1 uni) (x2 uni)) (sort (map1 a b) (set b a x x1 x2))))) | |
(declare-fun const1 (ty ty uni) uni) | |
;; const_sort | |
(assert | |
(forall ((a ty) (b ty)) | |
(forall ((x uni)) (sort (map1 a b) (const1 b a x))))) | |
(declare-fun const2 (byte) (Array (_ BitVec 64) byte)) | |
(declare-fun const3 (u64) (Array (_ BitVec 64) u64)) | |
;; Const | |
(assert (forall ((b u64) (a (_ BitVec 64))) (= (select (const3 b) a) b))) | |
;; Const | |
(assert (forall ((b byte) (a (_ BitVec 64))) (= (select (const2 b) a) b))) | |
;; Const | |
(assert | |
(forall ((a ty) (b ty)) | |
(forall ((b1 uni) (a1 uni)) | |
(=> (sort b b1) (= (get b a (const1 b a b1) a1) b1))))) | |
(declare-fun bool_eq9 (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) Bool) | |
(declare-fun bool_eq33 ((Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64) (Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64)) Bool) | |
(declare-fun bool_eq34 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64)) Bool) | |
;; T__ada_array___equal_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) u64))) | |
(forall ((af (_ BitVec 64))) | |
(forall ((al (_ BitVec 64))) | |
(forall ((b (Array (_ BitVec 64) u64))) | |
(forall ((bf (_ BitVec 64))) | |
(forall ((bl (_ BitVec 64))) | |
(! (= | |
(and | |
(ite (bvule af al) | |
(= (bvadd (bvsub al af) ((_ int2bv 64) 1)) (bvadd (bvsub bl bf) ((_ int2bv 64) 1))) | |
(bvugt bf bl)) | |
(forall ((i (_ BitVec 64))) | |
(! (=> (and (bvule af i) (bvule i al)) | |
(= (select a i) (select b (bvadd (bvsub bf af) i)))) :pattern ((select a i)) ))) | |
(= (bool_eq34 a af al b bf bl) true)) :pattern ((bool_eq34 a af al b bf | |
bl)) )))))))) | |
;; T__ada_array___equal_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte))) | |
(forall ((af (_ BitVec 64))) | |
(forall ((al (_ BitVec 64))) | |
(forall ((b (Array (_ BitVec 64) byte))) | |
(forall ((bf (_ BitVec 64))) | |
(forall ((bl (_ BitVec 64))) | |
(! (= | |
(and | |
(ite (bvule af al) | |
(= (bvadd (bvsub al af) ((_ int2bv 64) 1)) (bvadd (bvsub bl bf) ((_ int2bv 64) 1))) | |
(bvugt bf bl)) | |
(forall ((i (_ BitVec 64))) | |
(! (=> (and (bvule af i) (bvule i al)) | |
(= (select a i) (select b (bvadd (bvsub bf af) i)))) :pattern ((select a i)) ))) | |
(= (bool_eq33 a af al b bf bl) true)) :pattern ((bool_eq33 a af al b bf | |
bl)) )))))))) | |
;; T__ada_array___equal_def | |
(assert | |
(forall ((a ty)) | |
(forall ((a1 uni)) | |
(forall ((af (_ BitVec 64))) | |
(forall ((al (_ BitVec 64))) | |
(forall ((b uni)) | |
(forall ((bf (_ BitVec 64))) | |
(forall ((bl (_ BitVec 64))) | |
(! (= | |
(and | |
(ite (bvule af al) | |
(= (bvadd (bvsub al af) ((_ int2bv 64) 1)) (bvadd (bvsub bl bf) ((_ int2bv 64) 1))) | |
(bvugt bf bl)) | |
(forall ((i (_ BitVec 64))) | |
(! (=> (and (bvule af i) (bvule i al)) | |
(= (get a t2 a1 (t2tb i)) (get a t2 b (t2tb (bvadd (bvsub bf af) i))))) :pattern ( | |
(get a t2 a1 (t2tb i))) ))) (= (bool_eq9 a a1 af al b bf bl) true)) :pattern ( | |
(bool_eq9 a a1 af al b bf bl)) ))))))))) | |
(declare-fun slide (ty uni (_ BitVec 64) (_ BitVec 64)) uni) | |
;; slide_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64))) (sort (map1 t2 a) | |
(slide a x x1 x2))))) | |
(declare-fun slide1 ((Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun slide2 ((Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
;; slide_eq | |
(assert | |
(forall ((a (Array (_ BitVec 64) u64))) | |
(forall ((first10 (_ BitVec 64))) | |
(! (= (slide2 a first10 first10) a) :pattern ((slide2 a first10 first10)) )))) | |
;; slide_eq | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte))) | |
(forall ((first10 (_ BitVec 64))) | |
(! (= (slide1 a first10 first10) a) :pattern ((slide1 a first10 first10)) )))) | |
;; slide_eq | |
(assert | |
(forall ((a ty)) | |
(forall ((a1 uni)) | |
(=> (sort (map1 t2 a) a1) | |
(forall ((first10 (_ BitVec 64))) | |
(! (= (slide a a1 first10 first10) a1) :pattern ((slide a a1 first10 | |
first10)) )))))) | |
;; slide_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) u64))) | |
(forall ((old_first (_ BitVec 64))) | |
(forall ((new_first (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (= (select (slide2 a old_first new_first) i) (select a (bvsub i (bvsub new_first old_first)))) :pattern ((select | |
(slide2 a old_first new_first) i)) )))))) | |
;; slide_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte))) | |
(forall ((old_first (_ BitVec 64))) | |
(forall ((new_first (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (= (select (slide1 a old_first new_first) i) (select a (bvsub i (bvsub new_first old_first)))) :pattern ((select | |
(slide1 a old_first new_first) i)) )))))) | |
;; slide_def | |
(assert | |
(forall ((a ty)) | |
(forall ((a1 uni)) | |
(forall ((old_first (_ BitVec 64))) | |
(forall ((new_first (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (= (get a t2 (slide a a1 old_first new_first) (t2tb i)) (get a t2 a1 | |
(t2tb | |
(bvsub i (bvsub new_first old_first))))) :pattern ( | |
(get a t2 (slide a a1 old_first new_first) (t2tb i))) ))))))) | |
(declare-fun concat1 (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) uni) | |
;; concat_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64)) (x3 uni) | |
(x4 (_ BitVec 64)) (x5 (_ BitVec 64))) (sort (map1 t2 a) | |
(concat1 a x x1 x2 x3 x4 x5))))) | |
(declare-fun concat2 ((Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun concat3 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
;; concat_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) u64)) (b (Array (_ BitVec 64) u64))) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (and | |
(=> (and (bvule a_first i) (bvule i a_last)) | |
(= (select (concat3 a a_first a_last b b_first b_last) i) (select a i))) | |
(=> (bvugt i a_last) | |
(= (select (concat3 a a_first a_last b b_first b_last) i) (select b (bvadd (bvsub i a_last) (bvsub b_first ((_ int2bv 64) 1))))))) :pattern ((select | |
(concat3 a a_first a_last b b_first b_last) i)) ))))) | |
;; concat_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte)) (b (Array (_ BitVec 64) byte))) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (and | |
(=> (and (bvule a_first i) (bvule i a_last)) | |
(= (select (concat2 a a_first a_last b b_first b_last) i) (select a i))) | |
(=> (bvugt i a_last) | |
(= (select (concat2 a a_first a_last b b_first b_last) i) (select b (bvadd (bvsub i a_last) (bvsub b_first ((_ int2bv 64) 1))))))) :pattern ((select | |
(concat2 a a_first a_last b b_first b_last) i)) ))))) | |
;; concat_def | |
(assert | |
(forall ((a ty)) | |
(forall ((a1 uni) (b uni)) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(forall ((i (_ BitVec 64))) | |
(! (and | |
(=> (and (bvule a_first i) (bvule i a_last)) | |
(= (get a t2 (concat1 a a1 a_first a_last b b_first b_last) (t2tb i)) | |
(get a t2 a1 (t2tb i)))) | |
(=> (bvugt i a_last) | |
(= (get a t2 (concat1 a a1 a_first a_last b b_first b_last) (t2tb i)) | |
(get a t2 b | |
(t2tb (bvadd (bvsub i a_last) (bvsub b_first ((_ int2bv 64) 1)))))))) :pattern ( | |
(get a t2 (concat1 a a1 a_first a_last b b_first b_last) (t2tb i))) )))))) | |
(declare-fun compare (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) Int) | |
(declare-fun compare1 ((Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64)) Int) | |
(declare-fun compare2 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64)) Int) | |
(declare-fun xorb (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) uni) | |
;; xorb_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64)) (x3 uni) | |
(x4 (_ BitVec 64)) (x5 (_ BitVec 64))) (sort (map1 t2 a) | |
(xorb a x x1 x2 x3 x4 x5))))) | |
(declare-fun xorb1 ((Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun xorb2 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
(declare-fun andb (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) uni) | |
;; andb_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64)) (x3 uni) | |
(x4 (_ BitVec 64)) (x5 (_ BitVec 64))) (sort (map1 t2 a) | |
(andb a x x1 x2 x3 x4 x5))))) | |
(declare-fun andb1 ((Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun andb2 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
(declare-fun orb (ty uni (_ BitVec 64) (_ BitVec 64) uni (_ BitVec 64) | |
(_ BitVec 64)) uni) | |
;; orb_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64)) (x3 uni) | |
(x4 (_ BitVec 64)) (x5 (_ BitVec 64))) (sort (map1 t2 a) | |
(orb a x x1 x2 x3 x4 x5))))) | |
(declare-fun orb1 ((Array (_ BitVec 64) byte) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun orb2 ((Array (_ BitVec 64) u64) (_ BitVec 64) (_ BitVec 64) | |
(Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
(declare-fun notb (ty uni (_ BitVec 64) (_ BitVec 64)) uni) | |
;; notb_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64)) (x2 (_ BitVec 64))) (sort (map1 t2 a) | |
(notb a x x1 x2))))) | |
(declare-fun notb1 ((Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun notb2 ((Array (_ BitVec 64) u64) (_ BitVec 64) | |
(_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
(declare-fun singleton (ty uni (_ BitVec 64)) uni) | |
;; singleton_sort | |
(assert | |
(forall ((a ty)) | |
(forall ((x uni) (x1 (_ BitVec 64))) (sort (map1 t2 a) (singleton a x x1))))) | |
(declare-fun singleton1 (byte (_ BitVec 64)) (Array (_ BitVec 64) byte)) | |
(declare-fun singleton2 (u64 (_ BitVec 64)) (Array (_ BitVec 64) u64)) | |
;; singleton_def | |
(assert | |
(forall ((v u64)) | |
(forall ((i (_ BitVec 64))) | |
(! (= (select (singleton2 v i) i) v) :pattern ((select (singleton2 v i) i)) )))) | |
;; singleton_def | |
(assert | |
(forall ((v byte)) | |
(forall ((i (_ BitVec 64))) | |
(! (= (select (singleton1 v i) i) v) :pattern ((select (singleton1 v i) i)) )))) | |
;; singleton_def | |
(assert | |
(forall ((a ty)) | |
(forall ((v uni)) | |
(=> (sort a v) | |
(forall ((i (_ BitVec 64))) | |
(! (= (get a t2 (singleton a v i) (t2tb i)) v) :pattern ((get a t2 | |
(singleton a v i) | |
(t2tb i))) )))))) | |
(declare-fun in_range6 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range6 x) | |
(and (bvule ((_ int2bv 64) 0) x) | |
(bvule x ((_ int2bv 64) 18446744073709551615)))) :pattern ((in_range6 | |
x)) ))) | |
(declare-fun in_range_int5 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int5 x) (and (<= 0 x) (<= x 18446744073709551615))) :pattern ((in_range_int5 | |
x)) ))) | |
(declare-fun bool_eq10 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq10 x y) true) (= (bool_eq10 x y) false)) :pattern ( | |
(bool_eq10 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE6 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE6 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check6 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE6 (uni) (_ BitVec 64)) | |
(declare-fun to_rep5 (unsigned_64) (_ BitVec 64)) | |
(declare-fun of_rep5 ((_ BitVec 64)) unsigned_64) | |
(declare-fun user_eq5 (unsigned_64 unsigned_64) Bool) | |
(declare-fun dummy5 () unsigned_64) | |
;; inversion_axiom | |
(assert | |
(forall ((x unsigned_64)) | |
(! (= (of_rep5 (to_rep5 x)) x) :pattern ((to_rep5 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x unsigned_64)) (! (in_range6 | |
(to_rep5 x)) :pattern ((to_rep5 x)) ))) | |
(declare-fun to_int9 (unsigned_64) Int) | |
;; to_int_def | |
(assert | |
(forall ((x unsigned_64)) | |
(! (= (to_int9 x) (bv2int (to_rep5 x))) :pattern ((to_int9 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x unsigned_64)) (! (in_range_int5 | |
(to_int9 x)) :pattern ((to_int9 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep5 (of_rep5 x)) x) :pattern ((to_rep5 (of_rep5 x))) ))) | |
(declare-fun first (t) unsigned_64) | |
(declare-fun last (t) unsigned_64) | |
(declare-fun mk ((_ BitVec 64) (_ BitVec 64)) t) | |
;; mk_def | |
(assert | |
(forall ((f (_ BitVec 64)) (l (_ BitVec 64))) | |
(! (=> (in_range6 f) | |
(=> (in_range6 l) | |
(and (= (to_rep5 (first (mk f l))) f) (= (to_rep5 (last (mk f l))) l)))) :pattern ( | |
(mk f l)) ))) | |
(declare-fun dynamic_property ((_ BitVec 64) (_ BitVec 64) (_ BitVec 64) | |
(_ BitVec 64)) Bool) | |
;; dynamic_property_def | |
(assert | |
(forall ((range_first (_ BitVec 64)) (range_last (_ BitVec 64)) | |
(low (_ BitVec 64)) (high (_ BitVec 64))) | |
(! (= (dynamic_property range_first range_last low high) | |
(and (in_range6 low) | |
(and (in_range6 high) | |
(=> (bvule low high) (and (in_range2 low) (in_range2 high)))))) :pattern ((dynamic_property | |
range_first range_last low high)) ))) | |
(declare-fun mk___t ((Array (_ BitVec 64) byte) t) us_t) | |
(declare-fun elts (us_t) (Array (_ BitVec 64) byte)) | |
;; elts_def | |
(assert | |
(forall ((u (Array (_ BitVec 64) byte)) (u1 t)) (= (elts (mk___t u u1)) u))) | |
(declare-fun rt (us_t) t) | |
;; rt_def | |
(assert | |
(forall ((u (Array (_ BitVec 64) byte)) (u1 t)) (= (rt (mk___t u u1)) u1))) | |
(declare-fun of_array ((Array (_ BitVec 64) byte) (_ BitVec 64) | |
(_ BitVec 64)) us_t) | |
;; of_array_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte)) (f (_ BitVec 64)) | |
(l (_ BitVec 64))) | |
(! (= (of_array a f l) (mk___t a (mk f l))) :pattern ((of_array a f l)) ))) | |
(declare-fun first1 (us_t) (_ BitVec 64)) | |
;; first_def | |
(assert | |
(forall ((a us_t)) | |
(! (= (first1 a) (to_rep5 (first (rt a)))) :pattern ((first1 a)) ))) | |
(declare-fun last1 (us_t) (_ BitVec 64)) | |
;; last_def | |
(assert | |
(forall ((a us_t)) | |
(! (= (last1 a) (to_rep5 (last (rt a)))) :pattern ((last1 a)) ))) | |
(declare-fun length (us_t) Int) | |
;; length_def | |
(assert | |
(forall ((a us_t)) | |
(! (ite (bvule (first1 a) (last1 a)) | |
(= (length a) (+ (- (bv2int (last1 a)) (bv2int (first1 a))) 1)) | |
(= (length a) 0)) :pattern ((length a)) ))) | |
(declare-fun value__size () Int) | |
(declare-fun object__size ((Array (_ BitVec 64) byte)) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size)) | |
;; object__size_axiom | |
(assert (forall ((a (Array (_ BitVec 64) byte))) (<= 0 (object__size a)))) | |
(declare-fun bool_eq11 (us_t us_t) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x us_t) (y us_t)) | |
(! (= (bool_eq11 x y) (bool_eq33 (elts x) (to_rep5 (first (rt x))) | |
(to_rep5 (last (rt x))) (elts y) | |
(to_rep5 (first (rt y))) (to_rep5 (last (rt y))))) :pattern ( | |
(bool_eq11 x y)) ))) | |
(declare-fun user_eq6 (us_t us_t) Bool) | |
(declare-fun dummy6 () us_t) | |
;; compare_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte)) (b (Array (_ BitVec 64) byte))) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(! (and | |
(= (= (compare1 a a_first a_last b b_first b_last) 0) | |
(= (bool_eq33 a a_first a_last b b_first b_last) true)) | |
(and | |
(= (< (compare1 a a_first a_last b b_first b_last) 0) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i a_last) | |
(and (bvult j b_last) | |
(and (= (bool_eq33 a a_first i b b_first j) true) | |
(or (= i a_last) | |
(and (bvult i a_last) | |
(bvult (to_rep (select a (bvadd i ((_ int2bv 64) 1)))) (to_rep | |
(select b (bvadd j ((_ int2bv 64) 1)))))))))))) | |
(= (< 0 (compare1 a a_first a_last b b_first b_last)) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i b_last) | |
(and (bvult j a_last) | |
(and (= (bool_eq33 a a_first j b b_first i) true) | |
(or (= i b_last) | |
(and (bvult i b_last) | |
(bvugt (to_rep (select a (bvadd j ((_ int2bv 64) 1)))) (to_rep | |
(select b (bvadd i ((_ int2bv 64) 1)))))))))))))) :pattern ( | |
(compare1 a a_first a_last b b_first b_last)) )))) | |
(declare-fun in_range8 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range8 x) | |
(and (bvule ((_ int2bv 64) 0) x) | |
(bvule x ((_ int2bv 64) 18446744073709551608)))) :pattern ((in_range8 | |
x)) ))) | |
(declare-fun in_range_int7 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int7 x) (and (<= 0 x) (<= x 18446744073709551608))) :pattern ((in_range_int7 | |
x)) ))) | |
(declare-fun bool_eq14 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq14 x y) true) (= (bool_eq14 x y) false)) :pattern ( | |
(bool_eq14 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE8 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE8 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check8 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE8 (uni) (_ BitVec 64)) | |
(declare-fun to_rep7 (hash_bit_length) (_ BitVec 64)) | |
(declare-fun of_rep7 ((_ BitVec 64)) hash_bit_length) | |
(declare-fun user_eq12 (hash_bit_length hash_bit_length) Bool) | |
(declare-fun dummy12 () hash_bit_length) | |
;; inversion_axiom | |
(assert | |
(forall ((x hash_bit_length)) | |
(! (= (of_rep7 (to_rep7 x)) x) :pattern ((to_rep7 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x hash_bit_length)) (! (in_range8 | |
(to_rep7 x)) :pattern ((to_rep7 x)) ))) | |
(declare-fun to_int11 (hash_bit_length) Int) | |
;; to_int_def | |
(assert | |
(forall ((x hash_bit_length)) | |
(! (= (to_int11 x) (bv2int (to_rep7 x))) :pattern ((to_int11 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x hash_bit_length)) (! (in_range_int7 | |
(to_int11 x)) :pattern ((to_int11 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep7 (of_rep7 x)) x) :pattern ((to_rep7 (of_rep7 x))) ))) | |
(declare-sort initialized_hash_bit_length 0) | |
(declare-fun initialized_hash_bit_length1 () ty) | |
(declare-fun in_range9 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range9 x) | |
(and (bvule ((_ int2bv 64) 1) x) | |
(bvule x ((_ int2bv 64) 18446744073709551608)))) :pattern ((in_range9 | |
x)) ))) | |
(declare-fun in_range_int8 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int8 x) (and (<= 1 x) (<= x 18446744073709551608))) :pattern ((in_range_int8 | |
x)) ))) | |
(declare-fun bool_eq15 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq15 x y) true) (= (bool_eq15 x y) false)) :pattern ( | |
(bool_eq15 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE9 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE9 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check9 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE9 (uni) (_ BitVec 64)) | |
(declare-fun to_rep8 (initialized_hash_bit_length) (_ BitVec 64)) | |
(declare-fun of_rep8 ((_ BitVec 64)) initialized_hash_bit_length) | |
(declare-fun user_eq13 (initialized_hash_bit_length | |
initialized_hash_bit_length) Bool) | |
(declare-fun dummy13 () initialized_hash_bit_length) | |
;; inversion_axiom | |
(assert | |
(forall ((x initialized_hash_bit_length)) | |
(! (= (of_rep8 (to_rep8 x)) x) :pattern ((to_rep8 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x initialized_hash_bit_length)) (! (in_range9 | |
(to_rep8 x)) :pattern ((to_rep8 x)) ))) | |
(declare-fun to_int12 (initialized_hash_bit_length) Int) | |
;; to_int_def | |
(assert | |
(forall ((x initialized_hash_bit_length)) | |
(! (= (to_int12 x) (bv2int (to_rep8 x))) :pattern ((to_int12 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x initialized_hash_bit_length)) (! (in_range_int8 | |
(to_int12 x)) :pattern ((to_int12 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep8 (of_rep8 x)) x) :pattern ((to_rep8 (of_rep8 x))) ))) | |
(declare-sort skein_512_block_bytes_count 0) | |
(declare-fun skein_512_block_bytes_count1 () ty) | |
(declare-fun in_range11 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range11 x) | |
(and (bvule ((_ int2bv 64) 0) x) (bvule x ((_ int2bv 64) 64)))) :pattern ((in_range11 | |
x)) ))) | |
(declare-fun in_range_int10 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int10 x) (and (<= 0 x) (<= x 64))) :pattern ((in_range_int10 | |
x)) ))) | |
(declare-fun bool_eq17 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq17 x y) true) (= (bool_eq17 x y) false)) :pattern ( | |
(bool_eq17 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE11 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE11 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check11 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE11 (uni) (_ BitVec 64)) | |
(declare-fun to_rep10 (skein_512_block_bytes_count) (_ BitVec 64)) | |
(declare-fun of_rep10 ((_ BitVec 64)) skein_512_block_bytes_count) | |
(declare-fun user_eq16 (skein_512_block_bytes_count | |
skein_512_block_bytes_count) Bool) | |
(declare-fun dummy16 () skein_512_block_bytes_count) | |
;; inversion_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_count)) | |
(! (= (of_rep10 (to_rep10 x)) x) :pattern ((to_rep10 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_count)) (! (in_range11 | |
(to_rep10 x)) :pattern ((to_rep10 x)) ))) | |
(declare-fun to_int14 (skein_512_block_bytes_count) Int) | |
;; to_int_def | |
(assert | |
(forall ((x skein_512_block_bytes_count)) | |
(! (= (to_int14 x) (bv2int (to_rep10 x))) :pattern ((to_int14 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_count)) (! (in_range_int10 | |
(to_int14 x)) :pattern ((to_int14 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep10 (of_rep10 x)) x) :pattern ((to_rep10 (of_rep10 x))) ))) | |
(declare-sort skein_512_block_bytes_index 0) | |
(declare-fun skein_512_block_bytes_index1 () ty) | |
(declare-fun in_range25 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range25 x) | |
(and (bvule ((_ int2bv 64) 0) x) (bvule x ((_ int2bv 64) 63)))) :pattern ((in_range25 | |
x)) ))) | |
(declare-fun in_range_int23 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int23 x) (and (<= 0 x) (<= x 63))) :pattern ((in_range_int23 | |
x)) ))) | |
(declare-fun bool_eq39 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq39 x y) true) (= (bool_eq39 x y) false)) :pattern ( | |
(bool_eq39 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE26 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE26 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check26 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE26 (uni) (_ BitVec 64)) | |
(declare-fun to_rep24 (skein_512_block_bytes_index) (_ BitVec 64)) | |
(declare-fun of_rep24 ((_ BitVec 64)) skein_512_block_bytes_index) | |
(declare-fun user_eq45 (skein_512_block_bytes_index | |
skein_512_block_bytes_index) Bool) | |
(declare-fun dummy45 () skein_512_block_bytes_index) | |
;; inversion_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_index)) | |
(! (= (of_rep24 (to_rep24 x)) x) :pattern ((to_rep24 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_index)) (! (in_range25 | |
(to_rep24 x)) :pattern ((to_rep24 x)) ))) | |
(declare-fun to_int29 (skein_512_block_bytes_index) Int) | |
;; to_int_def | |
(assert | |
(forall ((x skein_512_block_bytes_index)) | |
(! (= (to_int29 x) (bv2int (to_rep24 x))) :pattern ((to_int29 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x skein_512_block_bytes_index)) (! (in_range_int23 | |
(to_int29 x)) :pattern ((to_int29 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep24 (of_rep24 x)) x) :pattern ((to_rep24 (of_rep24 x))) ))) | |
(declare-fun dummy24 () (Array (_ BitVec 64) byte)) | |
(declare-fun value__size8 () Int) | |
(declare-fun object__size8 ((Array (_ BitVec 64) byte)) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size8)) | |
;; object__size_axiom | |
(assert (forall ((a (Array (_ BitVec 64) byte))) (<= 0 (object__size8 a)))) | |
(declare-fun user_eq24 ((Array (_ BitVec 64) byte) | |
(Array (_ BitVec 64) byte)) Bool) | |
;; compare_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) byte)) (b (Array (_ BitVec 64) byte))) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(! (and | |
(= (= (compare1 a a_first a_last b b_first b_last) 0) | |
(= (bool_eq33 a a_first a_last b b_first b_last) true)) | |
(and | |
(= (< (compare1 a a_first a_last b b_first b_last) 0) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i a_last) | |
(and (bvult j b_last) | |
(and (= (bool_eq33 a a_first i b b_first j) true) | |
(or (= i a_last) | |
(and (bvult i a_last) | |
(bvult (to_rep (select a (bvadd i ((_ int2bv 64) 1)))) (to_rep | |
(select b (bvadd j ((_ int2bv 64) 1)))))))))))) | |
(= (< 0 (compare1 a a_first a_last b b_first b_last)) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i b_last) | |
(and (bvult j a_last) | |
(and (= (bool_eq33 a a_first j b b_first i) true) | |
(or (= i b_last) | |
(and (bvult i b_last) | |
(bvugt (to_rep (select a (bvadd j ((_ int2bv 64) 1)))) (to_rep | |
(select b (bvadd i ((_ int2bv 64) 1)))))))))))))) :pattern ( | |
(compare1 a a_first a_last b b_first b_last)) )))) | |
(declare-sort positive_block_512_count_t 0) | |
(declare-fun positive_block_512_count_t1 () ty) | |
(declare-fun in_range12 ((_ BitVec 64)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (in_range12 x) | |
(and (bvule ((_ int2bv 64) 1) x) | |
(bvule x ((_ int2bv 64) 288230376151711743)))) :pattern ((in_range12 | |
x)) ))) | |
(declare-fun in_range_int11 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int11 x) (and (<= 1 x) (<= x 288230376151711743))) :pattern ((in_range_int11 | |
x)) ))) | |
(declare-fun bool_eq18 ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (ite (= x y) (= (bool_eq18 x y) true) (= (bool_eq18 x y) false)) :pattern ( | |
(bool_eq18 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE12 ((_ BitVec 64)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 64))) (sort us_image (attr__ATTRIBUTE_IMAGE12 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check12 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE12 (uni) (_ BitVec 64)) | |
(declare-fun to_rep11 (positive_block_512_count_t) (_ BitVec 64)) | |
(declare-fun of_rep11 ((_ BitVec 64)) positive_block_512_count_t) | |
(declare-fun user_eq17 (positive_block_512_count_t | |
positive_block_512_count_t) Bool) | |
(declare-fun dummy17 () positive_block_512_count_t) | |
;; inversion_axiom | |
(assert | |
(forall ((x positive_block_512_count_t)) | |
(! (= (of_rep11 (to_rep11 x)) x) :pattern ((to_rep11 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x positive_block_512_count_t)) (! (in_range12 | |
(to_rep11 x)) :pattern ((to_rep11 x)) ))) | |
(declare-fun to_int15 (positive_block_512_count_t) Int) | |
;; to_int_def | |
(assert | |
(forall ((x positive_block_512_count_t)) | |
(! (= (to_int15 x) (bv2int (to_rep11 x))) :pattern ((to_int15 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x positive_block_512_count_t)) (! (in_range_int11 | |
(to_int15 x)) :pattern ((to_int15 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 64))) | |
(! (= (to_rep11 (of_rep11 x)) x) :pattern ((to_rep11 (of_rep11 x))) ))) | |
;; size_int_pos | |
(assert (< 0 16)) | |
(declare-fun t6 () ty) | |
(declare-fun nth2 ((_ BitVec 16) Int) Bool) | |
(declare-fun lsr2 ((_ BitVec 16) Int) (_ BitVec 16)) | |
(declare-fun asr2 ((_ BitVec 16) Int) (_ BitVec 16)) | |
(declare-fun lsl2 ((_ BitVec 16) Int) (_ BitVec 16)) | |
(declare-fun to_int16 ((_ BitVec 16)) Int) | |
(declare-fun of_int3 (Int) (_ BitVec 16)) | |
;; to_int_extensionality | |
(assert | |
(forall ((v (_ BitVec 16)) (vqt (_ BitVec 16))) | |
(=> (= (to_int16 v) (to_int16 vqt)) (= v vqt)))) | |
(declare-fun uint_in_range2 (Int) Bool) | |
;; uint_in_range_def | |
(assert | |
(forall ((i Int)) | |
(! (= (uint_in_range2 i) (and (<= 0 i) (<= i 65535))) :pattern ((uint_in_range2 | |
i)) ))) | |
;; Of_int_zero | |
(assert (= #x0000 ((_ int2bv 16) 0))) | |
;; Of_int_ones | |
(assert (= #xFFFF ((_ int2bv 16) 65535))) | |
;; lsr_bv_is_lsr | |
(assert | |
(forall ((x (_ BitVec 16)) (n (_ BitVec 16))) | |
(= (bvlshr x n) (lsr2 x (bv2int n))))) | |
;; asr_bv_is_asr | |
(assert | |
(forall ((x (_ BitVec 16)) (n (_ BitVec 16))) | |
(= (bvashr x n) (asr2 x (bv2int n))))) | |
;; lsl_bv_is_lsl | |
(assert | |
(forall ((x (_ BitVec 16)) (n (_ BitVec 16))) | |
(= (bvshl x n) (lsl2 x (bv2int n))))) | |
;; two_power_size_val | |
(assert (= (+ 65535 1) (pow2 16))) | |
(declare-fun bool_eq19 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (= x y) (= (bool_eq19 x y) true) (= (bool_eq19 x y) false)) :pattern ( | |
(bool_eq19 x y)) ))) | |
(declare-fun bool_ne3 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_ne_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (not (= x y)) (= (bool_ne3 x y) true) (= (bool_ne3 x y) false)) :pattern ( | |
(bool_ne3 x y)) ))) | |
(declare-fun bool_lt3 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_lt_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvult x y) (= (bool_lt3 x y) true) (= (bool_lt3 x y) false)) :pattern ( | |
(bool_lt3 x y)) ))) | |
(declare-fun bool_le3 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_le_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvule x y) (= (bool_le3 x y) true) (= (bool_le3 x y) false)) :pattern ( | |
(bool_le3 x y)) ))) | |
(declare-fun bool_gt3 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_gt_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvugt x y) (= (bool_gt3 x y) true) (= (bool_gt3 x y) false)) :pattern ( | |
(bool_gt3 x y)) ))) | |
(declare-fun bool_ge3 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_ge_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvuge x y) (= (bool_ge3 x y) true) (= (bool_ge3 x y) false)) :pattern ( | |
(bool_ge3 x y)) ))) | |
(declare-fun power2 ((_ BitVec 16) Int) (_ BitVec 16)) | |
;; Power_0 | |
(assert (forall ((x (_ BitVec 16))) (= (power2 x 0) ((_ int2bv 16) 1)))) | |
;; Power_1 | |
(assert (forall ((x (_ BitVec 16))) (= (power2 x 1) x))) | |
;; Power_s | |
(assert | |
(forall ((x (_ BitVec 16)) (n Int)) | |
(=> (<= 0 n) (= (power2 x (+ n 1)) (bvmul x (power2 x n)))))) | |
;; Power_s_alt | |
(assert | |
(forall ((x (_ BitVec 16)) (n Int)) | |
(=> (< 0 n) (= (power2 x n) (bvmul x (power2 x (- n 1))))))) | |
;; Power_sum | |
(assert | |
(forall ((x (_ BitVec 16)) (n Int) (m Int)) | |
(=> (<= 0 n) | |
(=> (<= 0 m) (= (power2 x (+ n m)) (bvmul (power2 x n) (power2 x m))))))) | |
;; Power_mult | |
(assert | |
(forall ((x (_ BitVec 16)) (n Int) (m Int)) | |
(=> (<= 0 n) (=> (<= 0 m) (= (power2 x (* n m)) (power2 (power2 x n) m)))))) | |
;; Power_mult2 | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16)) (n Int)) | |
(=> (<= 0 n) (= (power2 (bvmul x y) n) (bvmul (power2 x n) (power2 y n)))))) | |
(declare-fun bv_min2 ((_ BitVec 16) (_ BitVec 16)) (_ BitVec 16)) | |
;; bv_min_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvule x y) (= (bv_min2 x y) x) (= (bv_min2 x y) y)) :pattern ( | |
(bv_min2 x y)) ))) | |
(declare-fun bv_max2 ((_ BitVec 16) (_ BitVec 16)) (_ BitVec 16)) | |
;; bv_max_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (bvule x y) (= (bv_max2 x y) y) (= (bv_max2 x y) x)) :pattern ( | |
(bv_max2 x y)) ))) | |
;; bv_min_to_uint | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(= (bv2int (bv_min2 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int x) (bv2int y))))) | |
;; bv_max_to_uint | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(= (bv2int (bv_max2 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int y) (bv2int x))))) | |
;; size_int_pos | |
(assert (< 0 32)) | |
(declare-fun t7 () ty) | |
(declare-fun nth3 ((_ BitVec 32) Int) Bool) | |
(declare-fun lsr3 ((_ BitVec 32) Int) (_ BitVec 32)) | |
(declare-fun asr3 ((_ BitVec 32) Int) (_ BitVec 32)) | |
(declare-fun lsl3 ((_ BitVec 32) Int) (_ BitVec 32)) | |
(declare-fun to_int17 ((_ BitVec 32)) Int) | |
(declare-fun of_int4 (Int) (_ BitVec 32)) | |
;; to_int_extensionality | |
(assert | |
(forall ((v (_ BitVec 32)) (vqt (_ BitVec 32))) | |
(=> (= (to_int17 v) (to_int17 vqt)) (= v vqt)))) | |
(declare-fun uint_in_range3 (Int) Bool) | |
;; uint_in_range_def | |
(assert | |
(forall ((i Int)) | |
(! (= (uint_in_range3 i) (and (<= 0 i) (<= i 4294967295))) :pattern ((uint_in_range3 | |
i)) ))) | |
;; Of_int_zero | |
(assert (= #x00000000 ((_ int2bv 32) 0))) | |
;; Of_int_ones | |
(assert (= #xFFFFFFFF ((_ int2bv 32) 4294967295))) | |
;; lsr_bv_is_lsr | |
(assert | |
(forall ((x (_ BitVec 32)) (n (_ BitVec 32))) | |
(= (bvlshr x n) (lsr3 x (bv2int n))))) | |
;; asr_bv_is_asr | |
(assert | |
(forall ((x (_ BitVec 32)) (n (_ BitVec 32))) | |
(= (bvashr x n) (asr3 x (bv2int n))))) | |
;; lsl_bv_is_lsl | |
(assert | |
(forall ((x (_ BitVec 32)) (n (_ BitVec 32))) | |
(= (bvshl x n) (lsl3 x (bv2int n))))) | |
;; two_power_size_val | |
(assert (= (+ 4294967295 1) (pow2 32))) | |
(declare-fun bool_eq20 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (= x y) (= (bool_eq20 x y) true) (= (bool_eq20 x y) false)) :pattern ( | |
(bool_eq20 x y)) ))) | |
(declare-fun bool_ne4 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_ne_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (not (= x y)) (= (bool_ne4 x y) true) (= (bool_ne4 x y) false)) :pattern ( | |
(bool_ne4 x y)) ))) | |
(declare-fun bool_lt4 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_lt_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvult x y) (= (bool_lt4 x y) true) (= (bool_lt4 x y) false)) :pattern ( | |
(bool_lt4 x y)) ))) | |
(declare-fun bool_le4 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_le_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvule x y) (= (bool_le4 x y) true) (= (bool_le4 x y) false)) :pattern ( | |
(bool_le4 x y)) ))) | |
(declare-fun bool_gt4 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_gt_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvugt x y) (= (bool_gt4 x y) true) (= (bool_gt4 x y) false)) :pattern ( | |
(bool_gt4 x y)) ))) | |
(declare-fun bool_ge4 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_ge_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvuge x y) (= (bool_ge4 x y) true) (= (bool_ge4 x y) false)) :pattern ( | |
(bool_ge4 x y)) ))) | |
(declare-fun power3 ((_ BitVec 32) Int) (_ BitVec 32)) | |
;; Power_0 | |
(assert (forall ((x (_ BitVec 32))) (= (power3 x 0) ((_ int2bv 32) 1)))) | |
;; Power_1 | |
(assert (forall ((x (_ BitVec 32))) (= (power3 x 1) x))) | |
;; Power_s | |
(assert | |
(forall ((x (_ BitVec 32)) (n Int)) | |
(=> (<= 0 n) (= (power3 x (+ n 1)) (bvmul x (power3 x n)))))) | |
;; Power_s_alt | |
(assert | |
(forall ((x (_ BitVec 32)) (n Int)) | |
(=> (< 0 n) (= (power3 x n) (bvmul x (power3 x (- n 1))))))) | |
;; Power_sum | |
(assert | |
(forall ((x (_ BitVec 32)) (n Int) (m Int)) | |
(=> (<= 0 n) | |
(=> (<= 0 m) (= (power3 x (+ n m)) (bvmul (power3 x n) (power3 x m))))))) | |
;; Power_mult | |
(assert | |
(forall ((x (_ BitVec 32)) (n Int) (m Int)) | |
(=> (<= 0 n) (=> (<= 0 m) (= (power3 x (* n m)) (power3 (power3 x n) m)))))) | |
;; Power_mult2 | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32)) (n Int)) | |
(=> (<= 0 n) (= (power3 (bvmul x y) n) (bvmul (power3 x n) (power3 y n)))))) | |
(declare-fun bv_min3 ((_ BitVec 32) (_ BitVec 32)) (_ BitVec 32)) | |
;; bv_min_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvule x y) (= (bv_min3 x y) x) (= (bv_min3 x y) y)) :pattern ( | |
(bv_min3 x y)) ))) | |
(declare-fun bv_max3 ((_ BitVec 32) (_ BitVec 32)) (_ BitVec 32)) | |
;; bv_max_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (bvule x y) (= (bv_max3 x y) y) (= (bv_max3 x y) x)) :pattern ( | |
(bv_max3 x y)) ))) | |
;; bv_min_to_uint | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(= (bv2int (bv_min3 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int x) (bv2int y))))) | |
;; bv_max_to_uint | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(= (bv2int (bv_max3 x y)) (ite (< (bv2int x) (bv2int y)) (bv2int y) (bv2int x))))) | |
(declare-fun in_range13 ((_ BitVec 16)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 16))) | |
(! (= (in_range13 x) | |
(and (bvule ((_ int2bv 16) 0) x) (bvule x ((_ int2bv 16) 65535)))) :pattern ((in_range13 | |
x)) ))) | |
(declare-fun in_range_int12 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int12 x) (and (<= 0 x) (<= x 65535))) :pattern ((in_range_int12 | |
x)) ))) | |
(declare-fun bool_eq21 ((_ BitVec 16) (_ BitVec 16)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 16)) (y (_ BitVec 16))) | |
(! (ite (= x y) (= (bool_eq21 x y) true) (= (bool_eq21 x y) false)) :pattern ( | |
(bool_eq21 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE13 ((_ BitVec 16)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 16))) (sort us_image (attr__ATTRIBUTE_IMAGE13 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check13 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE13 (uni) (_ BitVec 16)) | |
(declare-fun to_rep12 (u16) (_ BitVec 16)) | |
(declare-fun of_rep12 ((_ BitVec 16)) u16) | |
(declare-fun user_eq18 (u16 u16) Bool) | |
(declare-fun dummy18 () u16) | |
;; inversion_axiom | |
(assert | |
(forall ((x u16)) | |
(! (= (of_rep12 (to_rep12 x)) x) :pattern ((to_rep12 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x u16)) (! (in_range13 (to_rep12 x)) :pattern ((to_rep12 x)) ))) | |
(declare-fun to_int18 (u16) Int) | |
;; to_int_def | |
(assert | |
(forall ((x u16)) | |
(! (= (to_int18 x) (bv2int (to_rep12 x))) :pattern ((to_int18 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x u16)) (! (in_range_int12 | |
(to_int18 x)) :pattern ((to_int18 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 16))) | |
(! (= (to_rep12 (of_rep12 x)) x) :pattern ((to_rep12 (of_rep12 x))) ))) | |
(declare-fun in_range14 ((_ BitVec 32)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 32))) | |
(! (= (in_range14 x) | |
(and (bvule ((_ int2bv 32) 0) x) (bvule x ((_ int2bv 32) 4294967295)))) :pattern ((in_range14 | |
x)) ))) | |
(declare-fun in_range_int13 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int13 x) (and (<= 0 x) (<= x 4294967295))) :pattern ((in_range_int13 | |
x)) ))) | |
(declare-fun bool_eq22 ((_ BitVec 32) (_ BitVec 32)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 32)) (y (_ BitVec 32))) | |
(! (ite (= x y) (= (bool_eq22 x y) true) (= (bool_eq22 x y) false)) :pattern ( | |
(bool_eq22 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE14 ((_ BitVec 32)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 32))) (sort us_image (attr__ATTRIBUTE_IMAGE14 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check14 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE14 (uni) (_ BitVec 32)) | |
(declare-fun to_rep13 (u32) (_ BitVec 32)) | |
(declare-fun of_rep13 ((_ BitVec 32)) u32) | |
(declare-fun user_eq19 (u32 u32) Bool) | |
(declare-fun dummy19 () u32) | |
;; inversion_axiom | |
(assert | |
(forall ((x u32)) | |
(! (= (of_rep13 (to_rep13 x)) x) :pattern ((to_rep13 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x u32)) (! (in_range14 (to_rep13 x)) :pattern ((to_rep13 x)) ))) | |
(declare-fun to_int19 (u32) Int) | |
;; to_int_def | |
(assert | |
(forall ((x u32)) | |
(! (= (to_int19 x) (bv2int (to_rep13 x))) :pattern ((to_int19 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x u32)) (! (in_range_int13 | |
(to_int19 x)) :pattern ((to_int19 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 32))) | |
(! (= (to_rep13 (of_rep13 x)) x) :pattern ((to_rep13 (of_rep13 x))) ))) | |
(declare-fun in_range15 ((_ BitVec 8)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (= (in_range15 x) | |
(and (bvule ((_ int2bv 8) 0) x) (bvule x ((_ int2bv 8) 127)))) :pattern ((in_range15 | |
x)) ))) | |
(declare-fun in_range_int14 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int14 x) (and (<= 0 x) (<= x 127))) :pattern ((in_range_int14 | |
x)) ))) | |
(declare-fun bool_eq23 ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (= x y) (= (bool_eq23 x y) true) (= (bool_eq23 x y) false)) :pattern ( | |
(bool_eq23 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE15 ((_ BitVec 8)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 8))) (sort us_image (attr__ATTRIBUTE_IMAGE15 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check15 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE15 (uni) (_ BitVec 8)) | |
(declare-fun to_rep14 (u7) (_ BitVec 8)) | |
(declare-fun of_rep14 ((_ BitVec 8)) u7) | |
(declare-fun user_eq20 (u7 u7) Bool) | |
(declare-fun dummy20 () u7) | |
;; inversion_axiom | |
(assert | |
(forall ((x u7)) | |
(! (= (of_rep14 (to_rep14 x)) x) :pattern ((to_rep14 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x u7)) (! (in_range15 (to_rep14 x)) :pattern ((to_rep14 x)) ))) | |
(declare-fun to_int20 (u7) Int) | |
;; to_int_def | |
(assert | |
(forall ((x u7)) | |
(! (= (to_int20 x) (bv2int (to_rep14 x))) :pattern ((to_int20 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x u7)) (! (in_range_int14 | |
(to_int20 x)) :pattern ((to_int20 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (let ((y (bvurem x ((_ int2bv 8) 128)))) | |
(=> (in_range15 y) (= (to_rep14 (of_rep14 x)) y))) :pattern ((to_rep14 | |
(of_rep14 | |
x))) ))) | |
(declare-fun in_range16 ((_ BitVec 8)) Bool) | |
;; in_range_def | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (= (in_range16 x) | |
(and (bvule ((_ int2bv 8) 0) x) (bvule x ((_ int2bv 8) 63)))) :pattern ((in_range16 | |
x)) ))) | |
(declare-fun in_range_int15 (Int) Bool) | |
;; in_range_int_def | |
(assert | |
(forall ((x Int)) | |
(! (= (in_range_int15 x) (and (<= 0 x) (<= x 63))) :pattern ((in_range_int15 | |
x)) ))) | |
(declare-fun bool_eq24 ((_ BitVec 8) (_ BitVec 8)) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((x (_ BitVec 8)) (y (_ BitVec 8))) | |
(! (ite (= x y) (= (bool_eq24 x y) true) (= (bool_eq24 x y) false)) :pattern ( | |
(bool_eq24 x y)) ))) | |
(declare-fun attr__ATTRIBUTE_IMAGE16 ((_ BitVec 8)) uni) | |
;; attr__ATTRIBUTE_IMAGE_sort | |
(assert | |
(forall ((x (_ BitVec 8))) (sort us_image (attr__ATTRIBUTE_IMAGE16 x)))) | |
(declare-fun attr__ATTRIBUTE_VALUE__pre_check16 (uni) Bool) | |
(declare-fun attr__ATTRIBUTE_VALUE16 (uni) (_ BitVec 8)) | |
(declare-fun to_rep15 (u6) (_ BitVec 8)) | |
(declare-fun of_rep15 ((_ BitVec 8)) u6) | |
(declare-fun user_eq21 (u6 u6) Bool) | |
(declare-fun dummy21 () u6) | |
;; inversion_axiom | |
(assert | |
(forall ((x u6)) | |
(! (= (of_rep15 (to_rep15 x)) x) :pattern ((to_rep15 x)) ))) | |
;; range_axiom | |
(assert | |
(forall ((x u6)) (! (in_range16 (to_rep15 x)) :pattern ((to_rep15 x)) ))) | |
(declare-fun to_int21 (u6) Int) | |
;; to_int_def | |
(assert | |
(forall ((x u6)) | |
(! (= (to_int21 x) (bv2int (to_rep15 x))) :pattern ((to_int21 x)) ))) | |
;; range_int_axiom | |
(assert | |
(forall ((x u6)) (! (in_range_int15 | |
(to_int21 x)) :pattern ((to_int21 x)) ))) | |
;; coerce_axiom | |
(assert | |
(forall ((x (_ BitVec 8))) | |
(! (let ((y (bvurem x ((_ int2bv 8) 64)))) | |
(=> (in_range16 y) (= (to_rep15 (of_rep15 x)) y))) :pattern ((to_rep15 | |
(of_rep15 | |
x))) ))) | |
(declare-fun mk___split_fields (u64 u32 u16 u7 Bool u6 Bool | |
Bool) us_split_fields) | |
(declare-fun rec__byte_count_lsb (us_split_fields) u64) | |
;; rec__byte_count_lsb_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__byte_count_lsb (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u))) | |
(declare-fun rec__byte_count_msb (us_split_fields) u32) | |
;; rec__byte_count_msb_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__byte_count_msb (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u1))) | |
(declare-fun rec__reserved (us_split_fields) u16) | |
;; rec__reserved_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__reserved (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u2))) | |
(declare-fun rec__tree_level (us_split_fields) u7) | |
;; rec__tree_level_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__tree_level (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u3))) | |
(declare-fun rec__bit_pad (us_split_fields) Bool) | |
;; rec__bit_pad_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__bit_pad (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u4))) | |
(declare-fun rec__field_type (us_split_fields) u6) | |
;; rec__field_type_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__field_type (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u5))) | |
(declare-fun rec__first_block (us_split_fields) Bool) | |
;; rec__first_block_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__first_block (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u8))) | |
(declare-fun rec__final_block (us_split_fields) Bool) | |
;; rec__final_block_def | |
(assert | |
(forall ((u u64) (u1 u32) (u2 u16) (u3 u7) (u4 Bool) (u5 u6) (u8 Bool) | |
(u9 Bool)) | |
(= (rec__final_block (mk___split_fields u u1 u2 u3 u4 u5 u8 u9)) u9))) | |
(declare-fun mk_tweak_value (us_split_fields) tweak_value) | |
(declare-fun us_split_fields2 (tweak_value) us_split_fields) | |
;; __split_fields_def | |
(assert | |
(forall ((u us_split_fields)) (= (us_split_fields2 (mk_tweak_value u)) u))) | |
(declare-fun bool_eq25 (tweak_value tweak_value) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((a tweak_value) (b tweak_value)) | |
(! (ite (and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(= (to_rep1 (rec__byte_count_lsb (us_split_fields2 a))) (to_rep1 | |
(rec__byte_count_lsb | |
(us_split_fields2 | |
b)))) | |
(= (to_rep13 (rec__byte_count_msb (us_split_fields2 a))) (to_rep13 | |
(rec__byte_count_msb | |
(us_split_fields2 | |
b))))) | |
(= (to_rep12 (rec__reserved (us_split_fields2 a))) (to_rep12 | |
(rec__reserved | |
(us_split_fields2 | |
b))))) | |
(= (to_rep14 (rec__tree_level (us_split_fields2 a))) (to_rep14 | |
(rec__tree_level | |
(us_split_fields2 | |
b))))) | |
(= (rec__bit_pad (us_split_fields2 a)) (rec__bit_pad | |
(us_split_fields2 b)))) | |
(= (to_rep15 (rec__field_type (us_split_fields2 a))) (to_rep15 | |
(rec__field_type | |
(us_split_fields2 | |
b))))) | |
(= (rec__first_block (us_split_fields2 a)) (rec__first_block | |
(us_split_fields2 b)))) | |
(= (rec__final_block (us_split_fields2 a)) (rec__final_block | |
(us_split_fields2 b)))) | |
(= (bool_eq25 a b) true) (= (bool_eq25 a b) false)) :pattern ((bool_eq25 | |
a b)) ))) | |
(declare-fun user_eq22 (tweak_value tweak_value) Bool) | |
(declare-fun value__size6 () Int) | |
(declare-fun object__size6 (tweak_value) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size6)) | |
;; object__size_axiom | |
(assert (forall ((a tweak_value)) (<= 0 (object__size6 a)))) | |
(declare-fun dummy22 () tweak_value) | |
(declare-fun mk___split_fields1 (tweak_value hash_bit_length | |
u64) us_split_fields3) | |
(declare-fun rec__tweak_words (us_split_fields3) tweak_value) | |
;; rec__tweak_words_def | |
(assert | |
(forall ((u tweak_value) (u1 hash_bit_length) (u2 u64)) | |
(= (rec__tweak_words (mk___split_fields1 u u1 u2)) u))) | |
(declare-fun rec__hash_bit_len (us_split_fields3) hash_bit_length) | |
;; rec__hash_bit_len_def | |
(assert | |
(forall ((u tweak_value) (u1 hash_bit_length) (u2 u64)) | |
(= (rec__hash_bit_len (mk___split_fields1 u u1 u2)) u1))) | |
(declare-fun rec__byte_count (us_split_fields3) u64) | |
;; rec__byte_count_def | |
(assert | |
(forall ((u tweak_value) (u1 hash_bit_length) (u2 u64)) | |
(= (rec__byte_count (mk___split_fields1 u u1 u2)) u2))) | |
(declare-fun mk_context_header (us_split_fields3) context_header) | |
(declare-fun us_split_fields5 (context_header) us_split_fields3) | |
;; __split_fields_def | |
(assert | |
(forall ((u us_split_fields3)) | |
(= (us_split_fields5 (mk_context_header u)) u))) | |
(declare-fun bool_eq26 (context_header context_header) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((a context_header) (b context_header)) | |
(! (ite (and | |
(and | |
(= (bool_eq25 (rec__tweak_words (us_split_fields5 a)) | |
(rec__tweak_words (us_split_fields5 b))) true) | |
(= (to_rep7 (rec__hash_bit_len (us_split_fields5 a))) (to_rep7 | |
(rec__hash_bit_len | |
(us_split_fields5 | |
b))))) | |
(= (to_rep1 (rec__byte_count (us_split_fields5 a))) (to_rep1 | |
(rec__byte_count | |
(us_split_fields5 | |
b))))) | |
(= (bool_eq26 a b) true) (= (bool_eq26 a b) false)) :pattern ((bool_eq26 | |
a b)) ))) | |
(declare-fun user_eq23 (context_header context_header) Bool) | |
(declare-fun value__size7 () Int) | |
(declare-fun object__size7 (context_header) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size7)) | |
;; object__size_axiom | |
(assert (forall ((a context_header)) (<= 0 (object__size7 a)))) | |
(declare-fun dummy23 () context_header) | |
(declare-fun dummy15 () (Array (_ BitVec 64) u64)) | |
(declare-fun value__size5 () Int) | |
(declare-fun object__size5 ((Array (_ BitVec 64) u64)) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size5)) | |
;; object__size_axiom | |
(assert (forall ((a (Array (_ BitVec 64) u64))) (<= 0 (object__size5 a)))) | |
(declare-fun user_eq15 ((Array (_ BitVec 64) u64) | |
(Array (_ BitVec 64) u64)) Bool) | |
;; compare_def | |
(assert | |
(forall ((a (Array (_ BitVec 64) u64)) (b (Array (_ BitVec 64) u64))) | |
(forall ((a_first (_ BitVec 64)) (a_last (_ BitVec 64)) | |
(b_first (_ BitVec 64)) (b_last (_ BitVec 64))) | |
(! (and | |
(= (= (compare2 a a_first a_last b b_first b_last) 0) | |
(= (bool_eq34 a a_first a_last b b_first b_last) true)) | |
(and | |
(= (< (compare2 a a_first a_last b b_first b_last) 0) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i a_last) | |
(and (bvult j b_last) | |
(and (= (bool_eq34 a a_first i b b_first j) true) | |
(or (= i a_last) | |
(and (bvult i a_last) | |
(bvult (to_rep1 (select a (bvadd i ((_ int2bv 64) 1)))) (to_rep1 | |
(select b (bvadd j ((_ int2bv 64) 1)))))))))))) | |
(= (< 0 (compare2 a a_first a_last b b_first b_last)) | |
(exists ((i (_ BitVec 64)) (j (_ BitVec 64))) | |
(and (bvule i b_last) | |
(and (bvult j a_last) | |
(and (= (bool_eq34 a a_first j b b_first i) true) | |
(or (= i b_last) | |
(and (bvult i b_last) | |
(bvugt (to_rep1 (select a (bvadd j ((_ int2bv 64) 1)))) (to_rep1 | |
(select b (bvadd i ((_ int2bv 64) 1)))))))))))))) :pattern ( | |
(compare2 a a_first a_last b b_first b_last)) )))) | |
(declare-fun mk___split_fields2 (context_header (Array (_ BitVec 64) u64) | |
(Array (_ BitVec 64) byte)) us_split_fields6) | |
(declare-fun rec__h (us_split_fields6) context_header) | |
;; rec__h_def | |
(assert | |
(forall ((u context_header) (u1 (Array (_ BitVec 64) u64)) | |
(u2 (Array (_ BitVec 64) byte))) | |
(= (rec__h (mk___split_fields2 u u1 u2)) u))) | |
(declare-fun rec__x (us_split_fields6) (Array (_ BitVec 64) u64)) | |
;; rec__x_def | |
(assert | |
(forall ((u context_header) (u1 (Array (_ BitVec 64) u64)) | |
(u2 (Array (_ BitVec 64) byte))) | |
(= (rec__x (mk___split_fields2 u u1 u2)) u1))) | |
(declare-fun rec__b (us_split_fields6) (Array (_ BitVec 64) byte)) | |
;; rec__b_def | |
(assert | |
(forall ((u context_header) (u1 (Array (_ BitVec 64) u64)) | |
(u2 (Array (_ BitVec 64) byte))) | |
(= (rec__b (mk___split_fields2 u u1 u2)) u2))) | |
(declare-fun mk_skein_512_context (us_split_fields6) skein_512_context) | |
(declare-fun us_split_fields8 (skein_512_context) us_split_fields6) | |
;; __split_fields_def | |
(assert | |
(forall ((u us_split_fields6)) | |
(= (us_split_fields8 (mk_skein_512_context u)) u))) | |
(declare-fun bool_eq27 (skein_512_context skein_512_context) Bool) | |
;; bool_eq_def | |
(assert | |
(forall ((a skein_512_context) (b skein_512_context)) | |
(! (ite (and | |
(and | |
(= (bool_eq26 (rec__h (us_split_fields8 a)) | |
(rec__h (us_split_fields8 b))) true) | |
(= (bool_eq34 (rec__x (us_split_fields8 a)) ((_ int2bv 64) 0) | |
((_ int2bv 64) 7) (rec__x (us_split_fields8 b)) | |
((_ int2bv 64) 0) ((_ int2bv 64) 7)) true)) | |
(= (bool_eq33 (rec__b (us_split_fields8 a)) ((_ int2bv 64) 0) | |
((_ int2bv 64) 63) (rec__b (us_split_fields8 b)) | |
((_ int2bv 64) 0) ((_ int2bv 64) 63)) true)) | |
(= (bool_eq27 a b) true) (= (bool_eq27 a b) false)) :pattern ((bool_eq27 | |
a b)) ))) | |
(declare-fun user_eq25 (skein_512_context skein_512_context) Bool) | |
(declare-fun value__size9 () Int) | |
(declare-fun object__size9 (skein_512_context) Int) | |
;; value__size_axiom | |
(assert (<= 0 value__size9)) | |
;; object__size_axiom | |
(assert (forall ((a skein_512_context)) (<= 0 (object__size9 a)))) | |
(declare-fun dummy25 () skein_512_context) | |
(declare-fun add_in_range ((_ BitVec 64) (_ BitVec 64)) Bool) | |
;; add_in_range__def_axiom | |
(assert | |
(forall ((x (_ BitVec 64)) (y (_ BitVec 64))) | |
(! (= (= (add_in_range x y) true) | |
(bvule y (bvsub ((_ int2bv 64) 18446744073709551615) x))) :pattern ( | |
(add_in_range x y)) ))) | |
(declare-fun hash_bit_len_of (skein_512_context) (_ BitVec 64)) | |
;; hash_bit_len_of__post_axiom | |
(assert | |
(forall ((ctx1 skein_512_context)) (! (in_range8 | |
(hash_bit_len_of ctx1)) :pattern ((hash_bit_len_of ctx1)) ))) | |
;; hash_bit_len_of__def_axiom | |
(assert | |
(forall ((ctx1 skein_512_context)) | |
(! (= (hash_bit_len_of ctx1) (to_rep7 | |
(rec__hash_bit_len | |
(us_split_fields5 | |
(rec__h (us_split_fields8 ctx1)))))) :pattern ( | |
(hash_bit_len_of ctx1)) ))) | |
(declare-fun byte_count_of (skein_512_context) (_ BitVec 64)) | |
;; byte_count_of__post_axiom | |
(assert | |
(forall ((ctx1 skein_512_context)) (! (in_range2 | |
(byte_count_of ctx1)) :pattern ((byte_count_of ctx1)) ))) | |
;; byte_count_of__def_axiom | |
(assert | |
(forall ((ctx1 skein_512_context)) | |
(! (= (byte_count_of ctx1) (to_rep1 | |
(rec__byte_count | |
(us_split_fields5 | |
(rec__h (us_split_fields8 ctx1)))))) :pattern ( | |
(byte_count_of ctx1)) ))) | |
(declare-fun attr__ATTRIBUTE_ADDRESS23 () Int) | |
(declare-fun msg () us_t) | |
(declare-fun attr__ATTRIBUTE_ADDRESS24 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS25 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS26 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS27 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS28 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS29 () Int) | |
(declare-fun c232b () (_ BitVec 64)) | |
(declare-fun attr__ATTRIBUTE_ADDRESS30 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS31 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS32 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS33 () Int) | |
(declare-fun c234b () (_ BitVec 64)) | |
(declare-fun attr__ATTRIBUTE_ADDRESS34 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS35 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS36 () Int) | |
(declare-fun attr__ATTRIBUTE_ADDRESS37 () Int) | |
(assert | |
;; WP_parameter_def3 | |
;; File "/home/kanig/dev/spark2014/testsuite/gnatprove/temp/tmp-test-sparkskein-22763/src/gnatprove/skein/../skein.mlw", line 29657, characters 5-8 | |
(not | |
(forall ((ctx__split_fields u64) (ctx__split_fields1 u32) | |
(ctx__split_fields2 u16) (ctx__split_fields3 u7) (ctx__split_fields4 Bool) | |
(ctx__split_fields5 u6) (ctx__split_fields6 Bool) (ctx__split_fields7 Bool) | |
(ctx__split_fields8 hash_bit_length) (ctx__split_fields9 u64) | |
(ctx__split_fields10 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields11 (Array (_ BitVec 64) byte)) | |
(msg_byte_count (_ BitVec 64)) (n (_ BitVec 64)) | |
(block_count1 (_ BitVec 64)) (current_msg_offset (_ BitVec 64)) | |
(bytes_hashed (_ BitVec 64)) (tmp_b (Array (_ BitVec 64) byte)) | |
(src (_ BitVec 64)) (dst (_ BitVec 64)) (final_dst (_ BitVec 64)) | |
(final_src (_ BitVec 64)) (src1 (_ BitVec 64)) (dst1 (_ BitVec 64)) | |
(final_dst1 (_ BitVec 64)) (final_src1 (_ BitVec 64)) (o (_ BitVec 64)) | |
(o1 (_ BitVec 64)) (o2 (_ BitVec 64)) | |
(temp___standard__skein_126 (_ BitVec 64)) | |
(temp___standard__skein_127 (_ BitVec 64)) (o3 (_ BitVec 64)) (o4 byte) | |
(o5 (_ BitVec 8)) (o6 byte) (o7 (Array (_ BitVec 64) byte)) (o8 u64) | |
(o9 u32) (o10 u16) (o11 u7) (o12 Bool) (o13 u6) (o14 Bool) (o15 Bool) | |
(o16 hash_bit_length) (o17 u64) (o18 (Array (_ BitVec 64) u64)) | |
(o19 (Array (_ BitVec 64) byte)) (temp___standard__skein_123 u64) | |
(temp___standard__skein_1231 u32) (temp___standard__skein_1232 u16) | |
(temp___standard__skein_1233 u7) (temp___standard__skein_1234 Bool) | |
(temp___standard__skein_1235 u6) (temp___standard__skein_1236 Bool) | |
(temp___standard__skein_1237 Bool) | |
(temp___standard__skein_1238 hash_bit_length) | |
(temp___standard__skein_1239 u64) | |
(temp___standard__skein_12310 (Array (_ BitVec 64) u64)) | |
(temp___standard__skein_12311 (Array (_ BitVec 64) byte)) (o20 u64) | |
(o21 u64) (o22 u32) (o23 u16) (o24 u7) (o25 Bool) (o26 u6) (o27 Bool) | |
(o28 Bool) (o29 hash_bit_length) (o30 u64) (o31 u64) (o32 u32) (o33 u16) | |
(o34 u7) (o35 Bool) (o36 u6) (o37 Bool) (o38 Bool) (o39 hash_bit_length) | |
(o40 u64) (o41 u64) (o42 u32) (o43 u16) (o44 u7) (o45 Bool) (o46 u6) | |
(o47 Bool) (o48 Bool) (o49 hash_bit_length) (o50 u64) | |
(o51 (Array (_ BitVec 64) u64)) (o52 (Array (_ BitVec 64) byte)) | |
(temp___standard__skein_130 u64) (temp___standard__skein_1301 u32) | |
(temp___standard__skein_1302 u16) (temp___standard__skein_1303 u7) | |
(temp___standard__skein_1304 Bool) (temp___standard__skein_1305 u6) | |
(temp___standard__skein_1306 Bool) (temp___standard__skein_1307 Bool) | |
(temp___standard__skein_1308 hash_bit_length) | |
(temp___standard__skein_1309 u64) | |
(temp___standard__skein_13010 (Array (_ BitVec 64) u64)) | |
(temp___standard__skein_13011 (Array (_ BitVec 64) byte)) (o53 u64) | |
(o54 u64) (o55 u32) (o56 u16) (o57 u7) (o58 Bool) (o59 u6) (o60 Bool) | |
(o61 Bool) (o62 hash_bit_length) (o63 u64) (o64 u64) (o65 u32) (o66 u16) | |
(o67 u7) (o68 Bool) (o69 u6) (o70 Bool) (o71 Bool) (o72 hash_bit_length) | |
(o73 u64) (o74 u64) (o75 u32) (o76 u16) (o77 u7) (o78 Bool) (o79 u6) | |
(o80 Bool) (o81 Bool) (o82 hash_bit_length) (o83 u64) | |
(o84 (Array (_ BitVec 64) u64)) (o85 (Array (_ BitVec 64) byte)) | |
(temp___standard__skein_133 u64) (temp___standard__skein_1331 u32) | |
(temp___standard__skein_1332 u16) (temp___standard__skein_1333 u7) | |
(temp___standard__skein_1334 Bool) (temp___standard__skein_1335 u6) | |
(temp___standard__skein_1336 Bool) (temp___standard__skein_1337 Bool) | |
(temp___standard__skein_1338 hash_bit_length) | |
(temp___standard__skein_1339 u64) | |
(temp___standard__skein_13310 (Array (_ BitVec 64) u64)) | |
(temp___standard__skein_13311 (Array (_ BitVec 64) byte)) | |
(o86 (_ BitVec 64)) (o87 (_ BitVec 64)) (o88 (_ BitVec 64)) | |
(temp___standard__skein_139 (_ BitVec 64)) | |
(temp___standard__skein_140 (_ BitVec 64)) (o89 (_ BitVec 64)) (o90 byte) | |
(o91 (_ BitVec 8)) (o92 byte) (o93 (Array (_ BitVec 64) byte)) (o94 u64) | |
(o95 u32) (o96 u16) (o97 u7) (o98 Bool) (o99 u6) (o100 Bool) (o101 Bool) | |
(o102 hash_bit_length) (o103 u64) (o104 (Array (_ BitVec 64) u64)) | |
(o105 (Array (_ BitVec 64) byte)) (temp___standard__skein_136 u64) | |
(temp___standard__skein_1361 u32) (temp___standard__skein_1362 u16) | |
(temp___standard__skein_1363 u7) (temp___standard__skein_1364 Bool) | |
(temp___standard__skein_1365 u6) (temp___standard__skein_1366 Bool) | |
(temp___standard__skein_1367 Bool) | |
(temp___standard__skein_1368 hash_bit_length) | |
(temp___standard__skein_1369 u64) | |
(temp___standard__skein_13610 (Array (_ BitVec 64) u64)) | |
(temp___standard__skein_13611 (Array (_ BitVec 64) byte)) (o106 u64) | |
(o107 u64) (o108 u32) (o109 u16) (o110 u7) (o111 Bool) (o112 u6) | |
(o113 Bool) (o114 Bool) (o115 hash_bit_length) (o116 u64) (o117 u64) | |
(o118 u32) (o119 u16) (o120 u7) (o121 Bool) (o122 u6) (o123 Bool) | |
(o124 Bool) (o125 hash_bit_length) (o126 u64) (o127 u64) (o128 u32) | |
(o129 u16) (o130 u7) (o131 Bool) (o132 u6) (o133 Bool) (o134 Bool) | |
(o135 hash_bit_length) (o136 u64) (o137 (Array (_ BitVec 64) u64)) | |
(o138 (Array (_ BitVec 64) byte)) (temp___standard__skein_143 u64) | |
(temp___standard__skein_1431 u32) (temp___standard__skein_1432 u16) | |
(temp___standard__skein_1433 u7) (temp___standard__skein_1434 Bool) | |
(temp___standard__skein_1435 u6) (temp___standard__skein_1436 Bool) | |
(temp___standard__skein_1437 Bool) | |
(temp___standard__skein_1438 hash_bit_length) | |
(temp___standard__skein_1439 u64) | |
(temp___standard__skein_14310 (Array (_ BitVec 64) u64)) | |
(temp___standard__skein_14311 (Array (_ BitVec 64) byte)) | |
(ctx__split_fields12 u64) (ctx__split_fields13 u32) | |
(ctx__split_fields14 u16) (ctx__split_fields15 u7) | |
(ctx__split_fields16 Bool) (ctx__split_fields17 u6) | |
(ctx__split_fields18 Bool) (ctx__split_fields19 Bool) | |
(ctx__split_fields20 hash_bit_length) (ctx__split_fields21 u64) | |
(ctx__split_fields22 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields23 (Array (_ BitVec 64) byte)) (n1 (_ BitVec 64)) | |
(block_count2 (_ BitVec 64)) (bytes_hashed1 (_ BitVec 64)) | |
(tmp_b1 (Array (_ BitVec 64) byte)) (src2 (_ BitVec 64)) | |
(dst2 (_ BitVec 64)) (final_dst2 (_ BitVec 64)) (final_src2 (_ BitVec 64)) | |
(src3 (_ BitVec 64)) (dst3 (_ BitVec 64)) (final_dst3 (_ BitVec 64)) | |
(final_src3 (_ BitVec 64)) (msg_byte_count1 (_ BitVec 64)) | |
(current_msg_offset1 (_ BitVec 64)) (n2 (_ BitVec 64)) (src4 (_ BitVec 64)) | |
(dst4 (_ BitVec 64)) (final_dst4 (_ BitVec 64)) (final_src4 (_ BitVec 64)) | |
(ctx__split_fields24 u64) (ctx__split_fields25 u32) | |
(ctx__split_fields26 u16) (ctx__split_fields27 u7) | |
(ctx__split_fields28 Bool) (ctx__split_fields29 u6) | |
(ctx__split_fields30 Bool) (ctx__split_fields31 Bool) | |
(ctx__split_fields32 hash_bit_length) (ctx__split_fields33 u64) | |
(ctx__split_fields34 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields35 (Array (_ BitVec 64) byte)) (ctx__split_fields36 u64) | |
(ctx__split_fields37 u32) (ctx__split_fields38 u16) | |
(ctx__split_fields39 u7) (ctx__split_fields40 Bool) | |
(ctx__split_fields41 u6) (ctx__split_fields42 Bool) | |
(ctx__split_fields43 Bool) (ctx__split_fields44 hash_bit_length) | |
(ctx__split_fields45 u64) (ctx__split_fields46 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields47 (Array (_ BitVec 64) byte)) (src5 (_ BitVec 64)) | |
(dst5 (_ BitVec 64)) (src6 (_ BitVec 64)) (dst6 (_ BitVec 64)) | |
(src7 (_ BitVec 64)) (dst7 (_ BitVec 64)) (ctx__split_fields48 u64) | |
(ctx__split_fields49 u32) (ctx__split_fields50 u16) | |
(ctx__split_fields51 u7) (ctx__split_fields52 Bool) | |
(ctx__split_fields53 u6) (ctx__split_fields54 Bool) | |
(ctx__split_fields55 Bool) (ctx__split_fields56 hash_bit_length) | |
(ctx__split_fields57 u64) (ctx__split_fields58 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields59 (Array (_ BitVec 64) byte)) (src8 (_ BitVec 64)) | |
(dst8 (_ BitVec 64)) (ctx__split_fields60 u64) (ctx__split_fields61 u32) | |
(ctx__split_fields62 u16) (ctx__split_fields63 u7) | |
(ctx__split_fields64 Bool) (ctx__split_fields65 u6) | |
(ctx__split_fields66 Bool) (ctx__split_fields67 Bool) | |
(ctx__split_fields68 hash_bit_length) (ctx__split_fields69 u64) | |
(ctx__split_fields70 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields71 (Array (_ BitVec 64) byte)) (src9 (_ BitVec 64)) | |
(dst9 (_ BitVec 64)) (ctx__split_fields72 u64) (ctx__split_fields73 u32) | |
(ctx__split_fields74 u16) (ctx__split_fields75 u7) | |
(ctx__split_fields76 Bool) (ctx__split_fields77 u6) | |
(ctx__split_fields78 Bool) (ctx__split_fields79 Bool) | |
(ctx__split_fields80 hash_bit_length) (ctx__split_fields81 u64) | |
(ctx__split_fields82 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields83 (Array (_ BitVec 64) byte)) | |
(msg_byte_count2 (_ BitVec 64)) (current_msg_offset2 (_ BitVec 64)) | |
(tmp_b2 (Array (_ BitVec 64) byte)) (ctx__split_fields84 u64) | |
(ctx__split_fields85 u32) (ctx__split_fields86 u16) | |
(ctx__split_fields87 u7) (ctx__split_fields88 Bool) | |
(ctx__split_fields89 u6) (ctx__split_fields90 Bool) | |
(ctx__split_fields91 Bool) (ctx__split_fields92 hash_bit_length) | |
(ctx__split_fields93 u64) (ctx__split_fields94 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields95 (Array (_ BitVec 64) byte)) (ctx__split_fields96 u64) | |
(ctx__split_fields97 u32) (ctx__split_fields98 u16) | |
(ctx__split_fields99 u7) (ctx__split_fields100 Bool) | |
(ctx__split_fields101 u6) (ctx__split_fields102 Bool) | |
(ctx__split_fields103 Bool) (ctx__split_fields104 hash_bit_length) | |
(ctx__split_fields105 u64) (ctx__split_fields106 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields107 (Array (_ BitVec 64) byte)) | |
(block_count3 (_ BitVec 64)) (ctx__split_fields108 u64) | |
(ctx__split_fields109 u32) (ctx__split_fields110 u16) | |
(ctx__split_fields111 u7) (ctx__split_fields112 Bool) | |
(ctx__split_fields113 u6) (ctx__split_fields114 Bool) | |
(ctx__split_fields115 Bool) (ctx__split_fields116 hash_bit_length) | |
(ctx__split_fields117 u64) (ctx__split_fields118 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields119 (Array (_ BitVec 64) byte)) | |
(bytes_hashed2 (_ BitVec 64)) (msg_byte_count3 (_ BitVec 64)) | |
(current_msg_offset3 (_ BitVec 64)) (src10 (_ BitVec 64)) | |
(dst10 (_ BitVec 64)) (final_dst5 (_ BitVec 64)) (final_src5 (_ BitVec 64)) | |
(ctx__split_fields120 u64) (ctx__split_fields121 u32) | |
(ctx__split_fields122 u16) (ctx__split_fields123 u7) | |
(ctx__split_fields124 Bool) (ctx__split_fields125 u6) | |
(ctx__split_fields126 Bool) (ctx__split_fields127 Bool) | |
(ctx__split_fields128 hash_bit_length) (ctx__split_fields129 u64) | |
(ctx__split_fields130 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields131 (Array (_ BitVec 64) byte)) | |
(ctx__split_fields132 u64) (ctx__split_fields133 u32) | |
(ctx__split_fields134 u16) (ctx__split_fields135 u7) | |
(ctx__split_fields136 Bool) (ctx__split_fields137 u6) | |
(ctx__split_fields138 Bool) (ctx__split_fields139 Bool) | |
(ctx__split_fields140 hash_bit_length) (ctx__split_fields141 u64) | |
(ctx__split_fields142 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields143 (Array (_ BitVec 64) byte)) (src11 (_ BitVec 64)) | |
(dst11 (_ BitVec 64)) (src12 (_ BitVec 64)) (dst12 (_ BitVec 64)) | |
(src13 (_ BitVec 64)) (dst13 (_ BitVec 64)) (ctx__split_fields144 u64) | |
(ctx__split_fields145 u32) (ctx__split_fields146 u16) | |
(ctx__split_fields147 u7) (ctx__split_fields148 Bool) | |
(ctx__split_fields149 u6) (ctx__split_fields150 Bool) | |
(ctx__split_fields151 Bool) (ctx__split_fields152 hash_bit_length) | |
(ctx__split_fields153 u64) (ctx__split_fields154 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields155 (Array (_ BitVec 64) byte)) (src14 (_ BitVec 64)) | |
(dst14 (_ BitVec 64)) (ctx__split_fields156 u64) (ctx__split_fields157 u32) | |
(ctx__split_fields158 u16) (ctx__split_fields159 u7) | |
(ctx__split_fields160 Bool) (ctx__split_fields161 u6) | |
(ctx__split_fields162 Bool) (ctx__split_fields163 Bool) | |
(ctx__split_fields164 hash_bit_length) (ctx__split_fields165 u64) | |
(ctx__split_fields166 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields167 (Array (_ BitVec 64) byte)) (src15 (_ BitVec 64)) | |
(dst15 (_ BitVec 64)) (ctx__split_fields168 u64) (ctx__split_fields169 u32) | |
(ctx__split_fields170 u16) (ctx__split_fields171 u7) | |
(ctx__split_fields172 Bool) (ctx__split_fields173 u6) | |
(ctx__split_fields174 Bool) (ctx__split_fields175 Bool) | |
(ctx__split_fields176 hash_bit_length) (ctx__split_fields177 u64) | |
(ctx__split_fields178 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields179 (Array (_ BitVec 64) byte)) | |
(ctx__split_fields180 u64) (ctx__split_fields181 u32) | |
(ctx__split_fields182 u16) (ctx__split_fields183 u7) | |
(ctx__split_fields184 Bool) (ctx__split_fields185 u6) | |
(ctx__split_fields186 Bool) (ctx__split_fields187 Bool) | |
(ctx__split_fields188 hash_bit_length) (ctx__split_fields189 u64) | |
(ctx__split_fields190 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields191 (Array (_ BitVec 64) byte)) | |
(msg_byte_count4 (_ BitVec 64)) (n3 (_ BitVec 64)) | |
(block_count4 (_ BitVec 64)) (current_msg_offset4 (_ BitVec 64)) | |
(bytes_hashed3 (_ BitVec 64)) (tmp_b3 (Array (_ BitVec 64) byte)) | |
(src16 (_ BitVec 64)) (dst16 (_ BitVec 64)) (final_dst6 (_ BitVec 64)) | |
(final_src6 (_ BitVec 64)) (src17 (_ BitVec 64)) (dst17 (_ BitVec 64)) | |
(final_dst7 (_ BitVec 64)) (final_src7 (_ BitVec 64)) | |
(ctx__split_fields192 u64) (ctx__split_fields193 u32) | |
(ctx__split_fields194 u16) (ctx__split_fields195 u7) | |
(ctx__split_fields196 Bool) (ctx__split_fields197 u6) | |
(ctx__split_fields198 Bool) (ctx__split_fields199 Bool) | |
(ctx__split_fields200 hash_bit_length) (ctx__split_fields201 u64) | |
(ctx__split_fields202 (Array (_ BitVec 64) u64)) | |
(ctx__split_fields203 (Array (_ BitVec 64) byte)) | |
(msg_byte_count5 (_ BitVec 64)) (n4 (_ BitVec 64)) | |
(block_count5 (_ BitVec 64)) (current_msg_offset5 (_ BitVec 64)) | |
(bytes_hashed4 (_ BitVec 64)) (tmp_b4 (Array (_ BitVec 64) byte)) | |
(src18 (_ BitVec 64)) (dst18 (_ BitVec 64)) (final_dst8 (_ BitVec 64)) | |
(final_src8 (_ BitVec 64)) (src19 (_ BitVec 64)) (dst19 (_ BitVec 64)) | |
(final_dst9 (_ BitVec 64)) (final_src9 (_ BitVec 64))) | |
(let ((ctx__split_fields204 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields168 | |
ctx__split_fields169 ctx__split_fields170 | |
ctx__split_fields171 ctx__split_fields172 | |
ctx__split_fields173 ctx__split_fields174 | |
ctx__split_fields175)) ctx__split_fields176 | |
ctx__split_fields177)) ctx__split_fields178 | |
ctx__split_fields179))) | |
(let ((ctx__split_fields205 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields156 | |
ctx__split_fields157 ctx__split_fields158 | |
ctx__split_fields159 ctx__split_fields160 | |
ctx__split_fields161 ctx__split_fields162 | |
ctx__split_fields163)) ctx__split_fields164 | |
ctx__split_fields165)) ctx__split_fields166 | |
ctx__split_fields167))) | |
(let ((dst20 (mk_ref2 dst14))) | |
(let ((src20 (mk_ref2 src14))) | |
(let ((ctx__split_fields206 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields132 | |
ctx__split_fields133 ctx__split_fields134 | |
ctx__split_fields135 ctx__split_fields136 | |
ctx__split_fields137 ctx__split_fields138 | |
ctx__split_fields139)) ctx__split_fields140 | |
ctx__split_fields141)) ctx__split_fields142 | |
ctx__split_fields143))) | |
(let ((ctx__split_fields207 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields108 | |
ctx__split_fields109 ctx__split_fields110 | |
ctx__split_fields111 ctx__split_fields112 | |
ctx__split_fields113 ctx__split_fields114 | |
ctx__split_fields115)) ctx__split_fields116 | |
ctx__split_fields117)) ctx__split_fields118 | |
ctx__split_fields119))) | |
(let ((ctx__split_fields208 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields96 | |
ctx__split_fields97 ctx__split_fields98 | |
ctx__split_fields99 ctx__split_fields100 | |
ctx__split_fields101 ctx__split_fields102 | |
ctx__split_fields103)) ctx__split_fields104 | |
ctx__split_fields105)) ctx__split_fields106 | |
ctx__split_fields107))) | |
(let ((ctx__split_fields209 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields60 | |
ctx__split_fields61 ctx__split_fields62 | |
ctx__split_fields63 ctx__split_fields64 | |
ctx__split_fields65 ctx__split_fields66 | |
ctx__split_fields67)) ctx__split_fields68 | |
ctx__split_fields69)) ctx__split_fields70 | |
ctx__split_fields71))) | |
(let ((dst21 (mk_ref2 dst8))) | |
(let ((src21 (mk_ref2 src8))) | |
(let ((ctx__split_fields210 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields36 | |
ctx__split_fields37 ctx__split_fields38 | |
ctx__split_fields39 ctx__split_fields40 | |
ctx__split_fields41 ctx__split_fields42 | |
ctx__split_fields43)) ctx__split_fields44 | |
ctx__split_fields45)) ctx__split_fields46 | |
ctx__split_fields47))) | |
(let ((ctx__split_fields211 (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields12 | |
ctx__split_fields13 ctx__split_fields14 | |
ctx__split_fields15 ctx__split_fields16 | |
ctx__split_fields17 ctx__split_fields18 | |
ctx__split_fields19)) ctx__split_fields20 | |
ctx__split_fields21)) ctx__split_fields22 | |
ctx__split_fields23))) | |
(let ((dst22 (mk_ref2 dst))) | |
(let ((src22 (mk_ref2 src))) | |
(=> | |
(and (dynamic_property ((_ int2bv 64) 0) | |
((_ int2bv 64) 18446744073709551615) (to_rep5 (first (rt msg))) | |
(to_rep5 (last (rt msg)))) | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and (in_range9 | |
(hash_bit_len_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields ctx__split_fields1 ctx__split_fields2 | |
ctx__split_fields3 ctx__split_fields4 ctx__split_fields5 ctx__split_fields6 | |
ctx__split_fields7)) ctx__split_fields8 ctx__split_fields9)) | |
ctx__split_fields10 ctx__split_fields11)))) (in_range11 | |
(byte_count_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields ctx__split_fields1 ctx__split_fields2 | |
ctx__split_fields3 ctx__split_fields4 ctx__split_fields5 ctx__split_fields6 | |
ctx__split_fields7)) ctx__split_fields8 ctx__split_fields9)) | |
ctx__split_fields10 ctx__split_fields11))))) | |
(= (to_rep5 (first (rt msg))) ((_ int2bv 64) 0))) | |
(bvult (to_rep5 (last (rt msg))) ((_ int2bv 64) 18446744073709551615))) | |
(= (add_in_range (to_rep5 (last (rt msg))) ((_ int2bv 64) 64)) true)) | |
(bvult (bvadd (to_rep5 (last (rt msg))) ((_ int2bv 64) 64)) ((_ int2bv 64) 18446744073709551615))) | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 msg_byte_count)) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 n))) | |
(=> (bvule ((_ int2bv 64) 1) ((_ int2bv 64) 288230376151711743)) | |
(in_range12 block_count1))) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 current_msg_offset))) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 bytes_hashed))) | |
(and | |
(= msg_byte_count1 (bvadd (to_rep5 (last (rt msg))) ((_ int2bv 64) 1))) | |
(and (= current_msg_offset1 ((_ int2bv 64) 0)) | |
(and | |
(ite (bvugt (bvadd msg_byte_count1 (to_rep1 ctx__split_fields9)) ((_ int2bv 64) 64)) | |
(and | |
(ite (bvugt (to_rep1 ctx__split_fields9) ((_ int2bv 64) 0)) | |
(and | |
(and | |
(and (= o (bvsub ((_ int2bv 64) 64) (to_rep1 ctx__split_fields9))) | |
(in_range25 (bvsub ((_ int2bv 64) 64) (to_rep1 ctx__split_fields9)))) | |
(= n2 o)) | |
(and | |
(and (= n2 c232b) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 c232b))) | |
(and | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 src)) | |
(and (=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 dst)) | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 final_dst)) | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 final_src)) | |
(ite (bvugt c232b ((_ int2bv 64) 0)) | |
(and (= src4 current_msg_offset1) | |
(and | |
(and | |
(and (= o1 (to_rep1 ctx__split_fields9)) (in_range25 | |
(to_rep1 ctx__split_fields9))) (= dst4 o1)) | |
(and | |
(and | |
(and (= o2 (bvadd dst4 (bvsub c232b ((_ int2bv 64) 1)))) (in_range25 | |
(bvadd dst4 (bvsub c232b ((_ int2bv 64) 1))))) (= final_dst4 o2)) | |
(and (= final_src4 (bvadd src4 (bvsub c232b ((_ int2bv 64) 1)))) | |
(and | |
(or | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and (bvule (to_rep5 (first (rt msg))) src4) | |
(bvule src4 (to_rep5 (last (rt msg))))) (= o3 src4)) | |
(= o4 (select (elts msg) o3))) (= o5 (to_rep o4))) (= (to_rep o6) o5)) | |
(= o7 (store ctx__split_fields11 dst4 o6))) | |
(and | |
(and | |
(and (= ctx__split_fields o8) | |
(and (= ctx__split_fields1 o9) | |
(and (= ctx__split_fields2 o10) | |
(and (= ctx__split_fields3 o11) | |
(and (= ctx__split_fields4 o12) | |
(and (= ctx__split_fields5 o13) | |
(and (= ctx__split_fields6 o14) (= ctx__split_fields7 o15)))))))) | |
(and (= ctx__split_fields8 o16) (= ctx__split_fields9 o17))) | |
(and (= ctx__split_fields10 o18) (= o7 o19)))) | |
(and | |
(and | |
(and (= temp___standard__skein_123 o8) | |
(and (= temp___standard__skein_1231 o9) | |
(and (= temp___standard__skein_1232 o10) | |
(and (= temp___standard__skein_1233 o11) | |
(and (= temp___standard__skein_1234 o12) | |
(and (= temp___standard__skein_1235 o13) | |
(and (= temp___standard__skein_1236 o14) | |
(= temp___standard__skein_1237 o15)))))))) | |
(and (= temp___standard__skein_1238 o16) | |
(= temp___standard__skein_1239 o17))) | |
(and (= temp___standard__skein_12310 o18) | |
(= temp___standard__skein_12311 o19)))) | |
(and | |
(and | |
(and (= temp___standard__skein_123 ctx__split_fields24) | |
(and (= temp___standard__skein_1231 ctx__split_fields25) | |
(and (= temp___standard__skein_1232 ctx__split_fields26) | |
(and (= temp___standard__skein_1233 ctx__split_fields27) | |
(and (= temp___standard__skein_1234 ctx__split_fields28) | |
(and (= temp___standard__skein_1235 ctx__split_fields29) | |
(and (= temp___standard__skein_1236 ctx__split_fields30) | |
(= temp___standard__skein_1237 ctx__split_fields31)))))))) | |
(and (= temp___standard__skein_1238 ctx__split_fields32) | |
(= temp___standard__skein_1239 ctx__split_fields33))) | |
(and (= temp___standard__skein_12310 ctx__split_fields34) | |
(= temp___standard__skein_12311 ctx__split_fields35)))) | |
(and | |
(and | |
(and (= (to_rep7 ctx__split_fields44) (to_rep7 ctx__split_fields8)) | |
(= (to_rep1 ctx__split_fields45) (to_rep1 ctx__split_fields9))) false) | |
(and | |
(and (= dst5 dst8) | |
(and (= src5 src8) | |
(and | |
(and | |
(and (= ctx__split_fields48 ctx__split_fields36) | |
(and (= ctx__split_fields49 ctx__split_fields37) | |
(and (= ctx__split_fields50 ctx__split_fields38) | |
(and (= ctx__split_fields51 ctx__split_fields39) | |
(and (= ctx__split_fields52 ctx__split_fields40) | |
(and (= ctx__split_fields53 ctx__split_fields41) | |
(and (= ctx__split_fields54 ctx__split_fields42) | |
(= ctx__split_fields55 ctx__split_fields43)))))))) | |
(and (= ctx__split_fields56 ctx__split_fields44) | |
(= ctx__split_fields57 ctx__split_fields45))) | |
(and (= ctx__split_fields58 ctx__split_fields46) | |
(= ctx__split_fields59 ctx__split_fields47))))) | |
(and (= dst9 dst5) | |
(and (= src9 src5) (= ctx__split_fields209 ctx__split_fields210)))))) | |
(and | |
(and (= temp___standard__skein_126 (to_rep7 ctx__split_fields8)) | |
(and (= temp___standard__skein_127 (to_rep1 ctx__split_fields9)) | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and (bvule (to_rep5 (first (rt msg))) src4) | |
(bvule src4 (to_rep5 (last (rt msg))))) (= o3 src4)) | |
(= o4 (select (elts msg) o3))) (= o5 (to_rep o4))) (= (to_rep o6) o5)) | |
(= o7 (store ctx__split_fields11 dst4 o6))) | |
(and | |
(and | |
(and (= ctx__split_fields o8) | |
(and (= ctx__split_fields1 o9) | |
(and (= ctx__split_fields2 o10) | |
(and (= ctx__split_fields3 o11) | |
(and (= ctx__split_fields4 o12) | |
(and (= ctx__split_fields5 o13) | |
(and (= ctx__split_fields6 o14) (= ctx__split_fields7 o15)))))))) | |
(and (= ctx__split_fields8 o16) (= ctx__split_fields9 o17))) | |
(and (= ctx__split_fields10 o18) (= o7 o19)))) | |
(and | |
(and | |
(and (= temp___standard__skein_123 o8) | |
(and (= temp___standard__skein_1231 o9) | |
(and (= temp___standard__skein_1232 o10) | |
(and (= temp___standard__skein_1233 o11) | |
(and (= temp___standard__skein_1234 o12) | |
(and (= temp___standard__skein_1235 o13) | |
(and (= temp___standard__skein_1236 o14) | |
(= temp___standard__skein_1237 o15)))))))) | |
(and (= temp___standard__skein_1238 o16) | |
(= temp___standard__skein_1239 o17))) | |
(and (= temp___standard__skein_12310 o18) | |
(= temp___standard__skein_12311 o19)))) | |
(and | |
(and | |
(and (= temp___standard__skein_123 ctx__split_fields24) | |
(and (= temp___standard__skein_1231 ctx__split_fields25) | |
(and (= temp___standard__skein_1232 ctx__split_fields26) | |
(and (= temp___standard__skein_1233 ctx__split_fields27) | |
(and (= temp___standard__skein_1234 ctx__split_fields28) | |
(and (= temp___standard__skein_1235 ctx__split_fields29) | |
(and (= temp___standard__skein_1236 ctx__split_fields30) | |
(= temp___standard__skein_1237 ctx__split_fields31)))))))) | |
(and (= temp___standard__skein_1238 ctx__split_fields32) | |
(= temp___standard__skein_1239 ctx__split_fields33))) | |
(and (= temp___standard__skein_12310 ctx__split_fields34) | |
(= temp___standard__skein_12311 ctx__split_fields35)))) | |
(and | |
(and (= (to_rep7 ctx__split_fields44) temp___standard__skein_126) | |
(= (to_rep1 ctx__split_fields45) temp___standard__skein_127)) | |
(and | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 src5)) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 dst5))) | |
(and | |
(and (and (= dst5 dst6) (= src5 src6)) (and (= dst7 dst5) (= src7 src5))) | |
(=> (not (bvuge dst5 final_dst4)) (bvuge src5 final_src4)))))))) | |
(and | |
(and (= dst21 (mk_ref2 dst6)) | |
(and (= src21 (mk_ref2 src6)) | |
(and | |
(and | |
(and (= ctx__split_fields48 ctx__split_fields36) | |
(and (= ctx__split_fields49 ctx__split_fields37) | |
(and (= ctx__split_fields50 ctx__split_fields38) | |
(and (= ctx__split_fields51 ctx__split_fields39) | |
(and (= ctx__split_fields52 ctx__split_fields40) | |
(and (= ctx__split_fields53 ctx__split_fields41) | |
(and (= ctx__split_fields54 ctx__split_fields42) | |
(= ctx__split_fields55 ctx__split_fields43)))))))) | |
(and (= ctx__split_fields56 ctx__split_fields44) | |
(= ctx__split_fields57 ctx__split_fields45))) | |
(and (= ctx__split_fields58 ctx__split_fields46) | |
(= ctx__split_fields59 ctx__split_fields47))))) | |
(and (= dst9 dst7) | |
(and (= src9 src7) (= ctx__split_fields209 ctx__split_fields210)))))) | |
(and | |
(and | |
(and | |
(and | |
(and (= (to_rep1 o20) (bvadd (to_rep1 ctx__split_fields57) c232b)) | |
(and | |
(and (= ctx__split_fields48 o21) | |
(and (= ctx__split_fields49 o22) | |
(and (= ctx__split_fields50 o23) | |
(and (= ctx__split_fields51 o24) | |
(and (= ctx__split_fields52 o25) | |
(and (= ctx__split_fields53 o26) | |
(and (= ctx__split_fields54 o27) (= ctx__split_fields55 o28)))))))) | |
(and (= ctx__split_fields56 o29) (= o20 o30)))) | |
(and | |
(and (= o31 o21) | |
(and (= o32 o22) | |
(and (= o33 o23) | |
(and (= o34 o24) | |
(and (= o35 o25) (and (= o36 o26) (and (= o37 o27) (= o38 o28)))))))) | |
(and (= o39 o29) (= o40 o30)))) | |
(and | |
(and | |
(and (= o41 o31) | |
(and (= o42 o32) | |
(and (= o43 o33) | |
(and (= o44 o34) | |
(and (= o45 o35) (and (= o46 o36) (and (= o47 o37) (= o48 o38)))))))) | |
(and (= o49 o39) (= o50 o40))) | |
(and (= ctx__split_fields58 o51) (= ctx__split_fields59 o52)))) | |
(and | |
(and | |
(and (= temp___standard__skein_130 o41) | |
(and (= temp___standard__skein_1301 o42) | |
(and (= temp___standard__skein_1302 o43) | |
(and (= temp___standard__skein_1303 o44) | |
(and (= temp___standard__skein_1304 o45) | |
(and (= temp___standard__skein_1305 o46) | |
(and (= temp___standard__skein_1306 o47) | |
(= temp___standard__skein_1307 o48)))))))) | |
(and (= temp___standard__skein_1308 o49) | |
(= temp___standard__skein_1309 o50))) | |
(and (= temp___standard__skein_13010 o51) | |
(= temp___standard__skein_13011 o52)))) | |
(and | |
(and | |
(and (= temp___standard__skein_130 ctx__split_fields72) | |
(and (= temp___standard__skein_1301 ctx__split_fields73) | |
(and (= temp___standard__skein_1302 ctx__split_fields74) | |
(and (= temp___standard__skein_1303 ctx__split_fields75) | |
(and (= temp___standard__skein_1304 ctx__split_fields76) | |
(and (= temp___standard__skein_1305 ctx__split_fields77) | |
(and (= temp___standard__skein_1306 ctx__split_fields78) | |
(= temp___standard__skein_1307 ctx__split_fields79)))))))) | |
(and (= temp___standard__skein_1308 ctx__split_fields80) | |
(= temp___standard__skein_1309 ctx__split_fields81))) | |
(and (= temp___standard__skein_13010 ctx__split_fields82) | |
(= temp___standard__skein_13011 ctx__split_fields83))))))))) | |
(and | |
(and (= final_src4 final_src) | |
(and (= final_dst4 final_dst) | |
(and (= dst21 dst22) | |
(and (= src21 src22) | |
(and | |
(and | |
(and (= ctx__split_fields ctx__split_fields72) | |
(and (= ctx__split_fields1 ctx__split_fields73) | |
(and (= ctx__split_fields2 ctx__split_fields74) | |
(and (= ctx__split_fields3 ctx__split_fields75) | |
(and (= ctx__split_fields4 ctx__split_fields76) | |
(and (= ctx__split_fields5 ctx__split_fields77) | |
(and (= ctx__split_fields6 ctx__split_fields78) | |
(= ctx__split_fields7 ctx__split_fields79)))))))) | |
(and (= ctx__split_fields8 ctx__split_fields80) | |
(= ctx__split_fields9 ctx__split_fields81))) | |
(and (= ctx__split_fields10 ctx__split_fields82) | |
(= ctx__split_fields11 ctx__split_fields83))))))) | |
(and (= final_src4 final_src2) | |
(and (= final_dst4 final_dst2) | |
(and (= dst9 dst2) | |
(and (= src9 src2) | |
(= (mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields72 ctx__split_fields73 | |
ctx__split_fields74 ctx__split_fields75 ctx__split_fields76 | |
ctx__split_fields77 ctx__split_fields78 ctx__split_fields79)) | |
ctx__split_fields80 ctx__split_fields81)) ctx__split_fields82 | |
ctx__split_fields83) ctx__split_fields211))))))))))) | |
(and (= msg_byte_count2 (bvsub msg_byte_count1 n2)) | |
(and (= current_msg_offset2 (bvadd current_msg_offset1 n2)) | |
(and (= tmp_b2 ctx__split_fields83) | |
(and | |
(and | |
(and | |
(and (in_range9 (to_rep7 ctx__split_fields92)) | |
(= (to_rep7 ctx__split_fields92) (to_rep7 ctx__split_fields80))) | |
(in_range11 (to_rep1 ctx__split_fields93))) | |
(= (to_rep1 ctx__split_fields93) (to_rep1 ctx__split_fields81))) | |
(and | |
(and | |
(and | |
(and | |
(and (= (to_rep1 o53) ((_ int2bv 64) 0)) | |
(and | |
(and (= ctx__split_fields84 o54) | |
(and (= ctx__split_fields85 o55) | |
(and (= ctx__split_fields86 o56) | |
(and (= ctx__split_fields87 o57) | |
(and (= ctx__split_fields88 o58) | |
(and (= ctx__split_fields89 o59) | |
(and (= ctx__split_fields90 o60) (= ctx__split_fields91 o61)))))))) | |
(and (= ctx__split_fields92 o62) (= o53 o63)))) | |
(and | |
(and (= o64 o54) | |
(and (= o65 o55) | |
(and (= o66 o56) | |
(and (= o67 o57) | |
(and (= o68 o58) (and (= o69 o59) (and (= o70 o60) (= o71 o61)))))))) | |
(and (= o72 o62) (= o73 o63)))) | |
(and | |
(and | |
(and (= o74 o64) | |
(and (= o75 o65) | |
(and (= o76 o66) | |
(and (= o77 o67) | |
(and (= o78 o68) (and (= o79 o69) (and (= o80 o70) (= o81 o71)))))))) | |
(and (= o82 o72) (= o83 o73))) | |
(and (= ctx__split_fields94 o84) (= ctx__split_fields95 o85)))) | |
(and | |
(and | |
(and (= temp___standard__skein_133 o74) | |
(and (= temp___standard__skein_1331 o75) | |
(and (= temp___standard__skein_1332 o76) | |
(and (= temp___standard__skein_1333 o77) | |
(and (= temp___standard__skein_1334 o78) | |
(and (= temp___standard__skein_1335 o79) | |
(and (= temp___standard__skein_1336 o80) | |
(= temp___standard__skein_1337 o81)))))))) | |
(and (= temp___standard__skein_1338 o82) | |
(= temp___standard__skein_1339 o83))) | |
(and (= temp___standard__skein_13310 o84) | |
(= temp___standard__skein_13311 o85)))) | |
(and | |
(and | |
(and (= temp___standard__skein_133 ctx__split_fields96) | |
(and (= temp___standard__skein_1331 ctx__split_fields97) | |
(and (= temp___standard__skein_1332 ctx__split_fields98) | |
(and (= temp___standard__skein_1333 ctx__split_fields99) | |
(and (= temp___standard__skein_1334 ctx__split_fields100) | |
(and (= temp___standard__skein_1335 ctx__split_fields101) | |
(and (= temp___standard__skein_1336 ctx__split_fields102) | |
(= temp___standard__skein_1337 ctx__split_fields103)))))))) | |
(and (= temp___standard__skein_1338 ctx__split_fields104) | |
(= temp___standard__skein_1339 ctx__split_fields105))) | |
(and (= temp___standard__skein_13310 ctx__split_fields106) | |
(= temp___standard__skein_13311 ctx__split_fields107))))))))))) | |
(and | |
(and (= final_src4 final_src) | |
(and (= final_dst4 final_dst) | |
(and (= dst21 dst22) | |
(and (= src21 src22) | |
(and (= tmp_b2 tmp_b) | |
(and (= current_msg_offset2 current_msg_offset1) | |
(and (= n2 n) | |
(and (= msg_byte_count2 msg_byte_count1) | |
(and | |
(and | |
(and (= ctx__split_fields ctx__split_fields96) | |
(and (= ctx__split_fields1 ctx__split_fields97) | |
(and (= ctx__split_fields2 ctx__split_fields98) | |
(and (= ctx__split_fields3 ctx__split_fields99) | |
(and (= ctx__split_fields4 ctx__split_fields100) | |
(and (= ctx__split_fields5 ctx__split_fields101) | |
(and (= ctx__split_fields6 ctx__split_fields102) | |
(= ctx__split_fields7 ctx__split_fields103)))))))) | |
(and (= ctx__split_fields8 ctx__split_fields104) | |
(= ctx__split_fields9 ctx__split_fields105))) | |
(and (= ctx__split_fields10 ctx__split_fields106) | |
(= ctx__split_fields11 ctx__split_fields107))))))))))) | |
(and (= final_src4 final_src2) | |
(and (= final_dst4 final_dst2) | |
(and (= dst9 dst2) | |
(and (= src9 src2) | |
(and (= tmp_b2 tmp_b1) | |
(and (= current_msg_offset2 current_msg_offset1) | |
(and (= n2 n1) | |
(and (= msg_byte_count2 msg_byte_count1) | |
(= ctx__split_fields208 ctx__split_fields211))))))))))) | |
(ite (bvugt msg_byte_count2 ((_ int2bv 64) 64)) | |
(and | |
(and | |
(and | |
(= o86 (bvudiv (bvsub msg_byte_count2 ((_ int2bv 64) 1)) ((_ int2bv 64) 64))) | |
(in_range12 | |
(bvudiv (bvsub msg_byte_count2 ((_ int2bv 64) 1)) ((_ int2bv 64) 64)))) | |
(= block_count3 o86)) | |
(and | |
(and | |
(and | |
(and (in_range9 (to_rep7 ctx__split_fields116)) | |
(= (to_rep7 ctx__split_fields116) (to_rep7 ctx__split_fields104))) | |
(in_range11 (to_rep1 ctx__split_fields117))) | |
(= (to_rep1 ctx__split_fields117) (to_rep1 ctx__split_fields105))) | |
(and (= bytes_hashed2 (bvmul block_count3 ((_ int2bv 64) 64))) | |
(and (= msg_byte_count3 (bvsub msg_byte_count2 bytes_hashed2)) | |
(= current_msg_offset3 (bvadd current_msg_offset2 bytes_hashed2)))))) | |
(and | |
(and (= bytes_hashed2 bytes_hashed) | |
(and (= current_msg_offset3 current_msg_offset2) | |
(and (= block_count3 block_count1) | |
(and (= msg_byte_count3 msg_byte_count2) | |
(= ctx__split_fields207 ctx__split_fields208))))) | |
(and (= bytes_hashed2 bytes_hashed1) | |
(and (= current_msg_offset3 current_msg_offset2) | |
(and (= block_count3 block_count2) | |
(and (= msg_byte_count3 msg_byte_count2) | |
(= ctx__split_fields207 ctx__split_fields208)))))))) | |
(and | |
(and (= final_src4 final_src) | |
(and (= final_dst4 final_dst) | |
(and (= dst21 dst22) | |
(and (= src21 src22) | |
(and (= tmp_b2 tmp_b) | |
(and (= bytes_hashed2 bytes_hashed) | |
(and (= current_msg_offset3 current_msg_offset1) | |
(and (= block_count3 block_count1) | |
(and (= n2 n) | |
(and (= msg_byte_count3 msg_byte_count1) | |
(and | |
(and | |
(and (= ctx__split_fields ctx__split_fields108) | |
(and (= ctx__split_fields1 ctx__split_fields109) | |
(and (= ctx__split_fields2 ctx__split_fields110) | |
(and (= ctx__split_fields3 ctx__split_fields111) | |
(and (= ctx__split_fields4 ctx__split_fields112) | |
(and (= ctx__split_fields5 ctx__split_fields113) | |
(and (= ctx__split_fields6 ctx__split_fields114) | |
(= ctx__split_fields7 ctx__split_fields115)))))))) | |
(and (= ctx__split_fields8 ctx__split_fields116) | |
(= ctx__split_fields9 ctx__split_fields117))) | |
(and (= ctx__split_fields10 ctx__split_fields118) | |
(= ctx__split_fields11 ctx__split_fields119))))))))))))) | |
(and (= final_src4 final_src2) | |
(and (= final_dst4 final_dst2) | |
(and (= dst9 dst2) | |
(and (= src9 src2) | |
(and (= tmp_b2 tmp_b1) | |
(and (= bytes_hashed2 bytes_hashed1) | |
(and (= current_msg_offset3 current_msg_offset1) | |
(and (= block_count3 block_count2) | |
(and (= n2 n1) | |
(and (= msg_byte_count3 msg_byte_count1) | |
(= ctx__split_fields207 ctx__split_fields211))))))))))))) | |
(and | |
(and (= msg_byte_count3 c234b) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 c234b))) | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 src1)) | |
(and (=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 dst1)) | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 final_dst1)) | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 final_src1)) | |
(ite (bvugt c234b ((_ int2bv 64) 0)) | |
(and (= src10 current_msg_offset3) | |
(and | |
(and | |
(and (= o87 (to_rep1 ctx__split_fields117)) (in_range25 | |
(to_rep1 ctx__split_fields117))) (= dst10 o87)) | |
(and | |
(and | |
(and (= o88 (bvadd dst10 (bvsub c234b ((_ int2bv 64) 1)))) (in_range25 | |
(bvadd dst10 (bvsub c234b ((_ int2bv 64) 1))))) (= final_dst5 o88)) | |
(and (= final_src5 (bvadd src10 (bvsub c234b ((_ int2bv 64) 1)))) | |
(and | |
(or | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and (bvule (to_rep5 (first (rt msg))) src10) | |
(bvule src10 (to_rep5 (last (rt msg))))) (= o89 src10)) | |
(= o90 (select (elts msg) o89))) (= o91 (to_rep o90))) | |
(= (to_rep o92) o91)) (= o93 (store ctx__split_fields119 dst10 o92))) | |
(and | |
(and | |
(and (= ctx__split_fields108 o94) | |
(and (= ctx__split_fields109 o95) | |
(and (= ctx__split_fields110 o96) | |
(and (= ctx__split_fields111 o97) | |
(and (= ctx__split_fields112 o98) | |
(and (= ctx__split_fields113 o99) | |
(and (= ctx__split_fields114 o100) (= ctx__split_fields115 o101)))))))) | |
(and (= ctx__split_fields116 o102) (= ctx__split_fields117 o103))) | |
(and (= ctx__split_fields118 o104) (= o93 o105)))) | |
(and | |
(and | |
(and (= temp___standard__skein_136 o94) | |
(and (= temp___standard__skein_1361 o95) | |
(and (= temp___standard__skein_1362 o96) | |
(and (= temp___standard__skein_1363 o97) | |
(and (= temp___standard__skein_1364 o98) | |
(and (= temp___standard__skein_1365 o99) | |
(and (= temp___standard__skein_1366 o100) | |
(= temp___standard__skein_1367 o101)))))))) | |
(and (= temp___standard__skein_1368 o102) | |
(= temp___standard__skein_1369 o103))) | |
(and (= temp___standard__skein_13610 o104) | |
(= temp___standard__skein_13611 o105)))) | |
(and | |
(and | |
(and (= temp___standard__skein_136 ctx__split_fields120) | |
(and (= temp___standard__skein_1361 ctx__split_fields121) | |
(and (= temp___standard__skein_1362 ctx__split_fields122) | |
(and (= temp___standard__skein_1363 ctx__split_fields123) | |
(and (= temp___standard__skein_1364 ctx__split_fields124) | |
(and (= temp___standard__skein_1365 ctx__split_fields125) | |
(and (= temp___standard__skein_1366 ctx__split_fields126) | |
(= temp___standard__skein_1367 ctx__split_fields127)))))))) | |
(and (= temp___standard__skein_1368 ctx__split_fields128) | |
(= temp___standard__skein_1369 ctx__split_fields129))) | |
(and (= temp___standard__skein_13610 ctx__split_fields130) | |
(= temp___standard__skein_13611 ctx__split_fields131)))) | |
(and | |
(and | |
(and (= (to_rep7 ctx__split_fields140) (to_rep7 ctx__split_fields116)) | |
(= (to_rep1 ctx__split_fields141) (to_rep1 ctx__split_fields117))) false) | |
(and | |
(and (= dst11 dst14) | |
(and (= src11 src14) | |
(and | |
(and | |
(and (= ctx__split_fields144 ctx__split_fields132) | |
(and (= ctx__split_fields145 ctx__split_fields133) | |
(and (= ctx__split_fields146 ctx__split_fields134) | |
(and (= ctx__split_fields147 ctx__split_fields135) | |
(and (= ctx__split_fields148 ctx__split_fields136) | |
(and (= ctx__split_fields149 ctx__split_fields137) | |
(and (= ctx__split_fields150 ctx__split_fields138) | |
(= ctx__split_fields151 ctx__split_fields139)))))))) | |
(and (= ctx__split_fields152 ctx__split_fields140) | |
(= ctx__split_fields153 ctx__split_fields141))) | |
(and (= ctx__split_fields154 ctx__split_fields142) | |
(= ctx__split_fields155 ctx__split_fields143))))) | |
(and (= dst15 dst11) | |
(and (= src15 src11) (= ctx__split_fields205 ctx__split_fields206)))))) | |
(and | |
(and (= temp___standard__skein_139 (to_rep7 ctx__split_fields116)) | |
(and (= temp___standard__skein_140 (to_rep1 ctx__split_fields117)) | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and | |
(and (bvule (to_rep5 (first (rt msg))) src10) | |
(bvule src10 (to_rep5 (last (rt msg))))) (= o89 src10)) | |
(= o90 (select (elts msg) o89))) (= o91 (to_rep o90))) | |
(= (to_rep o92) o91)) (= o93 (store ctx__split_fields119 dst10 o92))) | |
(and | |
(and | |
(and (= ctx__split_fields108 o94) | |
(and (= ctx__split_fields109 o95) | |
(and (= ctx__split_fields110 o96) | |
(and (= ctx__split_fields111 o97) | |
(and (= ctx__split_fields112 o98) | |
(and (= ctx__split_fields113 o99) | |
(and (= ctx__split_fields114 o100) (= ctx__split_fields115 o101)))))))) | |
(and (= ctx__split_fields116 o102) (= ctx__split_fields117 o103))) | |
(and (= ctx__split_fields118 o104) (= o93 o105)))) | |
(and | |
(and | |
(and (= temp___standard__skein_136 o94) | |
(and (= temp___standard__skein_1361 o95) | |
(and (= temp___standard__skein_1362 o96) | |
(and (= temp___standard__skein_1363 o97) | |
(and (= temp___standard__skein_1364 o98) | |
(and (= temp___standard__skein_1365 o99) | |
(and (= temp___standard__skein_1366 o100) | |
(= temp___standard__skein_1367 o101)))))))) | |
(and (= temp___standard__skein_1368 o102) | |
(= temp___standard__skein_1369 o103))) | |
(and (= temp___standard__skein_13610 o104) | |
(= temp___standard__skein_13611 o105)))) | |
(and | |
(and | |
(and (= temp___standard__skein_136 ctx__split_fields120) | |
(and (= temp___standard__skein_1361 ctx__split_fields121) | |
(and (= temp___standard__skein_1362 ctx__split_fields122) | |
(and (= temp___standard__skein_1363 ctx__split_fields123) | |
(and (= temp___standard__skein_1364 ctx__split_fields124) | |
(and (= temp___standard__skein_1365 ctx__split_fields125) | |
(and (= temp___standard__skein_1366 ctx__split_fields126) | |
(= temp___standard__skein_1367 ctx__split_fields127)))))))) | |
(and (= temp___standard__skein_1368 ctx__split_fields128) | |
(= temp___standard__skein_1369 ctx__split_fields129))) | |
(and (= temp___standard__skein_13610 ctx__split_fields130) | |
(= temp___standard__skein_13611 ctx__split_fields131)))) | |
(and | |
(and (= (to_rep7 ctx__split_fields140) temp___standard__skein_139) | |
(= (to_rep1 ctx__split_fields141) temp___standard__skein_140)) | |
(and | |
(and | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 18446744073709551615)) | |
(in_range2 src11)) | |
(=> (bvule ((_ int2bv 64) 0) ((_ int2bv 64) 63)) (in_range25 dst11))) | |
(and | |
(and (and (= dst11 dst12) (= src11 src12)) | |
(and (= dst13 dst11) (= src13 src11))) | |
(=> (not (bvuge dst11 final_dst5)) (bvuge src11 final_src5)))))))) | |
(and | |
(and (= dst20 (mk_ref2 dst12)) | |
(and (= src20 (mk_ref2 src12)) | |
(and | |
(and | |
(and (= ctx__split_fields144 ctx__split_fields132) | |
(and (= ctx__split_fields145 ctx__split_fields133) | |
(and (= ctx__split_fields146 ctx__split_fields134) | |
(and (= ctx__split_fields147 ctx__split_fields135) | |
(and (= ctx__split_fields148 ctx__split_fields136) | |
(and (= ctx__split_fields149 ctx__split_fields137) | |
(and (= ctx__split_fields150 ctx__split_fields138) | |
(= ctx__split_fields151 ctx__split_fields139)))))))) | |
(and (= ctx__split_fields152 ctx__split_fields140) | |
(= ctx__split_fields153 ctx__split_fields141))) | |
(and (= ctx__split_fields154 ctx__split_fields142) | |
(= ctx__split_fields155 ctx__split_fields143))))) | |
(and (= dst15 dst13) | |
(and (= src15 src13) (= ctx__split_fields205 ctx__split_fields206)))))) | |
(and | |
(and | |
(and | |
(and | |
(and (= (to_rep1 o106) (bvadd (to_rep1 ctx__split_fields153) c234b)) | |
(and | |
(and (= ctx__split_fields144 o107) | |
(and (= ctx__split_fields145 o108) | |
(and (= ctx__split_fields146 o109) | |
(and (= ctx__split_fields147 o110) | |
(and (= ctx__split_fields148 o111) | |
(and (= ctx__split_fields149 o112) | |
(and (= ctx__split_fields150 o113) (= ctx__split_fields151 o114)))))))) | |
(and (= ctx__split_fields152 o115) (= o106 o116)))) | |
(and | |
(and (= o117 o107) | |
(and (= o118 o108) | |
(and (= o119 o109) | |
(and (= o120 o110) | |
(and (= o121 o111) (and (= o122 o112) (and (= o123 o113) (= o124 o114)))))))) | |
(and (= o125 o115) (= o126 o116)))) | |
(and | |
(and | |
(and (= o127 o117) | |
(and (= o128 o118) | |
(and (= o129 o119) | |
(and (= o130 o120) | |
(and (= o131 o121) (and (= o132 o122) (and (= o133 o123) (= o134 o124)))))))) | |
(and (= o135 o125) (= o136 o126))) | |
(and (= ctx__split_fields154 o137) (= ctx__split_fields155 o138)))) | |
(and | |
(and | |
(and (= temp___standard__skein_143 o127) | |
(and (= temp___standard__skein_1431 o128) | |
(and (= temp___standard__skein_1432 o129) | |
(and (= temp___standard__skein_1433 o130) | |
(and (= temp___standard__skein_1434 o131) | |
(and (= temp___standard__skein_1435 o132) | |
(and (= temp___standard__skein_1436 o133) | |
(= temp___standard__skein_1437 o134)))))))) | |
(and (= temp___standard__skein_1438 o135) | |
(= temp___standard__skein_1439 o136))) | |
(and (= temp___standard__skein_14310 o137) | |
(= temp___standard__skein_14311 o138)))) | |
(and | |
(and | |
(and (= temp___standard__skein_143 ctx__split_fields168) | |
(and (= temp___standard__skein_1431 ctx__split_fields169) | |
(and (= temp___standard__skein_1432 ctx__split_fields170) | |
(and (= temp___standard__skein_1433 ctx__split_fields171) | |
(and (= temp___standard__skein_1434 ctx__split_fields172) | |
(and (= temp___standard__skein_1435 ctx__split_fields173) | |
(and (= temp___standard__skein_1436 ctx__split_fields174) | |
(= temp___standard__skein_1437 ctx__split_fields175)))))))) | |
(and (= temp___standard__skein_1438 ctx__split_fields176) | |
(= temp___standard__skein_1439 ctx__split_fields177))) | |
(and (= temp___standard__skein_14310 ctx__split_fields178) | |
(= temp___standard__skein_14311 ctx__split_fields179))))))))) | |
(and | |
(and (= final_src5 final_src1) | |
(and (= final_dst5 final_dst1) | |
(and (= dst20 (mk_ref2 dst1)) | |
(and (= src20 (mk_ref2 src1)) | |
(= ctx__split_fields204 ctx__split_fields207))))) | |
(and (= final_src5 final_src3) | |
(and (= final_dst5 final_dst3) | |
(and (= dst15 dst3) | |
(and (= src15 src3) (= ctx__split_fields204 ctx__split_fields207)))))))))))))))) | |
(and | |
(and (= final_src7 final_src5) | |
(and (= final_dst7 final_dst5) | |
(and (= dst17 dst14) | |
(and (= src17 src14) | |
(and (= final_src6 final_src4) | |
(and (= final_dst6 final_dst4) | |
(and (= dst16 dst8) | |
(and (= src16 src8) | |
(and (= tmp_b3 tmp_b2) | |
(and (= bytes_hashed3 bytes_hashed2) | |
(and (= current_msg_offset4 current_msg_offset3) | |
(and (= block_count4 block_count3) | |
(and (= n3 n2) | |
(and (= msg_byte_count4 msg_byte_count3) | |
(and | |
(and | |
(and (= ctx__split_fields180 ctx__split_fields168) | |
(and (= ctx__split_fields181 ctx__split_fields169) | |
(and (= ctx__split_fields182 ctx__split_fields170) | |
(and (= ctx__split_fields183 ctx__split_fields171) | |
(and (= ctx__split_fields184 ctx__split_fields172) | |
(and (= ctx__split_fields185 ctx__split_fields173) | |
(and (= ctx__split_fields186 ctx__split_fields174) | |
(= ctx__split_fields187 ctx__split_fields175)))))))) | |
(and (= ctx__split_fields188 ctx__split_fields176) | |
(= ctx__split_fields189 ctx__split_fields177))) | |
(and (= ctx__split_fields190 ctx__split_fields178) | |
(= ctx__split_fields191 ctx__split_fields179))))))))))))))))) | |
(and (= final_src9 final_src5) | |
(and (= final_dst9 final_dst5) | |
(and (= dst19 dst15) | |
(and (= src19 src15) | |
(and (= final_src8 final_src4) | |
(and (= final_dst8 final_dst4) | |
(and (= dst18 dst9) | |
(and (= src18 src9) | |
(and (= tmp_b4 tmp_b2) | |
(and (= bytes_hashed4 bytes_hashed2) | |
(and (= current_msg_offset5 current_msg_offset3) | |
(and (= block_count5 block_count3) | |
(and (= n4 n2) | |
(and (= msg_byte_count5 msg_byte_count3) | |
(and | |
(and | |
(and (= ctx__split_fields192 ctx__split_fields168) | |
(and (= ctx__split_fields193 ctx__split_fields169) | |
(and (= ctx__split_fields194 ctx__split_fields170) | |
(and (= ctx__split_fields195 ctx__split_fields171) | |
(and (= ctx__split_fields196 ctx__split_fields172) | |
(and (= ctx__split_fields197 ctx__split_fields173) | |
(and (= ctx__split_fields198 ctx__split_fields174) | |
(= ctx__split_fields199 ctx__split_fields175)))))))) | |
(and (= ctx__split_fields200 ctx__split_fields176) | |
(= ctx__split_fields201 ctx__split_fields177))) | |
(and (= ctx__split_fields202 ctx__split_fields178) | |
(= ctx__split_fields203 ctx__split_fields179))))))))))))))))))))) | |
(and | |
(and (in_range9 | |
(hash_bit_len_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields180 ctx__split_fields181 | |
ctx__split_fields182 ctx__split_fields183 ctx__split_fields184 | |
ctx__split_fields185 ctx__split_fields186 ctx__split_fields187)) | |
ctx__split_fields188 ctx__split_fields189)) ctx__split_fields190 | |
ctx__split_fields191)))) | |
(= (hash_bit_len_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields180 ctx__split_fields181 | |
ctx__split_fields182 ctx__split_fields183 ctx__split_fields184 | |
ctx__split_fields185 ctx__split_fields186 ctx__split_fields187)) | |
ctx__split_fields188 ctx__split_fields189)) ctx__split_fields190 | |
ctx__split_fields191))) (hash_bit_len_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields | |
ctx__split_fields1 ctx__split_fields2 | |
ctx__split_fields3 ctx__split_fields4 | |
ctx__split_fields5 ctx__split_fields6 | |
ctx__split_fields7)) ctx__split_fields8 | |
ctx__split_fields9)) ctx__split_fields10 | |
ctx__split_fields11))))) | |
(in_range11 | |
(byte_count_of | |
(mk_skein_512_context | |
(mk___split_fields2 | |
(mk_context_header | |
(mk___split_fields1 | |
(mk_tweak_value | |
(mk___split_fields ctx__split_fields180 ctx__split_fields181 | |
ctx__split_fields182 ctx__split_fields183 ctx__split_fields184 | |
ctx__split_fields185 ctx__split_fields186 ctx__split_fields187)) | |
ctx__split_fields188 ctx__split_fields189)) ctx__split_fields190 | |
ctx__split_fields191))))))))))))))))))))))) | |
(check-sat) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment