bv-gauss-elim: Fix handling of inconsistent case. (#4027)
authorAina Niemetz <aina.niemetz@gmail.com>
Wed, 11 Mar 2020 05:42:49 +0000 (22:42 -0700)
committerGitHub <noreply@github.com>
Wed, 11 Mar 2020 05:42:49 +0000 (22:42 -0700)
This fixes the case when all rows are inconsistent.
Fixes #3999.

src/preprocessing/passes/bv_gauss.cpp

index 0f2674680a121dd18e5692c66ff47e0ff0384030..68371641019192241e753a6cde78848dd68d7839 100644 (file)
@@ -571,7 +571,10 @@ BVGauss::Result BVGauss::gaussElimRewriteForUrem(
   }
 
   size_t nvars = vars.size();
-  Assert(nvars);
+  if (nvars == 0)
+  {
+    return BVGauss::Result::INVALID;
+  }
   size_t nrows = vars.begin()->second.size();
 #ifdef CVC4_ASSERTIONS
   for (const auto& p : vars)