Fix (#4017)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 11 Mar 2020 15:57:00 +0000 (10:57 -0500)
committerGitHub <noreply@github.com>
Wed, 11 Mar 2020 15:57:00 +0000 (10:57 -0500)
Fixes #4001.

This assertion was more of a conjecture (stating that easy cases of miniscoping are already handled). However some option combinations can break this invariant, regardless the code should do the correct thing.

src/theory/quantifiers/quantifiers_rewriter.cpp

index 6a54e83932e4faa96fd30ac6cbe1cbe718937da7..187c765d10defcd7e76e6cf9beeb40277754dea6 100644 (file)
@@ -1792,7 +1792,6 @@ Node QuantifiersRewriter::computeAggressiveMiniscoping( std::vector< Node >& arg
         }
       }
       Assert(!qvl1.empty());
-      Assert(!qvl2.empty() || !qvsh.empty());
       //check for literals that only contain shared variables
       std::vector<Node> qlitsh;
       std::vector<Node> qlit2;