diff --git a/Theories/FixedSizeBitVectors.smt2 b/Theories/FixedSizeBitVectors.smt2 index 6f5a10b..f60e2fd 100644 --- a/Theories/FixedSizeBitVectors.smt2 +++ b/Theories/FixedSizeBitVectors.smt2 @@ -107,6 +107,12 @@ bv2nat(b) := b(m-1)*2^{m-1} + b(m-2)*2^{m-2} + ⋯ + b(0)*2^0 + o bv2int, which takes a bitvector b: [0, m) → {0, 1} + with 0 < m, and returns an integer in the range [- 2^(m - 1), 2^(m - 1)), + and is defined as follows: + + bv2int(b) := if b(m-1) = 0 then bv2nat(b) else bv2nat(b) - 2^m + o nat2bv[m], with 0 < m, which takes a non-negative integer n and returns the (unique) bitvector b: [0, m) → {0, 1} such that @@ -181,6 +187,20 @@ then [[s]] else nat2bv[m](bv2nat([[s]]) rem bv2nat([[t]])) + We also define the following predicates + + [[(bvnego s)]] := bv2int([[s]]) >= 2^(m - 1) + + [[(bvuaddo s t)]] := (bv2nat([[s]]) + bv2nat([[t]])) >= 2^m + + [[(bvsaddo s t)]] := (bv2int([[s]]) + bv2int([[t]])) >= 2^(m - 1) or + (bv2int([[s]]) + bv2int([[t]])) < -2^(m - 1) + + [[(bvumulo s t)]] := (bv2nat([[s]]) * bv2nat([[t]])) >= 2^m + + [[(bvsmulo s t)]] := (bv2int([[s]]) * bv2int([[t]])) >= 2^(m - 1) or + (bv2int([[s]]) * bv2int([[t]])) < -2^(m - 1) + - Shift operations Suppose s and t are both terms of sort (_ BitVec m), m > 0. We make use of diff --git a/about.shtml b/about.shtml index 9940d0d..aea44f9 100755 --- a/about.shtml +++ b/about.shtml @@ -97,8 +97,44 @@ Released for free under a Creative Commons Attribution 3.0 License - + +
+
+
+
+

Latest News

+ April 2, 2024 +

+ Starting today, the benchmark library will no longer be publicly available from the University of Iowa's GitLab server. + Official yearly releases of the library will be available + Zenodo. +

+
+
+

Previous News

+ Feb 13, 2024 +

+ The latest release (2023) of the SMT-LIB benchmark library is now + available on Zenodo in the form of compressed archives. +

+
+
+

Older News

+ May 12, 2021 +

+ A new release of the the SMT-LIB 2.6 reference document + is now available. This is a minor release addressing a + minor error in the 2021-04-02 release. +

+ [More] +

+
+
+
+ + +
@@ -94,9 +96,43 @@ Released for free under a Creative Commons Attribution 3.0 License
+ + +
+
+
+ +
+

Previous News

+ Feb 13, 2024 +

+ The latest release (2023) of the SMT-LIB benchmark library is now + available on Zenodo in the form of compressed archives. +

+
+
+

Older News

+ May 12, 2021 +

+ A new release of the the SMT-LIB 2.6 reference document + is now available. This is a minor release addressing a + minor error in the 2021-04-02 release. +

+ [More] +

+
+
+
-