Rename operator pow2 to int.pow2. (#6849)
authorAina Niemetz <aina.niemetz@gmail.com>
Wed, 7 Jul 2021 18:36:15 +0000 (11:36 -0700)
committerGitHub <noreply@github.com>
Wed, 7 Jul 2021 18:36:15 +0000 (18:36 +0000)
This name is the name of the symbol we parse. Internally, we still call
it POW2. This is a fix for the problem that `pow2` may clash (and
already does clash on SMT-LIB benchmarks) with user-defined symbols.

src/parser/smt2/smt2.cpp
test/regress/regress0/nl/pow2-native-0.smt2
test/regress/regress0/nl/pow2-native-1.smt2
test/regress/regress0/nl/pow2-native-2.smt2
test/regress/regress0/nl/pow2-native-3.smt2

index ec4ab6ae673557f0a72e92cff4863ebeb1722ae7..2a39a6208d71d6ec7ee64840f267847e3a493724 100644 (file)
@@ -566,7 +566,7 @@ Command* Smt2::setLogic(std::string name, bool fromCommand)
       // integer version of AND
       addIndexedOperator(api::IAND, api::IAND, "iand");
       // pow2
-      addOperator(api::POW2, "pow2");
+      addOperator(api::POW2, "int.pow2");
     }
   }
 
index f88ac41517b7d86763099f3e7917e2d5d1d744cf..06681910817d7efafe6d114a0fedef4cd833be1f 100644 (file)
@@ -2,5 +2,5 @@
 (set-logic QF_NIA)
 (declare-fun x () Int)
 (assert (< x 0))
-(assert (distinct (pow2 x) 0))
+(assert (distinct (int.pow2 x) 0))
 (check-sat)
index 1e24ae57284e9ff1eb4f37045eb03421dbc93d7d..c180d44aa3cc514e502b7910c6b2c8f465e3c5d6 100644 (file)
@@ -4,6 +4,6 @@
 (declare-fun x () Int)
 
 (assert (and (<= 0 x) (< x 16)))
-(assert (> (pow2 x) 0))
+(assert (> (int.pow2 x) 0))
 
 (check-sat)
index ba0621dbce483f17517bc4d10222eb78122a05a1..b5e742c51be305f5241df76d377325107091a52b 100644 (file)
@@ -4,6 +4,6 @@
 (declare-fun x () Int)
 
 (assert (and (<= 0 x) (< x 16)))
-(assert (< (pow2 x) x))
+(assert (< (int.pow2 x) x))
 
 (check-sat)
index 45975a474adf1e98727d2e810f6a851449766ec7..23c7852aa6471616fe6535cd0ca6f3d5b07271b9 100644 (file)
@@ -7,6 +7,6 @@
 (assert (<= 0 x))
 (assert (<= 0 y))
 (assert (< x y))
-(assert (> (pow2 x) (pow2 y)))
+(assert (> (int.pow2 x) (int.pow2 y)))
 
 (check-sat)