CnfStream::CnfStream(SatSolver *satSolver, Registrar* registrar, context::Context* context, bool fullLitToNodeMap) :
d_satSolver(satSolver),
d_booleanVariables(context),
+ d_nodeToLiteralMap(context),
+ d_literalToNodeMap(context),
d_fullLitToNodeMap(fullLitToNodeMap),
- d_registrar(registrar) {
-}
-
-void CnfStream::recordTranslation(TNode node, bool alwaysRecord) {
- Debug("cnf") << "recordTranslation(" << alwaysRecord << "," << d_removable << "): " << node << std::endl;
- if (!d_removable) {
- node = stripNot(node);
- if(d_translationCache.find(node)->second.recorded) {
- Debug("cnf") << "--> Already recorded, not recording again." << std::endl;
- } else {
- Debug("cnf") << "--> Recorded at position " << d_translationTrail.size() << ". (level " << d_translationCache.find(node)->second.level << ")" << std::endl;
- Assert(d_translationTrail.empty() || d_translationCache.find(node)->second.level >= d_translationCache.find(d_translationTrail.back())->second.level, "levels on the translation trail should be monotonically increasing ?!");
- d_translationTrail.push_back(node);
- d_translationCache.find(node)->second.recorded = true;
- d_translationCache.find(node.notNode())->second.recorded = true;
- }
- }
+ d_registrar(registrar),
+ d_removable(false) {
}
TseitinCnfStream::TseitinCnfStream(SatSolver* satSolver, Registrar* registrar, context::Context* context, bool fullLitToNodeMap) :
assertClause(node, clause);
}
-bool CnfStream::isTranslated(TNode n) const {
- TranslationCache::const_iterator find = d_translationCache.find(n);
- return find != d_translationCache.end() && (*find).second.level >= 0;
-}
-
bool CnfStream::hasLiteral(TNode n) const {
- TranslationCache::const_iterator find = d_translationCache.find(n);
- return find != d_translationCache.end();
+ NodeToLiteralMap::const_iterator find = d_nodeToLiteralMap.find(n);
+ return find != d_nodeToLiteralMap.end();
}
void TseitinCnfStream::ensureLiteral(TNode n) {
+
+ // These are not removable
+ d_removable = false;
+
Debug("cnf") << "ensureLiteral(" << n << ")" << endl;
if(hasLiteral(n)) {
- // Already a literal!
- // newLiteral() may be necessary to renew a previously-extant literal
- SatLiteral lit = isTranslated(n) ? getLiteral(n) : newLiteral(n, true);
- NodeCache::iterator i = d_nodeCache.find(lit);
- if(i == d_nodeCache.end()) {
+ SatLiteral lit = getLiteral(n);
+ LiteralToNodeMap::iterator i = d_literalToNodeMap.find(lit);
+ if(i == d_literalToNodeMap.end()) {
// Store backward-mappings
- d_nodeCache[lit] = n;
- d_nodeCache[~lit] = n.notNode();
+ d_literalToNodeMap[lit] = n;
+ d_literalToNodeMap[~lit] = n.notNode();
}
return;
}
lit = toCNF(n, false);
// Store backward-mappings
- d_nodeCache[lit] = n;
- d_nodeCache[~lit] = n.notNode();
+ d_literalToNodeMap[lit] = n;
+ d_literalToNodeMap[~lit] = n.notNode();
} else {
// We have a theory atom or variable.
lit = convertAtom(n);
} else {
lit = SatLiteral(d_satSolver->newVar(theoryLiteral));
}
- d_translationCache[node].literal = lit;
- d_translationCache[node.notNode()].literal = ~lit;
+ d_nodeToLiteralMap[node] = lit;
+ d_nodeToLiteralMap[node.notNode()] = ~lit;
} else {
- // We already have a literal
lit = getLiteral(node);
- d_satSolver->renewVar(lit);
}
- // We will translate clauses, so remember the level
- int level = d_satSolver->getAssertionLevel();
- d_translationCache[node].recorded = false;
- d_translationCache[node.notNode()].recorded = false;
- d_translationCache[node].level = level;
- d_translationCache[node.notNode()].level = level;
-
// If it's a theory literal, need to store it for back queries
if ( theoryLiteral || d_fullLitToNodeMap ||
( CVC4_USE_REPLAY && options::replayLog() != NULL ) ||
(Dump.isOn("clauses")) ) {
- d_nodeCache[lit] = node;
- d_nodeCache[~lit] = node.notNode();
+ d_literalToNodeMap[lit] = node;
+ d_literalToNodeMap[~lit] = node.notNode();
}
// If a theory literal, we pre-register it
TNode CnfStream::getNode(const SatLiteral& literal) {
Debug("cnf") << "getNode(" << literal << ")" << endl;
- NodeCache::iterator find = d_nodeCache.find(literal);
- Assert(find != d_nodeCache.end());
- Assert(d_translationCache.find(find->second) != d_translationCache.end());
- Debug("cnf") << "getNode(" << literal << ") => " << find->second << endl;
- return find->second;
+ LiteralToNodeMap::iterator find = d_literalToNodeMap.find(literal);
+ Assert(find != d_literalToNodeMap.end());
+ Assert(d_nodeToLiteralMap.find((*find).second) != d_nodeToLiteralMap.end());
+ Debug("cnf") << "getNode(" << literal << ") => " << (*find).second << endl;
+ return (*find).second;
}
void CnfStream::getBooleanVariables(std::vector<TNode>& outputVariables) const {
SatLiteral CnfStream::convertAtom(TNode node) {
Debug("cnf") << "convertAtom(" << node << ")" << endl;
- Assert(!isTranslated(node), "atom already mapped!");
+ Assert(!hasLiteral(node), "atom already mapped!");
// Is this a variable add it to the list
if (node.isVar()) {
// Make a new literal (variables are not considered theory literals)
SatLiteral lit = newLiteral(node, !node.isVar());
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(node, true);
-
+ // Return the resulting literal
return lit;
}
SatLiteral CnfStream::getLiteral(TNode node) {
- TranslationCache::iterator find = d_translationCache.find(node);
+ NodeToLiteralMap::iterator find = d_nodeToLiteralMap.find(node);
Assert(!node.isNull(), "CnfStream: can't getLiteral() of null node");
- Assert(find != d_translationCache.end(), "Literal not in the CNF Cache: %s\n", node.toString().c_str());
- SatLiteral literal = find->second.literal;
+ Assert(find != d_nodeToLiteralMap.end(), "Literal not in the CNF Cache: %s\n", node.toString().c_str());
+ SatLiteral literal = (*find).second;
Debug("cnf") << "CnfStream::getLiteral(" << node << ") => " << literal << std::endl;
return literal;
}
SatLiteral TseitinCnfStream::handleXor(TNode xorNode) {
- Assert(!isTranslated(xorNode), "Atom already mapped!");
+ Assert(!hasLiteral(xorNode), "Atom already mapped!");
Assert(xorNode.getKind() == XOR, "Expecting an XOR expression!");
Assert(xorNode.getNumChildren() == 2, "Expecting exactly 2 children!");
+ Assert(!d_removable, "Removable clauses can not contain Boolean structure");
SatLiteral a = toCNF(xorNode[0]);
SatLiteral b = toCNF(xorNode[1]);
assertClause(xorNode, a, ~b, xorLit);
assertClause(xorNode, ~a, b, xorLit);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(xorNode, true);
-
return xorLit;
}
SatLiteral TseitinCnfStream::handleOr(TNode orNode) {
- Assert(!isTranslated(orNode), "Atom already mapped!");
+ Assert(!hasLiteral(orNode), "Atom already mapped!");
Assert(orNode.getKind() == OR, "Expecting an OR expression!");
Assert(orNode.getNumChildren() > 1, "Expecting more then 1 child!");
+ Assert(!d_removable, "Removable clauses can not contain Boolean structure");
// Number of children
unsigned n_children = orNode.getNumChildren();
// This needs to go last, as the clause might get modified by the SAT solver
assertClause(orNode, clause);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(orNode, true);
-
// Return the literal
return orLit;
}
SatLiteral TseitinCnfStream::handleAnd(TNode andNode) {
- Assert(!isTranslated(andNode), "Atom already mapped!");
+ Assert(!hasLiteral(andNode), "Atom already mapped!");
Assert(andNode.getKind() == AND, "Expecting an AND expression!");
Assert(andNode.getNumChildren() > 1, "Expecting more than 1 child!");
+ Assert(!d_removable, "Removable clauses can not contain Boolean structure");
// Number of children
unsigned n_children = andNode.getNumChildren();
// This needs to go last, as the clause might get modified by the SAT solver
assertClause(andNode, clause);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(andNode, true);
-
return andLit;
}
SatLiteral TseitinCnfStream::handleImplies(TNode impliesNode) {
- Assert(!isTranslated(impliesNode), "Atom already mapped!");
+ Assert(!hasLiteral(impliesNode), "Atom already mapped!");
Assert(impliesNode.getKind() == IMPLIES, "Expecting an IMPLIES expression!");
Assert(impliesNode.getNumChildren() == 2, "Expecting exactly 2 children!");
+ Assert(!d_removable, "Removable clauses can not contain Boolean structure");
// Convert the children to cnf
SatLiteral a = toCNF(impliesNode[0]);
assertClause(impliesNode, a, impliesLit);
assertClause(impliesNode, ~b, impliesLit);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(impliesNode, true);
-
return impliesLit;
}
SatLiteral TseitinCnfStream::handleIff(TNode iffNode) {
- Assert(!isTranslated(iffNode), "Atom already mapped!");
+ Assert(!hasLiteral(iffNode), "Atom already mapped!");
Assert(iffNode.getKind() == IFF, "Expecting an IFF expression!");
Assert(iffNode.getNumChildren() == 2, "Expecting exactly 2 children!");
assertClause(iffNode, ~a, ~b, iffLit);
assertClause(iffNode, a, b, iffLit);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(iffNode, true);
-
return iffLit;
}
SatLiteral TseitinCnfStream::handleNot(TNode notNode) {
- Assert(!isTranslated(notNode), "Atom already mapped!");
+ Assert(!hasLiteral(notNode), "Atom already mapped!");
Assert(notNode.getKind() == NOT, "Expecting a NOT expression!");
Assert(notNode.getNumChildren() == 1, "Expecting exactly 1 child!");
SatLiteral TseitinCnfStream::handleIte(TNode iteNode) {
Assert(iteNode.getKind() == ITE);
Assert(iteNode.getNumChildren() == 3);
+ Assert(!d_removable, "Removable clauses can not contain Boolean structure");
Debug("cnf") << "handleIte(" << iteNode[0] << " " << iteNode[1] << " " << iteNode[2] << ")" << endl;
assertClause(iteNode, iteLit, ~condLit, ~thenLit);
assertClause(iteNode, iteLit, condLit, ~elseLit);
- // We have a literal, so it has to be recorded. The definitional clauses
- // go away on user-pop, so this literal will have to be re-vivified if it's
- // used subsequently.
- recordTranslation(iteNode, true);
-
return iteLit;
}
Node negatedNode = node.notNode();
// If the non-negated node has already been translated, get the translation
- if(isTranslated(node)) {
+ if(hasLiteral(node)) {
Debug("cnf") << "toCNF(): already translated" << endl;
nodeLit = getLiteral(node);
} else {
for(int i = 0; i < nChildren; ++ disjunct, ++ i) {
Assert( disjunct != node.end() );
clause[i] = toCNF(*disjunct, true);
- recordTranslation(*disjunct);
}
Assert(disjunct == node.end());
assertClause(node, clause);
for(int i = 0; i < nChildren; ++ disjunct, ++ i) {
Assert( disjunct != node.end() );
clause[i] = toCNF(*disjunct, false);
- recordTranslation(*disjunct);
}
Assert(disjunct == node.end());
assertClause(node, clause);
clause2[1] = ~q;
assertClause(node, clause2);
}
- recordTranslation(node[0]);
- recordTranslation(node[1]);
}
void TseitinCnfStream::convertAndAssertIff(TNode node, bool negated) {
clause2[1] = q;
assertClause(node, clause2);
}
- recordTranslation(node[0]);
- recordTranslation(node[1]);
}
void TseitinCnfStream::convertAndAssertImplies(TNode node, bool negated) {
clause[0] = ~p;
clause[1] = q;
assertClause(node, clause);
- recordTranslation(node[0]);
- recordTranslation(node[1]);
} else {// Construct the
// !(p => q) is the same as (p && ~q)
convertAndAssert(node[0], false);
clause2[0] = p;
clause2[1] = r;
assertClause(node, clause2);
-
- recordTranslation(node[0]);
- recordTranslation(node[1]);
- recordTranslation(node[2]);
}
// At the top level we must ensure that all clauses that are asserted are
void TseitinCnfStream::convertAndAssert(TNode node, bool negated) {
Debug("cnf") << "convertAndAssert(" << node << ", negated = " << (negated ? "true" : "false") << ")" << endl;
- /*
- if(isTranslated(node)) {
- Debug("cnf") << "==> fortunate literal detected!" << endl;
- ++d_fortunateLiterals;
- SatLiteral lit = getLiteral(node);
- //d_satSolver->renewVar(lit);
- assertClause(node, negated ? ~lit : lit);
- return;
- }
- */
-
switch(node.getKind()) {
case AND:
convertAndAssertAnd(node, negated);
default:
// Atoms
assertClause(node, toCNF(node, negated));
- recordTranslation(node);
break;
}
}
-void CnfStream::removeClausesAboveLevel(int level) {
- while (d_translationTrail.size() > 0) {
- Debug("cnf") << "Considering translation trail position " << d_translationTrail.size() << std::endl;
- TNode node = d_translationTrail.back();
- // Get the translation information
- TranslationInfo& infoPos = d_translationCache.find(node)->second;
- // If the level of the node is less or equal to given we are done
- if (infoPos.level >= 0 && infoPos.level <= level) {
- Debug("cnf") << "Node is " << node << " level " << infoPos.level << ", we're done." << std::endl;
- break;
- }
- Debug("cnf") << "Removing node " << node << " from CNF translation" << endl;
- d_translationTrail.pop_back();
- // If already untranslated, we're done
- if (infoPos.level == -1) continue;
- // Otherwise we have to undo the translation
- undoTranslate(node, level);
- }
-}
-
-void CnfStream::undoTranslate(TNode node, int level) {
- Debug("cnf") << "undoTranslate(): " << node << " (level " << level << ")" << endl;
-
- TranslationCache::iterator it = d_translationCache.find(node);
-
- // If not in translation cache, done (the parent was an atom)
- if (it == d_translationCache.end()) {
- Debug("cnf") << " ==> not in cache, ignore" << endl;
- return;
- }
-
- // Get the translation information
- TranslationInfo& infoPos = (*it).second;
-
- // If already untranslated, we are done
- if (infoPos.level == -1) {
- Debug("cnf") << " ==> already untranslated, ignore" << endl;
- return;
- }
-
- // If under the given level we're also done
- if (infoPos.level <= level) {
- Debug("cnf") << " ==> level too low, ignore" << endl;
- return;
- }
-
- Debug("cnf") << " ==> untranslating" << endl;
-
- // Untranslate
- infoPos.level = -1;
- infoPos.recorded = false;
-
- // Untranslate the negation node
- // If not a not node, unregister it from sat and untranslate the negation
- if (node.getKind() != kind::NOT) {
- // Unregister the literal from SAT
- SatLiteral lit = getLiteral(node);
- d_satSolver->unregisterVar(lit);
- Debug("cnf") << " ==> untranslating negation, too" << endl;
- // Untranslate the negation
- it = d_translationCache.find(node.notNode());
- Assert(it != d_translationCache.end());
- TranslationInfo& infoNeg = (*it).second;
- infoNeg.level = -1;
- infoNeg.recorded = false;
- }
-
- // undoTranslate the children
- TNode::iterator child = node.begin();
- TNode::iterator child_end = node.end();
- while (child != child_end) {
- undoTranslate(*child, level);
- ++ child;
- }
-
- Debug("cnf") << "undoTranslate(): finished untranslating " << node << " (level " << level << ")" << endl;
-}
-
-void CnfStream::moveToBaseLevel(TNode node) {
- TNode posNode = stripNot(node);
- TranslationInfo& infoPos = d_translationCache.find(posNode)->second;
-
- Assert(infoPos.level >= 0);
- if (infoPos.level == 0) return;
-
- TNode negNode = node.notNode();
- TranslationInfo& infoNeg = d_translationCache.find(negNode)->second;
-
- infoPos.level = 0;
- infoNeg.level = 0;
-
- d_satSolver->renewVar(infoPos.literal, 0);
-
- // undoTranslate the children
- TNode::iterator child = posNode.begin();
- TNode::iterator child_end = posNode.end();
- while (child != child_end) {
- moveToBaseLevel(*child);
- ++ child;
- }
-}
-
}/* CVC4::prop namespace */
}/* CVC4 namespace */
public:
/** Cache of what nodes have been registered to a literal. */
- typedef __gnu_cxx::hash_map<SatLiteral, TNode, SatLiteralHashFunction> NodeCache;
-
- /** Per node translation information */
- struct TranslationInfo {
- bool recorded;
- /** The level at which this node was translated (negative if not translated) */
- int level;
- /** The literal of this node */
- SatLiteral literal;
- };
+ typedef context::CDHashMap<SatLiteral, TNode, SatLiteralHashFunction> LiteralToNodeMap;
/** Cache of what literals have been registered to a node. */
- typedef __gnu_cxx::hash_map<Node, TranslationInfo, NodeHashFunction> TranslationCache;
+ typedef context::CDHashMap<Node, SatLiteral, NodeHashFunction> NodeToLiteralMap;
protected:
/** Boolean variables that we translated */
context::CDList<TNode> d_booleanVariables;
- TranslationCache d_translationCache;
- NodeCache d_nodeCache;
+ /** Map from nodes to literals */
+ NodeToLiteralMap d_nodeToLiteralMap;
+
+ /** Map from literals to nodes */
+ LiteralToNodeMap d_literalToNodeMap;
/**
* True if the lit-to-Node map should be kept for all lits, not just
/** The "registrar" for pre-registration of terms */
Registrar* d_registrar;
- /** Top level nodes that we translated */
- std::vector<TNode> d_translationTrail;
-
/**
* How many literals were already mapped at the top-level when we
* tried to convertAndAssert() something. This
return node;
}
- /** Record this translation */
- void recordTranslation(TNode node, bool alwaysRecord = false);
-
- /**
- * Moves the node and all of it's parents to level 0.
- */
- void moveToBaseLevel(TNode node);
-
- /**
- * Mark the node, and all parent at levels above level as untranslated.
- */
- void undoTranslate(TNode node, int level);
-
/**
* Are we asserting a removable clause (true) or a permanent clause (false).
- * This is set at the begining of convertAndAssert so that it doesn't
- * need to be passed on over the stack.
+ * This is set at the beginning of convertAndAssert so that it doesn't
+ * need to be passed on over the stack. Only pure clauses can be asserted as
+ * removable.
*/
bool d_removable;
*/
TNode getNode(const SatLiteral& literal);
- /**
- * Returns true if the node has been cached in the translation cache.
- * @param node the node
- * @return true if the node has been cached
- */
- bool isTranslated(TNode node) const;
-
/**
* Returns true iff the node has an assigned literal (it might not be translated).
* @param node the node
*/
void getBooleanVariables(std::vector<TNode>& outputVariables) const;
- const TranslationCache& getTranslationCache() const {
- return d_translationCache;
+ const NodeToLiteralMap& getTranslationCache() const {
+ return d_nodeToLiteralMap;
}
- const NodeCache& getNodeCache() const {
- return d_nodeCache;
+ const LiteralToNodeMap& getNodeCache() const {
+ return d_literalToNodeMap;
}
- /**
- * Removes all the translation information of clauses that have the given associated assert level.
- */
- void removeClausesAboveLevel(int level);
-
};/* class CnfStream */
watches .init(mkLit(v, false));
watches .init(mkLit(v, true ));
assigns .push(l_Undef);
- vardata .push(mkVarData(CRef_Undef, 0, assertionLevel, -1));
+ vardata .push(VarData(CRef_Undef, -1, -1, assertionLevel, -1));
activity .push(rnd_init_act ? drand(random_seed) * 0.00001 : 0);
seen .push(0);
polarity .push(sign);
return v;
}
+void Solver::resizeVars(int newSize) {
+ assert(enable_incremental);
+ assert(decisionLevel() == 0);
+ Assert(newSize >= 2, "always keep true/false");
+ if (newSize < nVars()) {
+ int shrinkSize = nVars() - newSize;
+
+ // Resize watches up to the negated last literal
+ watches.resizeTo(mkLit(newSize-1, true));
+
+ // Resize all info arrays
+ assigns.shrink(shrinkSize);
+ vardata.shrink(shrinkSize);
+ activity.shrink(shrinkSize);
+ seen.shrink(shrinkSize);
+ polarity.shrink(shrinkSize);
+ decision.shrink(shrinkSize);
+ theory.shrink(shrinkSize);
+
+ }
+
+ if (Debug.isOn("minisat::pop")) {
+ for (int i = 0; i < trail.size(); ++ i) {
+ assert(var(trail[i]) < nVars());
+ }
+ }
+}
CRef Solver::reason(Var x) {
int i, j;
Lit prev = lit_Undef;
for (i = 0, j = 0; i < explanation.size(); ++ i) {
- int varLevel = intro_level(var(explanation[i]));
- if (varLevel > explLevel) {
- explLevel = varLevel;
- }
+ // This clause is valid theory propagation, so it's level is the level of the top literal
+ explLevel = std::max(explLevel, intro_level(var(explanation[i])));
+
Assert(value(explanation[i]) != l_Undef);
Assert(i == 0 || trail_index(var(explanation[0])) > trail_index(var(explanation[i])));
- // ignore zero level literals
- if (i == 0 || (level(var(explanation[i])) > 0 && explanation[i] != prev)) {
+
+ // Always keep the first literal
+ if (i == 0) {
prev = explanation[j++] = explanation[i];
+ continue;
+ }
+ // Ignore duplicate literals
+ if (explanation[i] == prev) {
+ continue;
+ }
+ // Ignore zero level literals
+ if (level(var(explanation[i])) == 0 && user_level(var(explanation[i]) == 0)) {
+ continue;
}
+ // Keep this literal
+ prev = explanation[j++] = explanation[i];
}
explanation.shrink(i - j);
+
+ // We need an explanation clause so we add a fake literal
if (j == 1) {
// Add not TRUE to the clause
explanation.push(mkLit(varTrue, true));
// Construct the reason
CRef real_reason = ca.alloc(explLevel, explanation, true);
- vardata[x] = mkVarData(real_reason, level(x), intro_level(x), trail_index(x));
+ vardata[x] = VarData(real_reason, level(x), user_level(x), intro_level(x), trail_index(x));
clauses_removable.push(real_reason);
attachClause(real_reason);
+
return real_reason;
}
sort(ps);
Lit p; int i, j;
+ // Which user-level to assert this clause at
+ int clauseLevel = removable ? 0 : assertionLevel;
+
// Check the clause for tautologies and similar
+ int falseLiteralsCount = 0;
for (i = j = 0, p = lit_Undef; i < ps.size(); i++) {
- if ((ps[i] == ~p) || (value(ps[i]) == l_True && level(var(ps[i])) == 0)) {
+ // Update the level
+ clauseLevel = std::max(clauseLevel, intro_level(var(ps[i])));
+ // Tautologies are ignored
+ if (ps[i] == ~p) {
// Clause can be ignored
return true;
}
- if ((ps[i] != p) && (value(ps[i]) != l_False || level(var(ps[i])) > 0)) {
- // This literal is a keeper
- ps[j++] = p = ps[i];
+ // Clauses with 0-level true literals are also ignored
+ if (value(ps[i]) == l_True && level(var(ps[i])) == 0 && user_level(var(ps[i])) == 0) {
+ return true;
}
+ // Ignore repeated literals
+ if (ps[i] == p) {
+ continue;
+ }
+ // If a literals is false at 0 level (both sat and user level) we also ignore it
+ if (value(ps[i]) == l_False) {
+ if (level(var(ps[i])) == 0 && user_level(var(ps[i])) == 0) {
+ continue;
+ } else {
+ // If we decide to keep it, we count it into the false literals
+ falseLiteralsCount ++;
+ }
+ }
+ // This literal is a keeper
+ ps[j++] = p = ps[i];
}
// Fit to size
ps.copyTo(lemmas.last());
lemmas_removable.push(removable);
} else {
- // Add the clause and attach if not a lemma
- if (ps.size() == 0) {
+ // If all false, we're in conflict
+ if (ps.size() == falseLiteralsCount) {
return ok = false;
- } else if (ps.size() == 1) {
- if(assigns[var(ps[0])] == l_Undef) {
- uncheckedEnqueue(ps[0]);
-
- PROOF( ProofManager::getSatProof()->registerUnitClause(ps[0], true); )
+ }
- return ok = (propagate(CHECK_WITHOUTH_THEORY) == CRef_Undef);
- } else return ok;
- } else {
- CRef cr = ca.alloc(assertionLevel, ps, false);
+ CRef cr = CRef_Undef;
+
+ // If not unit, add the clause
+ if (ps.size() > 1) {
+
+ lemma_lt lt(*this);
+ sort(ps, lt);
+
+ cr = ca.alloc(clauseLevel, ps, false);
clauses_persistent.push(cr);
attachClause(cr);
-
+
PROOF( ProofManager::getSatProof()->registerClause(cr, true); )
}
+
+ // Check if it propagates
+ if (ps.size() == falseLiteralsCount + 1) {
+ if(assigns[var(ps[0])] == l_Undef) {
+ assert(assigns[var(ps[0])] != l_False);
+ uncheckedEnqueue(ps[0], cr);
+ PROOF( if (ps.size() == 1) { ProofManager::getSatProof()->registerUnitClause(ps[0], true); } )
+ return ok = (propagate(CHECK_WITHOUTH_THEORY) == CRef_Undef);
+ } else return ok;
+ }
}
return true;
void Solver::removeClause(CRef cr) {
Clause& c = ca[cr];
- Debug("minisat") << "Solver::removeClause(" << c << ")" << std::endl;
+ Debug("minisat::remove-clause") << "Solver::removeClause(" << c << ")" << std::endl;
detachClause(cr);
// Don't leave pointers to free'd memory!
if (locked(c)) vardata[var(c[0])].reason = CRef_Undef;
vardata[x].trail_index = -1;
if ((phase_saving > 1 || (phase_saving == 1) && c > trail_lim.last()) && (polarity[x] & 0x2) == 0)
polarity[x] = sign(trail[c]);
- if(intro_level(x) != -1) {// might be unregistered
- insertVarOrder(x);
- }
+ insertVarOrder(x);
}
qhead = trail_lim[level];
trail.shrink(trail.size() - trail_lim[level]);
rnd_decisions++; }
// Activity based decision:
- while (next == var_Undef || value(next) != l_Undef || !decision[next]) {
+ while (next >= nVars() || next == var_Undef || value(next) != l_Undef || !decision[next]) {
if (order_heap.empty()){
next = var_Undef;
break;
out_learnt.push(); // (leave room for the asserting literal)
int index = trail.size() - 1;
- int max_level = 0; // Maximal level of the resolved clauses
+ int max_resolution_level = 0; // Maximal level of the resolved clauses
PROOF( ProofManager::getSatProof()->startResChain(confl); )
do{
assert(confl != CRef_Undef); // (otherwise should be UIP)
Clause& c = ca[confl];
- if (c.level() > max_level) {
- max_level = c.level();
- }
+ max_resolution_level = std::max(max_resolution_level, c.level());
if (c.removable())
claBumpActivity(c);
else
out_learnt.push(q);
} else {
+ // We could be resolving a literal propagated by a clause/theory using
+ // information from a higher level
+ if (!seen[var(q)] && level(var(q)) == 0) {
+ max_resolution_level = std::max(max_resolution_level, user_level(var(q)));
+ }
+
// FIXME: can we do it lazily if we actually need the proof?
if (level(var(q)) == 0) {
PROOF( ProofManager::getSatProof()->resolveOutUnit(q); )
out_learnt[j++] = out_learnt[i];
} else {
// Check if the literal is redundant
- int red_level = litRedundant(out_learnt[i], abstract_level);
- if (red_level < 0) {
+ if (!litRedundant(out_learnt[i], abstract_level)) {
// Literal is not redundant
out_learnt[j++] = out_learnt[i];
} else {
- //
PROOF( ProofManager::getSatProof()->storeLitRedundant(out_learnt[i]); )
- // Literal is redundant, mark the level of the redundancy derivation
- if (max_level < red_level) {
- max_level = red_level;
- }
+ // Literal is redundant, to be safe, mark the level as current assertion level
+ // TODO: maybe optimize
+ max_resolution_level = std::max(max_resolution_level, user_level(var(out_learnt[i])));
}
}
}
}else if (ccmin_mode == 1){
+ Unreachable();
for (i = j = 1; i < out_learnt.size(); i++){
Var x = var(out_learnt[i]);
for (int j = 0; j < analyze_toclear.size(); j++) seen[var(analyze_toclear[j])] = 0; // ('seen[]' is now cleared)
// Return the maximal resolution level
- return max_level;
+ return max_resolution_level;
}
// Check if 'p' can be removed. 'abstract_levels' is used to abort early if the algorithm is
// visiting literals at levels that cannot be removed later.
-int Solver::litRedundant(Lit p, uint32_t abstract_levels)
+bool Solver::litRedundant(Lit p, uint32_t abstract_levels)
{
analyze_stack.clear(); analyze_stack.push(p);
int top = analyze_toclear.size();
- int max_level = 0;
while (analyze_stack.size() > 0){
CRef c_reason = reason(var(analyze_stack.last()));
assert(c_reason != CRef_Undef);
Clause& c = ca[c_reason];
int c_size = c.size();
analyze_stack.pop();
- if (c.level() > max_level) {
- max_level = c.level();
- }
// Since calling reason might relocate to resize, c is not necesserily the right reference, we must
// use the allocator each time
for (int j = top; j < analyze_toclear.size(); j++)
seen[var(analyze_toclear[j])] = 0;
analyze_toclear.shrink(analyze_toclear.size() - top);
- return -1;
+ return false;
}
}
}
}
- return max_level;
+ return true;
}
{
Debug("minisat") << "unchecked enqueue of " << p << " (" << trail_index(var(p)) << ") trail size is " << trail.size() << " cap is " << trail.capacity() << std::endl;
assert(value(p) == l_Undef);
+ assert(var(p) < nVars());
assigns[var(p)] = lbool(!sign(p));
- vardata[var(p)] = mkVarData(from, decisionLevel(), intro_level(var(p)), trail.size());
+ vardata[var(p)] = VarData(from, decisionLevel(), assertionLevel, intro_level(var(p)), trail.size());
trail.push_(p);
if (theory[var(p)]) {
// Enqueue to the theory
proxy->enqueueTheoryLiteral(MinisatSatSolver::toSatLiteral(p));
}
- if (from == CRef_Undef) {
- if (assertionLevel > 0) {
- trail_user.push(p);
- }
- }
}
for (i = j = 0; i < cs.size(); i++){
Clause& c = ca[cs[i]];
if (c.level() > level) {
- if(Debug.isOn("minisat")) {
- Debug("minisat") << "removeClausesAboveLevel(" << level << "): removing level-" << c.level() << " clause: " << c << ":";
- for(int i = 0; i < c.size(); ++i) {
- Debug("minisat") << " " << c[i];
- }
- Debug("minisat") << std::endl;
- }
- removeClause(cs[i]);
+ assert(!locked(c));
+ removeClause(cs[i]);
} else {
- if(Debug.isOn("minisat")) {
- Debug("minisat") << "removeClausesAboveLevel(" << level << "): leaving level-" << c.level() << " clause: " << c << ":";
- for(int i = 0; i < c.size(); ++i) {
- Debug("minisat") << " " << c[i];
- }
- Debug("minisat") << std::endl;
- }
cs[j++] = cs[i];
}
}
- Debug("minisat") << "removeClausesAboveLevel(" << level << "): removed " << i - j << " clauses in all, left " << j << std::endl;
cs.shrink(i - j);
}
popTrail();
++assertionLevel;
Debug("minisat") << "in user push, increasing assertion level to " << assertionLevel << std::endl;
- trail_user.push(lit_Undef);
trail_ok.push(ok);
- trail_user_lim.push(trail.size());
- assert(trail_user_lim.size() == assertionLevel);
+ assigns_lim.push(assigns.size());
context->push(); // SAT context for CVC4
{
assert(enable_incremental);
- Debug("minisat") << "MINISAT POP at level " << decisionLevel() << " (context " << context->getLevel() << "), popping trail..." << std::endl;
+ // Pop the trail to 0 level
popTrail();
- Debug("minisat") << "MINISAT POP now at " << decisionLevel() << " (context " << context->getLevel() << ")" << std::endl;
-
assert(decisionLevel() == 0);
- assert(trail_user_lim.size() == assertionLevel);
+ // Pop the trail below the user level
--assertionLevel;
-
- Debug("minisat") << "MINISAT POP assertionLevel is now down to " << assertionLevel << ", trail.size is " << trail.size() << ", need to get down to " << trail_user_lim.last() << std::endl;
- Debug("minisat") << "in user pop, reducing assertion level to " << assertionLevel << " and removing clauses above this from db" << std::endl;
-
- // Remove all the clauses asserted (and implied) above the new base level
- removeClausesAboveLevel(clauses_removable, assertionLevel);
- removeClausesAboveLevel(clauses_persistent, assertionLevel);
-
- Debug("minisat") << "in user pop, at " << trail_lim.size() << " : " << assertionLevel << std::endl;
-
- int downto = trail_user_lim.last();
- while(downto < trail.size()) {
+ while (true) {
Debug("minisat") << "== unassigning " << trail.last() << std::endl;
Var x = var(trail.last());
- assigns [x] = l_Undef;
- vardata[x].trail_index = -1;
- if(phase_saving >= 1 && (polarity[x] & 0x2) == 0)
- polarity[x] = sign(trail.last());
- if(intro_level(x) != -1) {// might be unregistered
+ if (user_level(x) > assertionLevel) {
+ assigns [x] = l_Undef;
+ vardata[x] = VarData(CRef_Undef, -1, -1, intro_level(x), -1);
+ if(phase_saving >= 1 && (polarity[x] & 0x2) == 0)
+ polarity[x] = sign(trail.last());
insertVarOrder(x);
+ trail.pop();
+ } else {
+ break;
}
- trail.pop();
}
+ // The head should be at the trail top
qhead = trail.size();
- Debug("minisat") << "MINISAT POP assertionLevel is now down to " << assertionLevel << ", trail.size is " << trail.size() << ", should be at " << trail_user_lim.last() << std::endl;
- assert(trail_user_lim.last() == qhead);
- trail_user_lim.pop();
-
- // Unset any units learned or added at this level
- Debug("minisat") << "in user pop, unsetting level units for level " << assertionLevel << std::endl;
- while(trail_user.last() != lit_Undef) {
- Lit l = trail_user.last();
- Debug("minisat") << "== unassigning " << l << std::endl;
- Var x = var(l);
- assigns [x] = l_Undef;
- vardata[x].trail_index = -1;
- if (phase_saving >= 1 && (polarity[x] & 0x2) == 0)
- polarity[x] = sign(l);
- if(intro_level(x) != -1) {// might be unregistered
- insertVarOrder(x);
- }
- trail_user.pop();
- }
- trail_user.pop();
- ok = trail_ok.last();
- trail_ok.pop();
- Debug("minisat") << "in user pop, done unsetting level units" << std::endl;
- Debug("minisat") << "about to removeClausesAboveLevel(" << assertionLevel << ") in CNF" << std::endl;
+ // Remove the clause
+ removeClausesAboveLevel(clauses_persistent, assertionLevel);
+ removeClausesAboveLevel(clauses_removable, assertionLevel);
+ // Pop the SAT context to notify everyone
context->pop(); // SAT context for CVC4
- // Notify the cnf
- proxy->removeClausesAboveLevel(assertionLevel);
-}
-
-void Solver::unregisterVar(Lit lit) {
- Debug("minisat") << "unregisterVar " << lit << std::endl;
- Var v = var(lit);
- vardata[v].intro_level = -1;
- setDecisionVar(v, false);
-}
+ // Pop the created variables
+ resizeVars(assigns_lim.last());
+ assigns_lim.pop();
+ variables_to_register.clear();
-void Solver::renewVar(Lit lit, int level) {
- Debug("minisat") << "renewVar " << lit << " " << level << std::endl;
- Var v = var(lit);
- vardata[v].intro_level = (level == -1 ? getAssertionLevel() : level);
- setDecisionVar(v, true);
- // explicitly not resetting polarity phase-locking here
+ // Pop the OK
+ ok = trail_ok.last();
+ trail_ok.pop();
}
bool Solver::flipDecision() {
// Attach it if non-unit
CRef lemma_ref = CRef_Undef;
if (lemma.size() > 1) {
- lemma_ref = ca.alloc(assertionLevel, lemma, removable);
+ // If the lemmas is removable, we can compute its level by the level
+ int clauseLevel = assertionLevel;
+ if (removable) {
+ clauseLevel = 0;
+ for (int i = 0; i < lemma.size(); ++ i) {
+ clauseLevel = std::max(clauseLevel, intro_level(var(lemma[i])));
+ }
+ }
+
+ lemma_ref = ca.alloc(clauseLevel, lemma, removable);
if (removable) {
clauses_removable.push(lemma_ref);
} else {
/** Variables to re-register with theory solvers on backtracks */
vec<VarIntroInfo> variables_to_register;
+ /** Keep only newSize variables */
+ void resizeVars(int newSize);
+
public:
// Constructor/Destructor:
void push ();
void pop ();
- void unregisterVar(Lit lit); // Unregister the literal (set assertion level to -1)
- void renewVar(Lit lit, int level = -1); // Register the literal (set assertion level to the given level, or current level if -1)
-
bool addClause (const vec<Lit>& ps, bool removable); // Add a clause to the solver.
bool addEmptyClause(bool removable); // Add the empty clause, making the solver contradictory.
bool addClause (Lit p, bool removable); // Add a unit clause to the solver.
// Helper structures:
//
- struct VarData { CRef reason; int level; int intro_level; int trail_index; };
- static inline VarData mkVarData(CRef cr, int l, int intro_l, int trail_i){ VarData d = {cr, l, intro_l, trail_i}; return d; }
+ struct VarData {
+ // Reason for the literal being in the trail
+ CRef reason;
+ // Sat level when the literal was added to the trail
+ int level;
+ // User level when the literal was added to the trail
+ int user_level;
+ // Use level at which this literal was introduced
+ int intro_level;
+ // The index in the trail
+ int trail_index;
+
+ VarData(CRef reason, int level, int user_level, int intro_level, int trail_index)
+ : reason(reason)
+ , level(level)
+ , user_level(user_level)
+ , intro_level(intro_level)
+ , trail_index(trail_index)
+ {}
+ };
struct Watcher {
CRef cref;
OccLists<Lit, vec<Watcher>, WatcherDeleted>
watches; // 'watches[lit]' is a list of constraints watching 'lit' (will go there if literal becomes true).
vec<lbool> assigns; // The current assignments.
+ vec<int> assigns_lim; // The size by levels of the current assignment
vec<char> polarity; // The preferred polarity of each variable (bit 0) and whether it's locked (bit 1).
vec<char> decision; // Declares if a variable is eligible for selection in the decision heuristic.
vec<int> flipped; // Which trail_lim decisions have been flipped in this context.
vec<Lit> trail; // Assignment stack; stores all assigments made in the order they were made.
vec<int> trail_lim; // Separator indices for different decision levels in 'trail'.
- vec<Lit> trail_user; // Stack of assignments to UNdo on user pop.
- vec<int> trail_user_lim; // Separator indices for different user levels in 'trail'.
vec<bool> trail_ok; // Stack of "whether we're in conflict" flags.
vec<VarData> vardata; // Stores reason and level for each variable.
int qhead; // Head of queue (as index into the trail -- no more explicit propagation queue in MiniSat).
void popTrail (); // Backtrack the trail to the previous push position
int analyze (CRef confl, vec<Lit>& out_learnt, int& out_btlevel); // (bt = backtrack)
void analyzeFinal (Lit p, vec<Lit>& out_conflict); // COULD THIS BE IMPLEMENTED BY THE ORDINARIY "analyze" BY SOME REASONABLE GENERALIZATION?
- int litRedundant (Lit p, uint32_t abstract_levels); // (helper method for 'analyze()') - returns the maximal level of the clauses proving redundancy of p
+ bool litRedundant (Lit p, uint32_t abstract_levels); // (helper method for 'analyze()') - true if p is redundant
lbool search (int nof_conflicts); // Search for a given number of conflicts.
lbool solve_ (); // Main solve method (assumptions given in 'assumptions').
void reduceDB (); // Reduce the set of learnt clauses.
bool isPropagatedBy (Var x, const Clause& c) const; // Is the value of the variable propagated by the clause Clause C
int level (Var x) const;
- int intro_level (Var x) const; // Level at which this variable was introduced
+ int user_level (Var x) const; // User level at which this variable was asserted
+ int intro_level (Var x) const; // User level at which this variable was created
int trail_index (Var x) const; // Index in the trail
double progressEstimate () const; // DELETE THIS ?? IT'S NOT VERY USEFUL ...
bool withinBudget () const;
inline bool Solver::isDecision(Var x) const { Debug("minisat") << "var " << x << " is a decision iff " << (vardata[x].reason == CRef_Undef) << " && " << level(x) << " > 0" << std::endl; return vardata[x].reason == CRef_Undef && level(x) > 0; }
-inline int Solver::level (Var x) const { return vardata[x].level; }
+inline int Solver::level (Var x) const { assert(x < vardata.size()); return vardata[x].level; }
+
+inline int Solver::user_level(Var x) const { assert(x < vardata.size()); return vardata[x].user_level; }
-inline int Solver::intro_level(Var x) const { return vardata[x].intro_level; }
+inline int Solver::intro_level(Var x) const { assert(x < vardata.size()); return vardata[x].intro_level; }
-inline int Solver::trail_index(Var x) const { return vardata[x].trail_index; }
+inline int Solver::trail_index(Var x) const { assert(x < vardata.size()); return vardata[x].trail_index; }
inline void Solver::insertVarOrder(Var x) {
+ assert(x < vardata.size());
if (!order_heap.inHeap(x) && decision[x]) order_heap.insert(x); }
inline void Solver::varDecayActivity() { var_inc *= (1 / var_decay); }
inline int Solver::decisionLevel () const { return trail_lim.size(); }
inline uint32_t Solver::abstractLevel (Var x) const { return 1 << (level(x) & 31); }
-inline lbool Solver::value (Var x) const { return assigns[x]; }
-inline lbool Solver::value (Lit p) const { return assigns[var(p)] ^ sign(p); }
+inline lbool Solver::value (Var x) const { assert(x < nVars()); return assigns[x]; }
+inline lbool Solver::value (Lit p) const { assert(var(p) < nVars()); return assigns[var(p)] ^ sign(p); }
inline lbool Solver::modelValue (Var x) const { return model[x]; }
inline lbool Solver::modelValue (Lit p) const { return model[var(p)] ^ sign(p); }
inline int Solver::nAssigns () const { return trail.size(); }
OccLists(const Deleted& d) : deleted(d) {}
void init (const Idx& idx){ occs.growTo(toInt(idx)+1); dirty.growTo(toInt(idx)+1, 0); }
+ void resizeTo (const Idx& idx){ int shrinkSize = occs.size() - (toInt(idx) + 1); occs.shrink(shrinkSize); }
// Vec& operator[](const Idx& idx){ return occs[toInt(idx)]; }
Vec& operator[](const Idx& idx){ return occs[toInt(idx)]; }
Vec& lookup (const Idx& idx){ if (dirty[toInt(idx)]) clean(idx); return occs[toInt(idx)]; }
d_minisat->pop();
}
-void MinisatSatSolver::unregisterVar(SatLiteral lit) {
- d_minisat->unregisterVar(toMinisatLit(lit));
-}
-
-void MinisatSatSolver::renewVar(SatLiteral lit, int level) {
- d_minisat->renewVar(toMinisatLit(lit), level);
-}
-
/// Statistics for MinisatSatSolver
MinisatSatSolver::Statistics::Statistics() :
void pop();
- void unregisterVar(SatLiteral lit);
-
- void renewVar(SatLiteral lit, int level = -1);
-
void requirePhase(SatLiteral lit);
bool flipDecision();
Var SimpSolver::newVar(bool sign, bool dvar, bool theoryAtom) {
Var v = Solver::newVar(sign, dvar,theoryAtom);
- frozen .push((char)theoryAtom);
- eliminated.push((char)false);
-
if (use_simplification){
+ frozen .push((char)theoryAtom);
+ eliminated.push((char)false);
n_occ .push(0);
n_occ .push(0);
occurs .init(v);
bool SimpSolver::addClause_(vec<Lit>& ps, bool removable)
{
#ifndef NDEBUG
- for (int i = 0; i < ps.size(); i++)
+ if (use_simplification) {
+ for (int i = 0; i < ps.size(); i++)
assert(!isEliminated(var(ps[i])));
+ }
#endif
int nclauses = clauses_persistent.size();
}
bool PropEngine::isDecision(Node lit) const {
- Assert(isTranslatedSatLiteral(lit));
+ Assert(isSatLiteral(lit));
return d_satSolver->isDecision(d_cnfStream->getLiteral(lit).getSatVariable());
}
void PropEngine::printSatisfyingAssignment(){
- const CnfStream::TranslationCache& transCache =
+ const CnfStream::NodeToLiteralMap& transCache =
d_cnfStream->getTranslationCache();
Debug("prop-value") << "Literal | Value | Expr" << endl
<< "----------------------------------------"
<< "-----------------" << endl;
- for(CnfStream::TranslationCache::const_iterator i = transCache.begin(),
+ for(CnfStream::NodeToLiteralMap::const_iterator i = transCache.begin(),
end = transCache.end();
i != end;
++i) {
- pair<Node, CnfStream::TranslationInfo> curr = *i;
- SatLiteral l = curr.second.literal;
+ pair<Node, SatLiteral> curr = *i;
+ SatLiteral l = curr.second;
if(!l.isNegated()) {
Node n = curr.first;
SatValue value = d_satSolver->modelValue(l);
return d_cnfStream->hasLiteral(node);
}
-bool PropEngine::isTranslatedSatLiteral(TNode node) const {
- return d_cnfStream->isTranslated(node);
-}
-
bool PropEngine::hasValue(TNode node, bool& value) const {
Assert(node.getType().isBoolean());
Assert(d_cnfStream->hasLiteral(node));
*/
bool isSatLiteral(TNode node) const;
- /**
- * Return true if node has an associated SAT literal that is
- * currently translated (i.e., it's relevant to the current
- * user push/pop level).
- */
- bool isTranslatedSatLiteral(TNode node) const;
-
/**
* Check if the node has a value and return it if yes.
*/
/** Call modelValue() when the search is done.*/
virtual SatValue modelValue(SatLiteral l) = 0;
- virtual void unregisterVar(SatLiteral lit) = 0;
-
- virtual void renewVar(SatLiteral lit, int level = -1) = 0;
-
+ /** Get the current assertion level */
virtual unsigned getAssertionLevel() const = 0;
};/* class SatSolver */
return d_theoryEngine->needCheck();
}
-void TheoryProxy::removeClausesAboveLevel(int level) {
- d_cnfStream->removeClausesAboveLevel(level);
-}
-
TNode TheoryProxy::getNode(SatLiteral lit) {
return d_cnfStream->getNode(lit);
}
bool theoryNeedCheck() const;
- void removeClausesAboveLevel(int level);
-
/**
* Notifies of a new variable at a decision level.
*/
void variableNotify(SatVariable var);
- void unregisterVar(SatLiteral lit);
-
- void renewVar(SatLiteral lit, int level = -1);
-
TNode getNode(SatLiteral lit);
void notifyRestart();
Node atom_definition = mkNode(kind::IFF, node, atom_bb);
if (!options::bitvectorEagerBitblast()) {
- d_cnfStream->convertAndAssert(atom_definition, true, false);
+ d_cnfStream->convertAndAssert(atom_definition, false, false);
d_bitblastedAtoms.insert(node);
} else {
d_bvOutput->lemma(atom_definition, false);
LogicInfo::LogicInfo() :
d_logicString(""),
- d_theories(),
+ d_theories(THEORY_LAST, false),
d_sharingTheories(0),
d_integers(true),
d_reals(true),
d_locked(false) {
for(TheoryId id = THEORY_FIRST; id < THEORY_LAST; ++id) {
- d_theories[id] = false;// ensure it's cleared
enableTheory(id);
}
}
LogicInfo::LogicInfo(std::string logicString) throw(IllegalArgumentException) :
d_logicString(""),
- d_theories(),
+ d_theories(THEORY_LAST, false),
d_sharingTheories(0),
d_integers(false),
d_reals(false),
LogicInfo::LogicInfo(const char* logicString) throw(IllegalArgumentException) :
d_logicString(""),
- d_theories(),
+ d_theories(THEORY_LAST, false),
d_sharingTheories(0),
d_integers(false),
d_reals(false),
#define __CVC4__LOGIC_INFO_H
#include <string>
+#include <vector>
#include "expr/kind.h"
namespace CVC4 {
*/
class CVC4_PUBLIC LogicInfo {
mutable std::string d_logicString; /**< an SMT-LIB-like logic string */
- bool d_theories[theory::THEORY_LAST]; /**< set of active theories */
+ std::vector<bool> d_theories; /**< set of active theories */
size_t d_sharingTheories; /**< count of theories that need sharing */
// for arithmetic
Debug("theory") << "TheoryEngine::check(" << effort << "): done, we are " << (d_inConflict ? "unsat" : "sat") << (d_lemmasAdded ? " with new lemmas" : " with no new lemmas") << std::endl;
} catch(const theory::Interrupted&) {
- Trace("theory") << "TheoryEngine::check() => conflict" << endl;
+ Trace("theory") << "TheoryEngine::check() => interrupted" << endl;
}
// If fulleffort, check all theories
}
bool TheoryEngine::properPropagation(TNode lit) const {
- if(!getPropEngine()->isTranslatedSatLiteral(lit)) {
+ if(!getPropEngine()->isSatLiteral(lit)) {
return false;
}
bool b;
-SUBDIRS = .
+SUBDIRS = boolean arith .
BINARY = cvc4
LOG_COMPILER = @srcdir@/../../run_regression
--- /dev/null
+topdir = ../../../../..
+srcdir = test/regress/regress0/push-pop/arith
+
+include $(topdir)/Makefile.subdir
+
+# synonyms for "check"
+.PHONY: test
+test: check
--- /dev/null
+SUBDIRS = .
+
+BINARY = cvc4
+LOG_COMPILER = @srcdir@/../../../run_regression
+AM_LOG_FLAGS = $(RUN_REGRESSION_ARGS) @top_builddir@/src/main/$(BINARY)
+
+if AUTOMAKE_1_11
+# old-style (pre-automake 1.12) test harness
+TESTS_ENVIRONMENT = \
+ $(TESTS_ENVIRONMENT) $(LOG_COMPILER) \
+ $(AM_LOG_FLAGS) $(LOG_FLAGS)
+endif
+
+MAKEFLAGS = -k
+
+# These are run for all build profiles.
+# If a test shouldn't be run in e.g. competition mode,
+# put it below in "TESTS +="
+
+# Regression tests for SMT inputs
+CVC_TESTS =
+
+SMT2_TESTS = \
+ fuzz_3_10.smt2 \
+ fuzz_3_11.smt2 \
+ fuzz_3_12.smt2 \
+ fuzz_3_13.smt2 \
+ fuzz_3_14.smt2 \
+ fuzz_3_15.smt2 \
+ fuzz_3_1.smt2 \
+ fuzz_3_2.smt2 \
+ fuzz_3_3.smt2 \
+ fuzz_3_4.smt2 \
+ fuzz_3_5.smt2 \
+ fuzz_3_6.smt2 \
+ fuzz_3_7.smt2 \
+ fuzz_3_8.smt2 \
+ fuzz_3_9.smt2 \
+ fuzz_5_1.smt2 \
+ fuzz_5_2.smt2 \
+ fuzz_5_3.smt2 \
+ fuzz_5_4.smt2 \
+ fuzz_5_5.smt2 \
+ fuzz_5_6.smt2
+
+BUG_TESTS =
+
+TESTS = $(SMT_TESTS) $(SMT2_TESTS) $(CVC_TESTS) $(BUG_TESTS)
+
+EXTRA_DIST = $(TESTS)
+
+# synonyms for "check" in this directory
+.PHONY: regress regress0 test
+regress regress0 test: check
+
+# do nothing in this subdir
+.PHONY: regress1 regress2 regress3
+regress1 regress2 regress3:
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (not (<= (+ (* (- 24) x0 ) (* (- 15) x2 ) (* (- 18) x2 ) ) 2)) (not (< (+ (* (- 21) x2 ) (* 6 x2 ) ) (- 11))) (> (+ (* (- 3) x0 ) (* 8 x1 ) ) 11) ))
+(assert (not (> (+ (* (- 4) x2 ) (* (- 23) x2 ) ) (- 26))) )
+(assert (or (not (< (+ (* 35 x2 ) (* 40 x0 ) (* 38 x0 ) ) (- 4))) (not (<= (+ (* 46 x0 ) (* (- 16) x1 ) ) (- 44))) (> (+ (* 33 x2 ) (* (- 47) x2 ) (* (- 38) x0 ) ) 32) ))
+(assert (or (<= (+ (* 49 x2 ) (* 42 x0 ) (* 36 x0 ) (* (- 15) x0 ) ) 41) (not (= (+ (* 5 x2 ) (* (- 2) x0 ) ) (- 23))) ))
+(assert (or (< (+ (* 9 x1 ) (* (- 16) x1 ) (* 47 x2 ) (* 2 x0 ) ) (- 18)) (not (>= (+ (* 43 x0 ) (* (- 24) x1 ) ) (- 22))) (not (< (+ (* (- 37) x1 ) (* (- 27) x2 ) (* (- 40) x0 ) (* (- 34) x0 ) ) (- 42))) ))
+(assert (or (not (<= (+ (* (- 26) x1 ) (* (- 20) x0 ) ) 26)) (<= (+ (* 24 x0 ) (* (- 40) x2 ) ) (- 50)) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* (- 23) x0 ) (* 25 x2 ) ) 47) (not (>= (+ (* (- 3) x0 ) (* 20 x1 ) (* (- 22) x0 ) ) 4)) (<= (+ (* (- 14) x0 ) (* 32 x2 ) (* 2 x0 ) (* 13 x1 ) ) (- 3)) ))
+(assert (or (>= (+ (* (- 6) x0 ) (* (- 22) x2 ) ) (- 41)) (not (< (+ (* 26 x0 ) (* 15 x1 ) ) 6)) ))
+(assert (<= (+ (* (- 14) x2 ) (* (- 39) x0 ) (* (- 31) x1 ) ) 24) )
+(assert (or (> (+ (* (- 27) x2 ) (* (- 35) x1 ) ) (- 46)) (< (+ (* (- 41) x0 ) (* 46 x1 ) (* 16 x2 ) (* (- 31) x2 ) ) 29) (not (<= (+ (* (- 44) x2 ) (* 46 x0 ) (* (- 33) x1 ) ) (- 14))) ))
+(check-sat)
+(assert (not (>= (+ (* 23 x2 ) (* 5 x1 ) ) (- 16))) )
+(assert (or (>= (+ (* (- 3) x0 ) (* 3 x1 ) (* 44 x0 ) ) (- 39)) (> (+ (* 28 x1 ) (* 26 x1 ) (* (- 22) x2 ) (* (- 36) x2 ) ) 27) (not (= (+ (* 16 x0 ) (* 41 x2 ) (* 16 x2 ) ) (- 47))) ))
+(check-sat)
+(pop 1)
+(assert (not (<= (+ (* (- 28) x1 ) (* (- 11) x0 ) (* 9 x0 ) (* (- 4) x0 ) ) 23)) )
+(assert (not (< (+ (* 16 x1 ) (* (- 18) x2 ) ) 34)) )
+(assert (or (> (+ (* (- 41) x0 ) (* (- 12) x2 ) ) 11) (>= (+ (* 11 x1 ) (* 26 x0 ) (* 11 x1 ) (* 43 x1 ) ) 8) ))
+(assert (or (> (+ (* 17 x2 ) (* (- 35) x2 ) ) 49) (not (= (+ (* 2 x0 ) (* 32 x1 ) (* 40 x1 ) (* 1 x0 ) ) (- 6))) (> (+ (* (- 18) x1 ) (* (- 40) x0 ) (* (- 40) x0 ) ) (- 36)) ))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (not (<= (+ (* 30 x2 ) (* 34 x2 ) (* 16 x2 ) ) 30)) (not (>= (+ (* (- 7) x1 ) (* 5 x1 ) ) (- 36))) ))
+(assert (= (+ (* (- 33) x2 ) (* (- 46) x0 ) (* (- 32) x1 ) ) (- 30)) )
+(assert (or (>= (+ (* (- 35) x1 ) (* (- 29) x1 ) (* 30 x1 ) (* 20 x1 ) ) 27) (> (+ (* 30 x1 ) (* 33 x0 ) ) 16) (= (+ (* (- 28) x2 ) (* 7 x1 ) (* 8 x0 ) ) 37) ))
+(assert (or (< (+ (* 6 x2 ) (* (- 12) x1 ) ) (- 14)) (not (<= (+ (* (- 23) x1 ) (* 44 x1 ) ) 9)) (not (<= (+ (* (- 18) x2 ) (* 16 x0 ) (* 47 x0 ) ) 25)) ))
+(assert (or (< (+ (* (- 8) x1 ) (* 12 x2 ) (* 23 x1 ) ) (- 50)) (not (> (+ (* 37 x1 ) (* (- 30) x2 ) (* 1 x0 ) (* 13 x1 ) ) (- 22))) ))
+(check-sat)
+(push 1)
+(assert (or (not (= (+ (* (- 3) x0 ) (* (- 49) x1 ) ) 25)) (<= (+ (* 47 x2 ) (* 9 x0 ) ) (- 5)) ))
+(assert (or (not (< (+ (* 34 x0 ) (* 28 x0 ) (* 36 x0 ) (* 1 x0 ) ) (- 9))) (>= (+ (* (- 4) x2 ) (* 15 x1 ) (* (- 35) x0 ) (* (- 2) x1 ) ) (- 20)) ))
+(assert (not (<= (+ (* (- 4) x1 ) (* 22 x1 ) (* 22 x2 ) (* (- 33) x0 ) ) 12)) )
+(check-sat)
+(pop 1)
+(assert (<= (+ (* 36 x0 ) (* (- 25) x2 ) (* 48 x2 ) (* (- 14) x1 ) ) (- 9)) )
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (= (+ (* 25 x1 ) (* (- 35) x1 ) ) 3) (> (+ (* 31 x1 ) (* (- 25) x2 ) (* 24 x1 ) (* (- 37) x2 ) ) 37) ))
+(assert (or (= (+ (* (- 18) x1 ) (* (- 42) x0 ) (* (- 41) x2 ) ) 18) (= (+ (* (- 34) x2 ) (* 14 x0 ) (* 33 x0 ) (* (- 40) x2 ) ) (- 34)) ))
+(assert (or (>= (+ (* (- 45) x1 ) (* (- 21) x1 ) ) 30) (>= (+ (* 6 x2 ) (* (- 32) x0 ) (* (- 38) x0 ) ) 4) ))
+(assert (or (not (< (+ (* (- 39) x2 ) (* (- 47) x2 ) ) 23)) (>= (+ (* 12 x2 ) (* 32 x1 ) (* (- 46) x2 ) ) 13) (not (= (+ (* 48 x2 ) (* 26 x1 ) (* 45 x2 ) ) (- 10))) ))
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* (- 34) x2 ) (* (- 24) x1 ) ) 39)) (<= (+ (* 34 x1 ) (* (- 35) x0 ) (* (- 13) x1 ) (* 2 x2 ) ) (- 2)) ))
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* (- 12) x0 ) (* 37 x1 ) (* (- 30) x0 ) ) (- 43))) (> (+ (* 28 x0 ) (* (- 49) x1 ) ) (- 22)) ))
+(check-sat)
+(pop 1)
+(assert (or (not (>= (+ (* 49 x1 ) (* (- 19) x2 ) ) (- 4))) (not (< (+ (* (- 50) x2 ) (* (- 18) x1 ) ) (- 11))) (not (< (+ (* 43 x0 ) (* 11 x1 ) (* 26 x0 ) (* (- 46) x2 ) ) (- 11))) ))
+(assert (or (< (+ (* 38 x0 ) (* (- 19) x1 ) ) (- 31)) (= (+ (* (- 15) x0 ) (* 28 x2 ) (* 9 x2 ) ) (- 43)) ))
+(assert (or (>= (+ (* (- 4) x0 ) (* 20 x1 ) (* (- 30) x1 ) (* 17 x0 ) ) (- 13)) (< (+ (* 6 x0 ) (* (- 22) x2 ) (* (- 37) x1 ) (* (- 1) x2 ) ) (- 50)) ))
+(assert (or (not (< (+ (* 33 x1 ) (* (- 30) x2 ) (* (- 18) x1 ) ) (- 32))) (> (+ (* 26 x0 ) (* (- 21) x1 ) ) 46) ))
+(assert (or (not (<= (+ (* 3 x0 ) (* (- 19) x2 ) (* (- 50) x1 ) (* 31 x2 ) ) 23)) (= (+ (* 46 x0 ) (* 47 x1 ) (* (- 38) x2 ) (* 32 x0 ) ) 30) (<= (+ (* (- 44) x1 ) (* 32 x0 ) (* 29 x1 ) ) 19) ))
+(assert (not (= (+ (* (- 21) x1 ) (* (- 4) x0 ) (* 38 x1 ) (* 17 x1 ) ) 35)) )
+(assert (or (<= (+ (* (- 42) x1 ) (* 8 x0 ) (* 37 x1 ) ) (- 33)) (not (> (+ (* 40 x0 ) (* 41 x0 ) (* 4 x1 ) (* (- 17) x2 ) ) 33)) ))
+(assert (or (not (<= (+ (* (- 26) x2 ) (* 25 x0 ) (* 42 x0 ) (* 40 x2 ) ) 2)) (> (+ (* (- 33) x2 ) (* 18 x2 ) ) 47) ))
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* 13 x2 ) (* (- 16) x2 ) (* (- 18) x0 ) ) (- 15))) (not (< (+ (* 1 x0 ) (* 0 x2 ) (* (- 3) x2 ) (* 43 x0 ) ) 30)) (not (> (+ (* 10 x2 ) (* 36 x1 ) ) (- 17))) ))
+(assert (or (not (< (+ (* (- 34) x0 ) (* (- 19) x1 ) (* 31 x0 ) (* 11 x1 ) ) 34)) (= (+ (* (- 45) x2 ) (* 48 x2 ) (* (- 43) x1 ) ) (- 44)) (>= (+ (* 16 x2 ) (* 10 x2 ) (* (- 21) x1 ) ) 23) ))
+(check-sat)
+(pop 1)
+(assert (or (< (+ (* 27 x1 ) (* 6 x2 ) ) 13) (not (<= (+ (* 11 x1 ) (* 19 x0 ) (* (- 41) x0 ) (* (- 29) x1 ) ) (- 6))) (not (= (+ (* (- 16) x2 ) (* (- 8) x1 ) ) 2)) ))
+(assert (or (= (+ (* (- 48) x1 ) (* (- 26) x1 ) (* (- 30) x0 ) ) 39) (>= (+ (* 21 x1 ) (* 25 x2 ) (* (- 35) x1 ) ) (- 2)) (= (+ (* (- 4) x1 ) (* 46 x0 ) (* 23 x2 ) ) 38) ))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (> (+ (* (- 45) x0 ) (* 2 x2 ) (* (- 18) x1 ) (* 12 x2 ) ) (- 39))) (not (< (+ (* 12 x1 ) (* (- 34) x2 ) (* (- 6) x2 ) (* (- 11) x1 ) ) 14)) ))
+(assert (or (<= (+ (* (- 4) x0 ) (* (- 42) x2 ) (* (- 22) x0 ) ) 15) (not (= (+ (* (- 24) x0 ) (* (- 4) x2 ) ) (- 18))) (>= (+ (* 43 x2 ) (* (- 47) x1 ) (* 22 x0 ) (* 4 x1 ) ) (- 33)) ))
+(assert (or (not (<= (+ (* (- 10) x0 ) (* (- 4) x0 ) (* 40 x0 ) ) 47)) (not (= (+ (* 8 x0 ) (* (- 35) x0 ) ) 6)) (not (< (+ (* 13 x1 ) (* (- 1) x2 ) (* 16 x2 ) (* 6 x1 ) ) (- 43))) ))
+(assert (or (<= (+ (* 35 x2 ) (* 39 x0 ) (* 25 x1 ) (* 46 x0 ) ) 9) (= (+ (* (- 40) x2 ) (* (- 2) x2 ) (* 17 x2 ) (* (- 48) x1 ) ) 18) ))
+(assert (or (> (+ (* (- 47) x2 ) (* (- 24) x2 ) (* (- 25) x0 ) ) 13) (= (+ (* (- 41) x2 ) (* (- 3) x0 ) (* (- 6) x2 ) ) (- 13)) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (= (+ (* (- 7) x2 ) (* 6 x0 ) ) (- 1)) )
+(assert (or (> (+ (* 21 x0 ) (* (- 48) x0 ) (* (- 39) x0 ) (* (- 3) x2 ) ) (- 48)) (< (+ (* 12 x2 ) (* 26 x1 ) (* 40 x2 ) ) (- 10)) ))
+(check-sat)
+(push 1)
+(assert (or (= (+ (* (- 23) x2 ) (* 31 x2 ) ) 23) (< (+ (* 26 x0 ) (* 45 x0 ) (* (- 17) x1 ) (* (- 38) x2 ) ) (- 31)) (not (>= (+ (* 21 x1 ) (* (- 12) x2 ) ) (- 38))) ))
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* 26 x1 ) (* (- 40) x1 ) (* 22 x0 ) ) 8)) )
+(assert (or (not (>= (+ (* 20 x0 ) (* 0 x0 ) (* 29 x1 ) ) (- 14))) (< (+ (* 12 x1 ) (* (- 25) x2 ) ) (- 50)) ))
+(check-sat)
+(pop 1)
+(assert (or (= (+ (* 37 x1 ) (* (- 10) x1 ) (* (- 50) x1 ) (* (- 15) x1 ) ) 21) (not (< (+ (* (- 27) x0 ) (* 4 x0 ) ) (- 8))) ))
+(assert (or (= (+ (* 0 x1 ) (* (- 43) x0 ) (* 32 x1 ) (* 16 x0 ) ) 11) (not (> (+ (* 20 x2 ) (* (- 11) x2 ) (* (- 14) x0 ) ) (- 43))) (= (+ (* 30 x1 ) (* (- 18) x2 ) (* 0 x1 ) (* (- 32) x0 ) ) (- 5)) ))
+(assert (> (+ (* 43 x2 ) (* (- 3) x0 ) ) 4) )
+(assert (> (+ (* 44 x0 ) (* 4 x2 ) ) (- 41)) )
+(check-sat)
+(pop 1)
+(assert (or (< (+ (* 17 x0 ) (* 11 x0 ) (* 45 x1 ) ) (- 38)) (> (+ (* 49 x1 ) (* (- 9) x2 ) (* 7 x2 ) (* 3 x2 ) ) (- 20)) (not (< (+ (* 10 x2 ) (* 31 x0 ) ) (- 38))) ))
+(assert (not (>= (+ (* (- 43) x2 ) (* (- 8) x1 ) (* (- 8) x0 ) ) 34)) )
+(assert (not (>= (+ (* (- 42) x1 ) (* (- 40) x0 ) (* (- 22) x0 ) (* (- 37) x2 ) ) 21)) )
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (<= (+ (* 49 x2 ) (* 24 x0 ) (* (- 41) x0 ) ) 40) (not (>= (+ (* 9 x2 ) (* 2 x1 ) (* 48 x1 ) (* 6 x2 ) ) 48)) ))
+(assert (or (not (= (+ (* (- 2) x0 ) (* 22 x0 ) (* (- 37) x0 ) ) 29)) (not (= (+ (* (- 27) x1 ) (* (- 47) x0 ) ) 39)) ))
+(assert (or (not (>= (+ (* (- 5) x2 ) (* (- 39) x0 ) (* (- 28) x2 ) ) 47)) (not (= (+ (* (- 25) x2 ) (* (- 1) x0 ) (* (- 26) x2 ) ) (- 35))) (not (<= (+ (* (- 26) x1 ) (* (- 31) x0 ) ) (- 22))) ))
+(assert (or (> (+ (* 27 x1 ) (* (- 38) x0 ) (* 43 x2 ) (* (- 13) x0 ) ) 41) (>= (+ (* 34 x2 ) (* 1 x2 ) (* (- 20) x1 ) (* 21 x1 ) ) (- 40)) ))
+(assert (> (+ (* (- 28) x1 ) (* 48 x1 ) (* (- 24) x1 ) (* 7 x1 ) ) 41) )
+(check-sat)
+(push 1)
+(assert (<= (+ (* (- 42) x1 ) (* 25 x0 ) (* (- 47) x2 ) (* 4 x0 ) ) (- 15)) )
+(check-sat)
+(push 1)
+(assert (or (not (= (+ (* (- 15) x0 ) (* (- 4) x1 ) (* (- 4) x1 ) ) 24)) (not (< (+ (* (- 35) x0 ) (* (- 45) x1 ) (* (- 8) x2 ) (* 19 x2 ) ) 19)) ))
+(assert (or (not (< (+ (* (- 39) x1 ) (* 15 x0 ) (* 37 x0 ) ) (- 7))) (<= (+ (* 24 x0 ) (* 20 x0 ) (* 43 x1 ) ) 13) ))
+(assert (or (< (+ (* 19 x1 ) (* (- 25) x1 ) ) 8) (> (+ (* 44 x0 ) (* (- 41) x0 ) ) 9) (>= (+ (* 20 x0 ) (* 10 x2 ) (* 23 x0 ) ) 32) ))
+(assert (or (>= (+ (* (- 12) x0 ) (* 17 x2 ) ) (- 43)) (not (> (+ (* 25 x1 ) (* (- 38) x2 ) (* (- 10) x0 ) ) 24)) ))
+(assert (or (not (< (+ (* (- 50) x2 ) (* 43 x0 ) (* (- 37) x2 ) (* (- 5) x0 ) ) (- 40))) (= (+ (* (- 16) x2 ) (* 6 x2 ) ) (- 11)) (> (+ (* 48 x0 ) (* 29 x1 ) ) 40) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* 1 x1 ) (* (- 24) x0 ) (* (- 2) x1 ) ) 21) (not (> (+ (* (- 42) x0 ) (* 40 x0 ) ) (- 33))) ))
+(assert (or (not (> (+ (* 23 x0 ) (* (- 14) x2 ) (* (- 23) x0 ) (* (- 37) x0 ) ) 25)) (not (<= (+ (* 12 x2 ) (* 24 x1 ) (* (- 25) x0 ) ) 3)) ))
+(check-sat)
+(pop 1)
+(assert (<= (+ (* 19 x0 ) (* 23 x0 ) (* (- 9) x1 ) (* (- 31) x1 ) ) 27) )
+(assert (or (> (+ (* 33 x1 ) (* (- 24) x1 ) (* (- 48) x2 ) (* (- 42) x1 ) ) 30) (not (<= (+ (* (- 36) x1 ) (* 5 x1 ) ) (- 36))) ))
+(assert (or (not (>= (+ (* 20 x1 ) (* 29 x1 ) (* 48 x2 ) ) 40)) (not (> (+ (* (- 26) x2 ) (* 23 x1 ) (* (- 14) x0 ) ) 32)) ))
+(assert (>= (+ (* 31 x2 ) (* 43 x1 ) ) 28) )
+(assert (or (= (+ (* 21 x2 ) (* (- 30) x1 ) (* 28 x1 ) (* 43 x0 ) ) 39) (not (<= (+ (* (- 3) x0 ) (* (- 49) x0 ) (* 9 x0 ) (* 24 x2 ) ) 14)) (not (> (+ (* 35 x1 ) (* (- 6) x2 ) (* 37 x0 ) ) 3)) ))
+(assert (or (not (<= (+ (* 46 x0 ) (* 11 x1 ) ) 40)) (not (= (+ (* 3 x1 ) (* 49 x1 ) ) (- 38))) ))
+(assert (not (<= (+ (* (- 39) x2 ) (* 23 x1 ) ) 5)) )
+(assert (or (not (< (+ (* 44 x1 ) (* (- 23) x1 ) (* 26 x1 ) ) 39)) (> (+ (* 14 x2 ) (* 2 x2 ) (* (- 5) x2 ) ) (- 22)) ))
+(assert (not (<= (+ (* (- 15) x2 ) (* 17 x2 ) (* 19 x1 ) ) 30)) )
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (> (+ (* (- 34) x2 ) (* 33 x1 ) (* (- 6) x1 ) (* (- 44) x1 ) ) (- 40)) (not (= (+ (* 7 x0 ) (* (- 27) x2 ) (* 10 x0 ) (* (- 42) x1 ) ) 7)) ))
+(assert (or (< (+ (* (- 39) x1 ) (* 32 x1 ) (* 42 x1 ) (* 18 x1 ) ) 26) (not (= (+ (* (- 23) x2 ) (* 17 x1 ) ) (- 39))) ))
+(assert (or (>= (+ (* (- 45) x0 ) (* (- 40) x1 ) (* (- 29) x0 ) (* (- 2) x0 ) ) 22) (not (>= (+ (* 11 x1 ) (* (- 42) x1 ) (* (- 21) x0 ) ) 41)) (not (= (+ (* 30 x2 ) (* (- 13) x2 ) (* 21 x1 ) (* (- 16) x2 ) ) 36)) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (= (+ (* 20 x2 ) (* 13 x2 ) (* (- 10) x0 ) ) (- 34)) (> (+ (* 23 x1 ) (* 10 x1 ) ) 49) (not (< (+ (* 28 x0 ) (* 22 x2 ) (* 6 x2 ) ) 13)) ))
+(assert (or (not (< (+ (* (- 37) x2 ) (* (- 22) x1 ) (* 6 x1 ) ) 18)) (= (+ (* (- 20) x1 ) (* 32 x2 ) (* 16 x1 ) ) (- 49)) ))
+(assert (or (>= (+ (* (- 2) x2 ) (* (- 23) x1 ) (* 39 x2 ) (* 35 x2 ) ) (- 8)) (not (<= (+ (* (- 19) x2 ) (* (- 43) x2 ) (* 22 x1 ) (* (- 27) x1 ) ) (- 48))) (not (= (+ (* (- 44) x1 ) (* 39 x1 ) (* 28 x2 ) ) (- 35))) ))
+(assert (or (not (<= (+ (* (- 47) x1 ) (* (- 22) x2 ) (* 43 x2 ) ) (- 5))) (not (>= (+ (* (- 45) x2 ) (* (- 35) x2 ) (* 44 x0 ) ) (- 14))) ))
+(assert (or (not (>= (+ (* (- 7) x1 ) (* (- 24) x2 ) (* 49 x1 ) ) (- 27))) (< (+ (* 48 x1 ) (* 19 x0 ) ) (- 6)) (not (< (+ (* 39 x0 ) (* 48 x1 ) ) 7)) ))
+(assert (or (<= (+ (* (- 11) x2 ) (* 29 x0 ) ) (- 16)) (not (< (+ (* 31 x1 ) (* 5 x2 ) ) 44)) (>= (+ (* 0 x1 ) (* 42 x2 ) (* 27 x1 ) ) (- 17)) ))
+(assert (not (< (+ (* 49 x1 ) (* 1 x0 ) ) 40)) )
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* 40 x2 ) (* (- 42) x1 ) (* 1 x0 ) (* 0 x0 ) ) 24)) (not (> (+ (* (- 27) x0 ) (* 46 x1 ) (* (- 48) x0 ) (* 29 x0 ) ) 11)) ))
+(check-sat)
+(pop 1)
+(assert (not (< (+ (* 16 x1 ) (* (- 26) x0 ) (* (- 6) x0 ) ) 34)) )
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (not (<= (+ (* (- 3) x0 ) (* 38 x0 ) (* 34 x1 ) ) (- 5))) )
+(assert (or (not (> (+ (* (- 27) x0 ) (* 26 x1 ) ) (- 50))) (not (>= (+ (* 32 x0 ) (* 10 x0 ) (* (- 43) x1 ) (* (- 39) x0 ) ) (- 36))) ))
+(check-sat)
+(push 1)
+(assert (> (+ (* (- 23) x2 ) (* 49 x2 ) ) 14) )
+(assert (not (= (+ (* 20 x1 ) (* (- 38) x2 ) ) 33)) )
+(assert (not (<= (+ (* 30 x0 ) (* (- 13) x1 ) (* 21 x1 ) ) 20)) )
+(assert (or (<= (+ (* 48 x0 ) (* (- 42) x0 ) (* 34 x1 ) (* 47 x1 ) ) 12) (not (>= (+ (* 0 x1 ) (* (- 1) x1 ) (* (- 19) x1 ) ) 40)) (not (>= (+ (* (- 40) x2 ) (* 3 x2 ) (* 4 x0 ) (* 19 x2 ) ) 34)) ))
+(assert (or (= (+ (* (- 7) x1 ) (* 15 x0 ) (* (- 12) x0 ) ) 6) (not (<= (+ (* (- 41) x2 ) (* 10 x0 ) (* 12 x2 ) ) 49)) ))
+(assert (or (<= (+ (* 12 x2 ) (* (- 50) x1 ) ) (- 25)) (= (+ (* (- 29) x2 ) (* (- 11) x2 ) (* (- 8) x2 ) (* (- 3) x2 ) ) (- 39)) ))
+(assert (or (= (+ (* 33 x2 ) (* 44 x0 ) (* (- 4) x1 ) ) 5) (not (< (+ (* 27 x2 ) (* (- 45) x0 ) (* 43 x2 ) (* 40 x0 ) ) 17)) (not (<= (+ (* (- 40) x2 ) (* 3 x0 ) (* 16 x2 ) (* (- 37) x1 ) ) 29)) ))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (= (+ (* (- 21) x0 ) (* 5 x2 ) ) (- 27)) (not (<= (+ (* (- 20) x0 ) (* 19 x0 ) (* (- 50) x1 ) (* (- 24) x0 ) ) (- 32))) ))
+(check-sat)
+(pop 1)
+(assert (not (<= (+ (* 9 x2 ) (* 0 x0 ) (* (- 40) x0 ) (* 49 x2 ) ) (- 11))) )
+(assert (or (not (< (+ (* (- 2) x0 ) (* 2 x2 ) ) 19)) (= (+ (* (- 28) x1 ) (* (- 1) x2 ) (* (- 4) x1 ) ) 38) ))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (not (>= (+ (* 47 x0 ) (* (- 1) x2 ) (* 13 x2 ) ) (- 9))) (not (< (+ (* 23 x1 ) (* (- 50) x0 ) (* 35 x1 ) (* 12 x2 ) ) 14)) ))
+(assert (or (not (<= (+ (* 3 x0 ) (* (- 15) x2 ) (* 34 x0 ) ) (- 39))) (not (> (+ (* (- 35) x0 ) (* 36 x2 ) (* (- 3) x1 ) ) 22)) (not (> (+ (* 46 x2 ) (* 2 x2 ) (* (- 33) x1 ) (* (- 24) x0 ) ) (- 39))) ))
+(assert (or (<= (+ (* 27 x1 ) (* 18 x2 ) (* (- 3) x2 ) ) (- 2)) (= (+ (* 27 x0 ) (* (- 26) x2 ) (* 15 x2 ) (* 23 x0 ) ) 11) ))
+(assert (or (= (+ (* 23 x1 ) (* (- 1) x1 ) (* (- 3) x2 ) (* 49 x1 ) ) (- 26)) (not (> (+ (* (- 30) x0 ) (* (- 1) x0 ) (* 15 x1 ) ) (- 23))) ))
+(check-sat)
+(push 1)
+(assert (or (not (= (+ (* 24 x1 ) (* 5 x2 ) (* (- 18) x1 ) (* (- 40) x2 ) ) (- 6))) (not (< (+ (* 6 x0 ) (* (- 29) x0 ) (* 16 x2 ) ) (- 42))) ))
+(assert (or (= (+ (* (- 33) x0 ) (* 40 x0 ) (* (- 28) x1 ) (* (- 29) x0 ) ) (- 1)) (<= (+ (* (- 17) x1 ) (* 0 x0 ) (* 2 x1 ) ) (- 8)) (not (= (+ (* 39 x2 ) (* 4 x0 ) (* 12 x1 ) (* (- 1) x2 ) ) (- 40))) ))
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* 24 x2 ) (* 9 x2 ) (* 38 x0 ) (* 9 x2 ) ) (- 12))) )
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (> (+ (* (- 33) x1 ) (* 1 x0 ) (* (- 27) x1 ) (* (- 39) x1 ) ) 30)) )
+(check-sat)
+(pop 1)
+(assert (not (>= (+ (* (- 36) x1 ) (* 34 x0 ) (* 39 x0 ) (* 2 x2 ) ) 16)) )
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (= (+ (* (- 47) x1 ) (* 42 x2 ) ) (- 13)) (< (+ (* 5 x2 ) (* 8 x2 ) ) 41) (not (= (+ (* (- 20) x2 ) (* (- 3) x2 ) (* 38 x1 ) (* (- 38) x0 ) ) (- 30))) ))
+(assert (or (= (+ (* (- 23) x2 ) (* 29 x2 ) ) (- 30)) (not (>= (+ (* 46 x1 ) (* (- 49) x0 ) (* (- 17) x0 ) (* 17 x0 ) ) 2)) (not (<= (+ (* (- 32) x0 ) (* 23 x0 ) (* (- 5) x1 ) (* (- 50) x2 ) ) (- 46))) ))
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* 36 x2 ) (* 21 x2 ) ) (- 31))) (not (= (+ (* 48 x2 ) (* (- 2) x1 ) (* 32 x0 ) ) 48)) (> (+ (* (- 43) x0 ) (* 7 x2 ) (* 1 x1 ) (* 2 x1 ) ) 15) ))
+(assert (or (not (<= (+ (* (- 27) x1 ) (* 4 x0 ) (* 43 x2 ) ) (- 23))) (not (> (+ (* (- 4) x1 ) (* 31 x2 ) (* 22 x2 ) ) 0)) ))
+(assert (or (not (<= (+ (* 19 x0 ) (* (- 29) x0 ) (* 18 x2 ) (* 6 x0 ) ) 24)) (>= (+ (* 32 x2 ) (* 36 x1 ) (* 41 x1 ) ) 44) ))
+(assert (> (+ (* 30 x0 ) (* (- 9) x2 ) (* (- 22) x0 ) ) 38) )
+(assert (or (>= (+ (* (- 19) x0 ) (* 32 x2 ) (* (- 48) x2 ) ) (- 14)) (>= (+ (* (- 49) x2 ) (* 29 x2 ) (* 15 x1 ) ) (- 34)) ))
+(assert (or (not (< (+ (* (- 6) x0 ) (* (- 43) x1 ) ) 35)) (= (+ (* (- 48) x2 ) (* (- 31) x0 ) ) 34) (not (< (+ (* (- 41) x0 ) (* 45 x2 ) (* (- 17) x1 ) (* (- 38) x2 ) ) 1)) ))
+(assert (or (not (<= (+ (* (- 10) x2 ) (* 45 x1 ) ) 49)) (not (<= (+ (* 38 x2 ) (* 17 x2 ) (* (- 18) x1 ) (* (- 17) x1 ) ) 3)) ))
+(assert (not (= (+ (* 20 x1 ) (* (- 3) x2 ) (* 15 x1 ) ) (- 11))) )
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* (- 24) x1 ) (* 47 x2 ) (* (- 32) x2 ) ) (- 34))) )
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (< (+ (* (- 15) x0 ) (* (- 4) x0 ) (* (- 33) x2 ) ) (- 21)) (<= (+ (* (- 2) x1 ) (* 12 x1 ) (* 48 x1 ) ) (- 21)) (> (+ (* 43 x2 ) (* (- 6) x2 ) ) (- 26)) ))
+(assert (not (<= (+ (* (- 9) x2 ) (* 28 x0 ) (* (- 26) x0 ) ) (- 2))) )
+(assert (or (= (+ (* (- 43) x0 ) (* 49 x1 ) (* (- 49) x0 ) ) 25) (not (= (+ (* 39 x0 ) (* (- 23) x2 ) ) (- 12))) ))
+(assert (or (not (<= (+ (* 13 x1 ) (* (- 17) x1 ) (* (- 27) x0 ) (* (- 24) x0 ) ) (- 47))) (not (<= (+ (* 5 x1 ) (* (- 31) x1 ) (* (- 40) x2 ) ) 28)) ))
+(assert (or (not (< (+ (* (- 7) x2 ) (* (- 24) x0 ) (* 42 x0 ) ) (- 27))) (not (< (+ (* (- 4) x2 ) (* (- 16) x0 ) (* (- 20) x2 ) ) (- 14))) (not (<= (+ (* 2 x2 ) (* 26 x1 ) ) 12)) ))
+(assert (< (+ (* (- 9) x0 ) (* 45 x1 ) (* (- 12) x2 ) ) 37) )
+(assert (or (= (+ (* 23 x2 ) (* 15 x1 ) (* 32 x1 ) (* (- 30) x2 ) ) 30) (>= (+ (* 36 x1 ) (* (- 36) x0 ) (* (- 22) x2 ) (* 36 x1 ) ) 20) ))
+(assert (or (not (< (+ (* (- 22) x2 ) (* 34 x0 ) ) (- 10))) (not (>= (+ (* (- 38) x2 ) (* (- 46) x2 ) ) 34)) (not (>= (+ (* 24 x0 ) (* (- 48) x1 ) (* 7 x0 ) ) (- 19))) ))
+(assert (<= (+ (* (- 49) x2 ) (* (- 18) x0 ) (* 17 x0 ) ) 18) )
+(assert (or (not (<= (+ (* (- 16) x2 ) (* 24 x1 ) (* (- 38) x2 ) ) 33)) (<= (+ (* 29 x2 ) (* (- 22) x1 ) ) (- 19)) ))
+(assert (or (< (+ (* 19 x1 ) (* (- 30) x0 ) ) 39) (= (+ (* (- 47) x0 ) (* 46 x1 ) (* 37 x0 ) ) (- 28)) (not (= (+ (* (- 12) x0 ) (* 19 x0 ) ) 19)) ))
+(assert (or (not (> (+ (* 35 x1 ) (* 35 x0 ) (* 17 x1 ) (* 46 x2 ) ) 46)) (not (>= (+ (* (- 8) x0 ) (* 43 x1 ) (* (- 26) x2 ) ) 21)) (not (< (+ (* (- 29) x1 ) (* (- 10) x2 ) (* (- 35) x1 ) ) 42)) ))
+(check-sat)
+(push 1)
+(assert (or (>= (+ (* 21 x2 ) (* (- 38) x1 ) (* (- 21) x2 ) ) 28) (= (+ (* 28 x1 ) (* 2 x1 ) (* (- 16) x2 ) (* 47 x0 ) ) (- 45)) ))
+(assert (not (= (+ (* 33 x0 ) (* 26 x0 ) (* 33 x1 ) (* (- 41) x2 ) ) 4)) )
+(assert (or (= (+ (* 40 x1 ) (* (- 23) x1 ) (* 27 x0 ) ) (- 19)) (>= (+ (* (- 29) x0 ) (* (- 12) x0 ) (* 42 x0 ) ) (- 30)) ))
+(assert (or (not (<= (+ (* 35 x0 ) (* 40 x2 ) (* (- 46) x0 ) ) (- 35))) (>= (+ (* 34 x0 ) (* 33 x0 ) (* 27 x0 ) (* (- 21) x1 ) ) (- 4)) ))
+(assert (not (<= (+ (* 42 x1 ) (* (- 4) x1 ) (* (- 30) x0 ) (* (- 23) x0 ) ) (- 44))) )
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (>= (+ (* 3 x1 ) (* 41 x2 ) (* (- 28) x1 ) ) (- 49))) )
+(assert (or (not (<= (+ (* (- 29) x1 ) (* (- 5) x2 ) (* 15 x2 ) (* (- 26) x1 ) ) (- 14))) (>= (+ (* (- 47) x1 ) (* (- 31) x1 ) ) 46) ))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (< (+ (* 23 x1 ) (* (- 27) x1 ) (* 22 x0 ) ) (- 22)) )
+(assert (>= (+ (* (- 4) x0 ) (* (- 9) x1 ) (* (- 40) x0 ) (* 40 x2 ) ) (- 27)) )
+(assert (or (not (>= (+ (* (- 34) x0 ) (* (- 36) x1 ) ) (- 26))) (not (>= (+ (* 6 x2 ) (* (- 6) x1 ) ) (- 43))) ))
+(assert (or (>= (+ (* 20 x2 ) (* 12 x0 ) (* (- 50) x1 ) ) (- 46)) (not (> (+ (* 11 x1 ) (* (- 30) x0 ) ) (- 21))) ))
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* (- 17) x2 ) (* 25 x1 ) (* 43 x0 ) (* (- 9) x0 ) ) (- 19))) (> (+ (* 4 x1 ) (* (- 22) x1 ) ) 8) (> (+ (* 19 x1 ) (* (- 1) x1 ) (* (- 22) x1 ) (* (- 47) x2 ) ) 46) ))
+(assert (or (> (+ (* (- 12) x1 ) (* 25 x1 ) ) (- 18)) (not (= (+ (* (- 47) x0 ) (* (- 13) x2 ) (* (- 13) x1 ) (* (- 10) x0 ) ) (- 27))) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* 9 x2 ) (* (- 18) x1 ) (* (- 7) x0 ) (* (- 2) x2 ) ) (- 40))) (< (+ (* 2 x1 ) (* (- 4) x1 ) (* (- 48) x2 ) ) 32) ))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (<= (+ (* (- 10) x2 ) (* (- 20) x1 ) (* 9 x2 ) ) 23)) )
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (= (+ (* 40 x1 ) (* (- 35) x0 ) (* 10 x1 ) ) 4) (not (= (+ (* 38 x1 ) (* 40 x1 ) (* (- 28) x2 ) ) 44)) (< (+ (* (- 46) x1 ) (* (- 18) x0 ) ) 37) ))
+(assert (or (<= (+ (* (- 4) x2 ) (* (- 29) x1 ) ) (- 37)) (not (> (+ (* (- 10) x2 ) (* 13 x0 ) ) (- 21))) ))
+(check-sat)
+(push 1)
+(assert (or (> (+ (* 21 x0 ) (* 13 x2 ) ) 49) (>= (+ (* 19 x2 ) (* 45 x2 ) (* 9 x1 ) ) (- 45)) ))
+(assert (or (= (+ (* (- 17) x0 ) (* 22 x0 ) ) 12) (<= (+ (* 28 x1 ) (* 27 x0 ) (* 39 x0 ) (* (- 49) x2 ) ) (- 9)) ))
+(assert (or (not (<= (+ (* (- 49) x2 ) (* (- 28) x1 ) (* 24 x2 ) ) 47)) (>= (+ (* 13 x2 ) (* 49 x0 ) (* (- 45) x0 ) (* (- 44) x1 ) ) (- 14)) ))
+(assert (or (> (+ (* 9 x1 ) (* 18 x2 ) ) 31) (not (<= (+ (* 10 x2 ) (* 49 x1 ) (* (- 29) x2 ) (* (- 45) x2 ) ) (- 22))) ))
+(assert (not (<= (+ (* 49 x0 ) (* (- 50) x0 ) (* 0 x1 ) ) 40)) )
+(assert (or (> (+ (* 37 x1 ) (* (- 37) x2 ) ) (- 13)) (not (< (+ (* (- 38) x2 ) (* (- 15) x2 ) (* (- 39) x2 ) (* (- 13) x1 ) ) 20)) (>= (+ (* 8 x2 ) (* 47 x1 ) (* (- 21) x2 ) (* 41 x0 ) ) 13) ))
+(assert (or (> (+ (* (- 26) x2 ) (* 9 x0 ) (* (- 47) x1 ) (* (- 30) x0 ) ) (- 12)) (not (>= (+ (* 3 x0 ) (* 24 x0 ) ) (- 10))) ))
+(check-sat)
+(push 1)
+(assert (or (= (+ (* (- 27) x1 ) (* 34 x2 ) (* (- 14) x2 ) (* (- 24) x1 ) ) (- 38)) (<= (+ (* (- 41) x2 ) (* 36 x1 ) (* (- 44) x2 ) (* (- 19) x2 ) ) 9) ))
+(assert (or (not (<= (+ (* (- 2) x1 ) (* (- 7) x1 ) ) 45)) (<= (+ (* (- 39) x0 ) (* (- 18) x2 ) ) (- 13)) ))
+(assert (or (= (+ (* (- 32) x2 ) (* 37 x2 ) ) (- 26)) (< (+ (* 26 x0 ) (* 4 x1 ) ) (- 32)) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (< (+ (* (- 23) x2 ) (* (- 14) x2 ) (* 3 x1 ) ) (- 39)) (not (> (+ (* 48 x1 ) (* 14 x0 ) ) (- 32))) (>= (+ (* (- 10) x0 ) (* (- 46) x0 ) ) 12) ))
+(check-sat)
+(pop 1)
+(assert (< (+ (* (- 41) x1 ) (* (- 42) x1 ) (* 41 x1 ) ) (- 36)) )
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* 25 x1 ) (* (- 37) x2 ) (* (- 48) x1 ) ) (- 37))) (not (<= (+ (* (- 6) x1 ) (* 0 x2 ) (* 22 x1 ) ) (- 25))) ))
+(assert (or (not (> (+ (* 25 x2 ) (* (- 14) x1 ) ) (- 40))) (not (> (+ (* (- 44) x1 ) (* (- 5) x0 ) ) (- 31))) ))
+(assert (or (< (+ (* (- 31) x2 ) (* (- 42) x1 ) (* (- 7) x0 ) (* (- 4) x2 ) ) 18) (<= (+ (* 8 x1 ) (* (- 46) x2 ) ) (- 4)) ))
+(check-sat)
+(push 1)
+(assert (or (> (+ (* (- 45) x1 ) (* 45 x0 ) (* (- 12) x0 ) (* (- 24) x2 ) ) (- 41)) (< (+ (* 17 x2 ) (* 38 x0 ) (* 16 x2 ) ) 40) ))
+(assert (or (< (+ (* 14 x2 ) (* 45 x0 ) (* (- 13) x0 ) (* (- 40) x0 ) ) 44) (= (+ (* (- 28) x1 ) (* (- 34) x1 ) (* (- 1) x0 ) ) 49) ))
+(assert (or (>= (+ (* 2 x0 ) (* 21 x2 ) ) 21) (< (+ (* (- 5) x2 ) (* 41 x1 ) (* (- 16) x1 ) ) 3) ))
+(assert (= (+ (* (- 17) x2 ) (* 34 x1 ) (* (- 20) x0 ) (* (- 47) x2 ) ) (- 39)) )
+(check-sat)
+(push 1)
+(assert (or (< (+ (* 26 x2 ) (* (- 29) x2 ) (* 3 x2 ) (* (- 42) x0 ) ) (- 10)) (not (<= (+ (* 9 x0 ) (* (- 31) x1 ) ) (- 6))) ))
+(assert (or (not (< (+ (* (- 15) x0 ) (* (- 44) x1 ) (* (- 5) x2 ) (* 25 x2 ) ) 38)) (= (+ (* (- 24) x1 ) (* 20 x0 ) (* 8 x0 ) ) (- 10)) (not (> (+ (* (- 35) x1 ) (* (- 14) x2 ) ) 6)) ))
+(assert (or (> (+ (* (- 13) x0 ) (* 10 x2 ) ) (- 16)) (= (+ (* 38 x0 ) (* 38 x2 ) (* 3 x0 ) ) 8) (not (<= (+ (* 18 x1 ) (* (- 26) x0 ) ) (- 14))) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* (- 11) x1 ) (* 42 x1 ) ) (- 50)) (not (> (+ (* (- 24) x0 ) (* 8 x1 ) (* 44 x2 ) (* 27 x0 ) ) 48)) (< (+ (* 2 x0 ) (* 32 x2 ) ) (- 30)) ))
+(assert (>= (+ (* 28 x2 ) (* 29 x1 ) (* (- 7) x2 ) (* 16 x0 ) ) (- 19)) )
+(check-sat)
+(pop 1)
+(assert (or (not (> (+ (* 1 x1 ) (* (- 33) x1 ) (* (- 2) x1 ) ) (- 29))) (>= (+ (* 7 x2 ) (* 4 x0 ) (* 49 x2 ) ) (- 17)) ))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (not (> (+ (* (- 25) x0 ) (* 16 x2 ) ) 21)) (>= (+ (* 18 x1 ) (* (- 35) x0 ) (* 18 x0 ) (* 24 x0 ) ) (- 50)) ))
+(assert (> (+ (* (- 40) x0 ) (* 29 x2 ) ) 9) )
+(check-sat)
+(push 1)
+(assert (or (not (> (+ (* 32 x1 ) (* (- 23) x0 ) (* 46 x2 ) ) 11)) (not (< (+ (* (- 12) x0 ) (* (- 40) x0 ) (* 43 x2 ) (* (- 13) x1 ) ) 49)) ))
+(assert (not (>= (+ (* (- 47) x0 ) (* 24 x1 ) ) 32)) )
+(check-sat)
+(pop 1)
+(assert (or (= (+ (* 8 x0 ) (* 31 x1 ) (* 38 x1 ) ) (- 31)) (<= (+ (* (- 16) x1 ) (* (- 22) x2 ) (* 27 x2 ) (* (- 23) x0 ) ) (- 12)) ))
+(assert (or (not (>= (+ (* 43 x1 ) (* (- 29) x1 ) (* 32 x0 ) (* (- 29) x1 ) ) (- 10))) (>= (+ (* 24 x0 ) (* (- 31) x1 ) ) 34) ))
+(assert (or (not (>= (+ (* (- 39) x2 ) (* (- 48) x2 ) (* (- 46) x0 ) (* 2 x1 ) ) 19)) (not (<= (+ (* (- 44) x0 ) (* (- 36) x2 ) ) (- 23))) ))
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* 37 x1 ) (* 19 x2 ) (* 24 x1 ) (* (- 15) x0 ) ) (- 12))) )
+(assert (or (>= (+ (* (- 24) x0 ) (* (- 29) x0 ) (* 40 x2 ) ) (- 39)) (not (<= (+ (* (- 41) x0 ) (* 40 x2 ) (* 41 x1 ) (* (- 3) x0 ) ) 28)) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (> (+ (* 38 x0 ) (* (- 47) x0 ) (* 19 x0 ) (* 40 x2 ) ) (- 39))) (not (< (+ (* 30 x2 ) (* 39 x1 ) ) (- 28))) ))
+(assert (or (>= (+ (* (- 12) x0 ) (* (- 26) x1 ) (* (- 13) x1 ) ) 28) (> (+ (* (- 10) x0 ) (* (- 32) x1 ) ) 12) ))
+(check-sat)
+(push 1)
+(assert (< (+ (* (- 33) x2 ) (* (- 13) x0 ) ) 42) )
+(assert (or (not (= (+ (* 17 x2 ) (* 4 x2 ) ) 7)) (<= (+ (* 19 x1 ) (* 22 x1 ) (* 19 x1 ) ) 26) (not (<= (+ (* 9 x2 ) (* 0 x0 ) (* 24 x2 ) ) (- 10))) ))
+(assert (< (+ (* 45 x1 ) (* (- 38) x0 ) (* 19 x2 ) (* 17 x1 ) ) (- 14)) )
+(check-sat)
+(pop 1)
+(assert (not (< (+ (* 10 x0 ) (* (- 31) x2 ) (* (- 21) x0 ) ) (- 29))) )
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(assert (or (not (>= (+ (* (- 32) x2 ) (* (- 10) x0 ) (* (- 33) x0 ) (* 16 x1 ) ) (- 35))) (< (+ (* (- 46) x1 ) (* 44 x1 ) (* (- 15) x1 ) (* (- 22) x2 ) ) (- 20)) ))
+(check-sat)
+(push 1)
+(assert (or (not (< (+ (* (- 1) x2 ) (* (- 26) x0 ) ) 32)) (> (+ (* 39 x1 ) (* 31 x1 ) (* (- 16) x0 ) ) 27) ))
+(check-sat)
+(pop 1)
+(assert (or (> (+ (* 46 x1 ) (* 48 x1 ) (* 26 x0 ) ) 12) (= (+ (* 30 x1 ) (* 1 x0 ) (* 8 x2 ) (* 11 x2 ) ) (- 3)) ))
+(assert (<= (+ (* (- 11) x1 ) (* (- 27) x2 ) (* (- 29) x2 ) (* 23 x1 ) ) 19) )
+(assert (not (> (+ (* 15 x0 ) (* 25 x1 ) ) 47)) )
+(assert (<= (+ (* (- 3) x2 ) (* 1 x1 ) (* 36 x1 ) ) (- 27)) )
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* (- 3) x0 ) (* (- 33) x2 ) (* 7 x2 ) (* (- 37) x0 ) ) 13)) )
+(check-sat)
+(pop 1)
+(assert (or (not (> (+ (* 24 x2 ) (* (- 48) x0 ) (* 18 x1 ) ) (- 46))) (not (< (+ (* (- 31) x1 ) (* 18 x0 ) (* (- 32) x0 ) (* (- 9) x0 ) ) 37)) ))
+(assert (or (not (< (+ (* (- 30) x2 ) (* (- 32) x0 ) (* 27 x0 ) ) 28)) (not (= (+ (* (- 20) x2 ) (* (- 10) x2 ) ) (- 3))) (<= (+ (* 42 x0 ) (* 49 x0 ) (* 28 x0 ) (* 0 x2 ) ) (- 30)) ))
+(assert (or (not (<= (+ (* 15 x2 ) (* 22 x2 ) ) (- 7))) (< (+ (* (- 7) x1 ) (* (- 42) x0 ) (* (- 27) x2 ) (* 19 x2 ) ) 15) (< (+ (* (- 25) x1 ) (* 39 x2 ) (* (- 24) x1 ) (* 17 x1 ) ) (- 48)) ))
+(assert (or (= (+ (* (- 49) x0 ) (* 27 x1 ) (* 16 x0 ) (* (- 26) x2 ) ) (- 24)) (<= (+ (* (- 33) x0 ) (* (- 7) x1 ) (* (- 7) x2 ) (* 1 x0 ) ) 34) ))
+(assert (not (<= (+ (* 30 x0 ) (* 17 x0 ) (* (- 48) x0 ) ) 19)) )
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (= (+ (* 24 x2 ) (* 13 x2 ) (* (- 13) x0 ) (* 14 x2 ) ) 8)) (> (+ (* (- 30) x2 ) (* (- 32) x1 ) (* (- 45) x0 ) (* (- 2) x2 ) ) 15) ))
+(assert (or (> (+ (* (- 9) x0 ) (* (- 21) x1 ) ) 3) (not (= (+ (* (- 26) x2 ) (* 3 x0 ) ) (- 10))) ))
+(assert (or (not (> (+ (* (- 20) x0 ) (* 43 x0 ) ) (- 14))) (> (+ (* 13 x1 ) (* (- 38) x1 ) (* 4 x1 ) (* (- 12) x2 ) ) (- 15)) (not (< (+ (* (- 38) x2 ) (* (- 3) x0 ) ) 15)) ))
+(assert (or (>= (+ (* (- 33) x0 ) (* 8 x1 ) (* 16 x0 ) ) 32) (not (<= (+ (* 23 x0 ) (* (- 28) x0 ) (* 30 x1 ) (* 17 x2 ) ) 41)) (>= (+ (* 28 x1 ) (* (- 42) x0 ) ) (- 12)) ))
+(assert (or (not (<= (+ (* 23 x1 ) (* 20 x2 ) (* (- 34) x0 ) (* (- 40) x2 ) ) 28)) (not (= (+ (* 17 x2 ) (* 30 x2 ) ) (- 15))) (<= (+ (* (- 47) x1 ) (* (- 24) x0 ) (* (- 37) x0 ) ) 19) ))
+(assert (or (= (+ (* 14 x0 ) (* (- 22) x1 ) ) 30) (<= (+ (* 28 x1 ) (* 33 x2 ) (* 49 x2 ) ) (- 35)) (<= (+ (* (- 47) x0 ) (* (- 45) x2 ) (* (- 7) x1 ) (* (- 47) x1 ) ) 47) ))
+(check-sat)
+(push 1)
+(assert (or (not (> (+ (* 35 x2 ) (* (- 46) x0 ) ) 26)) (>= (+ (* 3 x1 ) (* 1 x2 ) (* (- 14) x0 ) ) 27) (> (+ (* (- 27) x2 ) (* 20 x2 ) (* 19 x1 ) (* 23 x2 ) ) 39) ))
+(assert (or (not (> (+ (* 20 x0 ) (* 9 x2 ) ) 6)) (not (< (+ (* 19 x1 ) (* (- 45) x1 ) ) (- 45))) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(assert (<= (+ (* 27 x2 ) (* 30 x4 ) ) (- 46)) )
+(assert (or (not (>= (+ (* (- 16) x0 ) (* (- 10) x4 ) (* 21 x3 ) (* (- 46) x0 ) (* 29 x0 ) (* 41 x4 ) (* 32 x0 ) (* 33 x2 ) (* (- 37) x1 ) (* 36 x3 ) (* 18 x3 ) ) (- 34))) (<= (+ (* (- 40) x2 ) (* (- 3) x1 ) (* (- 44) x4 ) (* (- 45) x1 ) (* 20 x1 ) (* 48 x1 ) (* 28 x1 ) (* (- 27) x3 ) (* 35 x4 ) ) (- 45)) ))
+(assert (or (not (= (+ (* (- 41) x2 ) (* 28 x2 ) (* (- 8) x3 ) (* 27 x0 ) (* (- 19) x2 ) (* (- 7) x4 ) ) (- 13))) (< (+ (* (- 26) x3 ) (* (- 44) x4 ) (* 14 x2 ) (* (- 27) x4 ) (* 37 x0 ) (* (- 32) x3 ) (* (- 46) x1 ) (* 23 x2 ) ) 15) ))
+(assert (not (>= (+ (* 31 x1 ) (* (- 15) x1 ) (* 25 x2 ) (* 27 x3 ) (* 23 x1 ) ) (- 48))) )
+(assert (or (< (+ (* (- 38) x2 ) (* 15 x3 ) (* 9 x3 ) (* 25 x0 ) (* 37 x0 ) (* 39 x2 ) (* 41 x1 ) (* (- 18) x3 ) ) (- 26)) (not (> (+ (* 15 x2 ) (* 18 x1 ) (* 35 x3 ) (* 20 x1 ) (* 31 x1 ) (* (- 25) x2 ) (* 30 x3 ) (* 26 x1 ) (* (- 37) x2 ) (* 27 x4 ) (* (- 32) x0 ) ) 16)) ))
+(assert (or (not (= (+ (* 27 x3 ) (* (- 50) x1 ) (* (- 28) x2 ) ) (- 30))) (not (>= (+ (* (- 50) x3 ) (* (- 15) x0 ) (* 15 x3 ) (* 19 x2 ) ) (- 8))) ))
+(assert (or (>= (+ (* 4 x1 ) (* 27 x3 ) (* 15 x3 ) (* (- 39) x4 ) (* (- 45) x4 ) (* 38 x3 ) (* 33 x4 ) (* 40 x1 ) (* (- 26) x2 ) (* 44 x1 ) ) (- 39)) (> (+ (* 4 x0 ) (* (- 26) x3 ) (* (- 24) x2 ) ) (- 40)) ))
+(assert (not (> (+ (* (- 39) x1 ) (* 32 x4 ) ) 19)) )
+(assert (or (= (+ (* (- 13) x1 ) (* (- 16) x3 ) ) 33) (not (> (+ (* 47 x4 ) (* (- 3) x4 ) (* (- 49) x3 ) (* (- 15) x1 ) (* (- 39) x1 ) (* 20 x1 ) (* 44 x4 ) (* 30 x4 ) (* 5 x1 ) (* 49 x4 ) (* 23 x0 ) ) 41)) ))
+(assert (or (< (+ (* 41 x0 ) (* (- 50) x1 ) (* 41 x3 ) (* (- 37) x4 ) (* 27 x4 ) (* (- 32) x4 ) (* (- 43) x3 ) (* (- 46) x3 ) (* (- 28) x3 ) (* 31 x4 ) (* 45 x2 ) ) 31) (not (= (+ (* (- 19) x0 ) (* (- 30) x4 ) (* (- 24) x4 ) (* (- 27) x1 ) (* 2 x1 ) (* 28 x4 ) (* (- 40) x2 ) ) 5)) (>= (+ (* 19 x2 ) (* (- 20) x0 ) (* 35 x1 ) (* (- 29) x2 ) (* (- 5) x0 ) (* (- 49) x1 ) (* (- 9) x4 ) (* 3 x0 ) (* (- 36) x3 ) (* 27 x0 ) ) (- 13)) ))
+(assert (or (> (+ (* 42 x4 ) (* 44 x4 ) (* (- 4) x3 ) (* 38 x3 ) (* (- 43) x2 ) ) (- 25)) (> (+ (* (- 16) x1 ) (* 5 x4 ) (* (- 6) x2 ) ) 11) ))
+(assert (or (> (+ (* 1 x3 ) (* (- 10) x4 ) (* 20 x1 ) (* 20 x4 ) (* (- 26) x4 ) ) (- 33)) (< (+ (* 40 x2 ) (* (- 35) x2 ) ) (- 2)) ))
+(assert (or (<= (+ (* (- 5) x4 ) (* (- 35) x3 ) (* 45 x3 ) (* 44 x0 ) (* (- 31) x1 ) (* (- 50) x4 ) (* 20 x1 ) (* 8 x0 ) (* (- 11) x1 ) (* (- 40) x3 ) (* 27 x0 ) ) 2) (= (+ (* (- 5) x1 ) (* (- 16) x2 ) (* (- 34) x2 ) (* (- 47) x4 ) (* 20 x3 ) (* 48 x3 ) ) 14) ))
+(assert (or (not (< (+ (* 17 x2 ) (* (- 32) x4 ) ) (- 43))) (= (+ (* (- 17) x1 ) (* 30 x4 ) (* 20 x2 ) (* (- 1) x2 ) (* 5 x1 ) (* (- 14) x2 ) (* 2 x3 ) (* 6 x3 ) (* 24 x1 ) (* 23 x3 ) (* 0 x4 ) ) (- 14)) (< (+ (* 27 x1 ) (* 48 x2 ) (* 4 x1 ) (* 40 x3 ) (* (- 29) x4 ) (* 14 x3 ) (* 19 x2 ) (* (- 10) x4 ) (* (- 21) x0 ) (* (- 35) x4 ) ) (- 13)) ))
+(assert (or (<= (+ (* 7 x3 ) (* 13 x3 ) (* (- 19) x0 ) ) (- 10)) (= (+ (* (- 37) x3 ) (* (- 25) x2 ) (* (- 33) x1 ) (* (- 41) x4 ) (* 10 x2 ) (* (- 6) x1 ) ) (- 9)) (> (+ (* (- 1) x3 ) (* 15 x1 ) (* (- 35) x2 ) (* 30 x4 ) (* (- 9) x3 ) (* 21 x2 ) (* 44 x1 ) ) (- 17)) ))
+(check-sat)
+(push 1)
+(assert (<= (+ (* 5 x2 ) (* 44 x2 ) (* 36 x3 ) (* 3 x0 ) (* 16 x3 ) ) 48) )
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (<= (+ (* (- 39) x4 ) (* (- 40) x1 ) ) (- 45))) )
+(assert (= (+ (* 35 x3 ) (* 20 x1 ) (* (- 49) x4 ) (* (- 32) x3 ) (* 33 x3 ) (* 4 x1 ) (* (- 34) x4 ) (* 0 x4 ) (* (- 50) x3 ) ) 42) )
+(assert (or (> (+ (* 2 x3 ) (* (- 33) x4 ) (* 15 x1 ) (* 34 x4 ) (* (- 3) x2 ) (* (- 16) x1 ) (* (- 14) x3 ) (* 39 x2 ) ) 21) (not (<= (+ (* 39 x2 ) (* 22 x2 ) (* (- 50) x0 ) (* (- 23) x0 ) (* (- 48) x3 ) (* (- 31) x3 ) (* 9 x1 ) (* (- 23) x1 ) (* 27 x1 ) (* 29 x3 ) ) (- 26))) (not (<= (+ (* 15 x0 ) (* 26 x1 ) (* 11 x0 ) (* 24 x4 ) (* (- 9) x3 ) (* (- 5) x2 ) (* 4 x3 ) (* 24 x2 ) (* (- 5) x3 ) (* 16 x3 ) (* 31 x2 ) ) 43)) ))
+(assert (or (>= (+ (* 27 x4 ) (* 36 x1 ) (* 27 x4 ) (* (- 18) x0 ) (* (- 1) x4 ) (* 44 x1 ) (* (- 45) x2 ) (* 38 x4 ) (* (- 39) x2 ) (* (- 30) x2 ) ) (- 41)) (not (< (+ (* (- 18) x3 ) (* 48 x1 ) (* 14 x3 ) (* (- 28) x2 ) (* 46 x1 ) (* 38 x4 ) (* (- 26) x0 ) ) (- 30))) ))
+(assert (or (= (+ (* (- 1) x4 ) (* 46 x0 ) (* 19 x3 ) (* 24 x3 ) (* (- 43) x1 ) (* 14 x2 ) (* (- 7) x2 ) (* 35 x2 ) ) 9) (not (< (+ (* (- 34) x3 ) (* 18 x1 ) (* 11 x2 ) (* (- 33) x0 ) (* 45 x4 ) (* (- 27) x0 ) (* 42 x2 ) (* (- 40) x1 ) (* (- 10) x2 ) ) 34)) ))
+(assert (or (not (>= (+ (* 15 x1 ) (* (- 19) x1 ) (* 34 x4 ) (* 9 x4 ) (* (- 25) x2 ) (* (- 5) x3 ) (* 15 x1 ) (* 27 x4 ) (* 49 x2 ) (* (- 41) x1 ) ) 42)) (not (< (+ (* (- 43) x4 ) (* (- 38) x4 ) (* (- 3) x0 ) (* (- 43) x3 ) ) 15)) ))
+(assert (or (>= (+ (* 18 x4 ) (* 19 x4 ) (* (- 13) x0 ) (* 30 x1 ) (* 48 x4 ) (* 17 x1 ) (* 25 x0 ) (* 33 x2 ) (* 6 x1 ) (* (- 24) x1 ) (* (- 24) x0 ) ) (- 25)) (not (<= (+ (* 25 x1 ) (* (- 26) x2 ) (* (- 37) x1 ) (* 2 x4 ) (* (- 40) x2 ) (* (- 30) x1 ) (* 6 x2 ) (* (- 25) x0 ) ) 25)) ))
+(assert (or (>= (+ (* 7 x1 ) (* 46 x2 ) (* 40 x0 ) (* (- 29) x2 ) (* 30 x0 ) (* (- 46) x3 ) (* 0 x4 ) (* (- 1) x2 ) (* 1 x4 ) ) (- 39)) (not (<= (+ (* (- 8) x2 ) (* 29 x0 ) (* (- 15) x4 ) (* 40 x4 ) (* 25 x0 ) (* (- 16) x2 ) (* (- 15) x3 ) (* (- 2) x4 ) ) (- 42))) ))
+(assert (or (not (<= (+ (* (- 19) x3 ) (* (- 37) x4 ) (* 47 x4 ) (* 8 x4 ) (* (- 37) x2 ) (* 34 x0 ) (* 26 x4 ) (* (- 7) x0 ) ) (- 31))) (> (+ (* 44 x3 ) (* (- 45) x3 ) (* 11 x2 ) (* (- 28) x2 ) ) 20) (not (> (+ (* 43 x3 ) (* (- 5) x3 ) (* 4 x0 ) (* (- 6) x3 ) (* 5 x2 ) (* 14 x1 ) (* (- 49) x3 ) ) (- 43))) ))
+(check-sat)
+(pop 1)
+(assert (or (>= (+ (* 16 x3 ) (* (- 8) x1 ) (* 8 x3 ) (* (- 2) x0 ) (* 30 x3 ) ) (- 9)) (not (>= (+ (* 30 x1 ) (* (- 44) x0 ) (* 11 x2 ) (* 21 x0 ) ) (- 36))) (not (< (+ (* 44 x2 ) (* 33 x2 ) (* 15 x1 ) (* (- 41) x4 ) (* 40 x0 ) (* 32 x2 ) (* (- 45) x3 ) (* (- 19) x2 ) (* (- 10) x2 ) (* 26 x2 ) (* (- 2) x0 ) ) (- 16))) ))
+(assert (or (not (< (+ (* 6 x0 ) (* (- 5) x2 ) (* 24 x1 ) (* (- 26) x3 ) (* 28 x2 ) (* 2 x3 ) ) (- 30))) (<= (+ (* (- 2) x2 ) (* (- 3) x1 ) ) (- 10)) (not (> (+ (* (- 41) x4 ) (* 20 x3 ) (* (- 46) x0 ) ) (- 4))) ))
+(assert (not (> (+ (* (- 26) x0 ) (* 4 x2 ) (* 22 x4 ) (* (- 24) x3 ) (* (- 6) x4 ) (* 32 x1 ) (* (- 21) x0 ) (* 35 x4 ) ) 40)) )
+(check-sat)
+(push 1)
+(assert (or (not (= (+ (* (- 23) x0 ) (* 30 x0 ) (* 6 x0 ) (* (- 47) x3 ) (* (- 46) x4 ) (* 23 x3 ) (* 17 x0 ) ) (- 18))) (< (+ (* 24 x4 ) (* (- 45) x1 ) (* 9 x0 ) (* (- 39) x3 ) (* 49 x2 ) (* (- 21) x1 ) (* 8 x3 ) (* 44 x3 ) (* (- 2) x0 ) (* (- 32) x2 ) ) (- 46)) ))
+(assert (or (not (< (+ (* 29 x1 ) (* 8 x4 ) (* (- 50) x2 ) (* 31 x4 ) (* (- 11) x1 ) (* (- 44) x0 ) (* 47 x2 ) (* 28 x0 ) (* (- 19) x3 ) ) (- 14))) (not (>= (+ (* (- 23) x2 ) (* 41 x2 ) (* (- 26) x1 ) (* (- 2) x0 ) (* 7 x0 ) (* (- 13) x2 ) (* 36 x0 ) (* (- 50) x2 ) (* 45 x2 ) ) 41)) ))
+(check-sat)
+(pop 1)
+(assert (or (= (+ (* (- 37) x0 ) (* 17 x4 ) (* 12 x2 ) (* (- 9) x4 ) (* (- 3) x0 ) (* 46 x0 ) (* 28 x0 ) (* 24 x0 ) (* (- 30) x0 ) (* (- 46) x1 ) (* (- 22) x2 ) ) (- 50)) (> (+ (* 47 x0 ) (* (- 16) x2 ) (* 4 x4 ) (* (- 39) x2 ) (* (- 11) x1 ) (* 18 x0 ) ) 31) (not (> (+ (* (- 39) x3 ) (* 33 x3 ) ) 35)) ))
+(assert (or (> (+ (* (- 50) x2 ) (* 17 x2 ) (* (- 48) x0 ) (* (- 32) x4 ) (* (- 2) x2 ) (* (- 14) x2 ) (* 44 x4 ) (* 34 x1 ) ) 12) (not (>= (+ (* (- 5) x4 ) (* 38 x0 ) (* (- 24) x4 ) (* 35 x3 ) (* 33 x4 ) (* (- 47) x3 ) (* 8 x0 ) (* (- 9) x0 ) (* (- 16) x2 ) (* (- 1) x1 ) (* (- 15) x0 ) ) (- 12))) (not (< (+ (* 45 x1 ) (* 0 x0 ) (* 36 x0 ) (* 15 x0 ) (* 26 x4 ) (* (- 40) x3 ) ) 11)) ))
+(assert (not (> (+ (* (- 4) x0 ) (* 47 x1 ) (* (- 13) x0 ) (* 17 x4 ) (* (- 13) x4 ) (* (- 44) x4 ) (* (- 5) x3 ) (* (- 20) x3 ) (* 28 x2 ) ) 18)) )
+(assert (or (not (< (+ (* (- 18) x0 ) (* (- 48) x1 ) (* 37 x4 ) (* 46 x0 ) (* 11 x0 ) (* (- 33) x4 ) (* (- 5) x0 ) ) 35)) (>= (+ (* (- 13) x3 ) (* 36 x1 ) (* (- 7) x4 ) (* 37 x0 ) (* (- 37) x2 ) (* (- 42) x2 ) (* (- 11) x4 ) ) (- 9)) (= (+ (* 27 x2 ) (* 42 x1 ) (* (- 3) x1 ) (* (- 9) x4 ) (* 44 x2 ) (* (- 24) x3 ) (* (- 49) x3 ) (* 39 x0 ) (* 36 x0 ) (* 7 x4 ) ) (- 25)) ))
+(assert (or (< (+ (* (- 27) x4 ) (* 43 x4 ) ) (- 22)) (not (>= (+ (* (- 36) x3 ) (* (- 47) x1 ) (* (- 30) x2 ) ) (- 1))) (> (+ (* (- 37) x1 ) (* (- 29) x4 ) (* 19 x1 ) (* 26 x3 ) (* (- 50) x3 ) (* 23 x1 ) (* 38 x2 ) (* 23 x4 ) (* 27 x3 ) (* 6 x0 ) ) 8) ))
+(assert (or (not (<= (+ (* (- 25) x1 ) (* (- 46) x3 ) (* (- 11) x0 ) (* 6 x4 ) (* (- 30) x3 ) (* (- 7) x2 ) (* (- 30) x1 ) (* 35 x4 ) ) (- 4))) (not (<= (+ (* 8 x1 ) (* (- 27) x2 ) (* 32 x2 ) (* 39 x1 ) (* 21 x3 ) ) 21)) (< (+ (* (- 30) x0 ) (* 1 x3 ) (* (- 12) x2 ) (* 4 x1 ) (* (- 31) x1 ) (* 27 x2 ) (* 23 x1 ) (* 31 x2 ) ) 18) ))
+(assert (or (< (+ (* (- 30) x1 ) (* 44 x2 ) (* (- 26) x2 ) (* 42 x0 ) ) 7) (not (= (+ (* (- 8) x3 ) (* (- 26) x0 ) (* 4 x1 ) (* 25 x0 ) ) 33)) ))
+(assert (not (> (+ (* 27 x2 ) (* 11 x2 ) (* (- 12) x3 ) (* (- 9) x4 ) (* 28 x4 ) (* (- 46) x2 ) (* (- 24) x0 ) (* (- 15) x3 ) ) (- 41))) )
+(check-sat)
+(push 1)
+(assert (or (= (+ (* (- 49) x3 ) (* (- 15) x1 ) (* (- 43) x0 ) (* 20 x0 ) (* 48 x1 ) (* (- 41) x3 ) (* 23 x3 ) (* 29 x3 ) (* (- 29) x3 ) ) 46) (> (+ (* 29 x3 ) (* 34 x4 ) (* (- 33) x2 ) (* 33 x4 ) (* 9 x0 ) (* 26 x4 ) ) (- 4)) ))
+(assert (not (< (+ (* (- 6) x1 ) (* 5 x2 ) (* (- 14) x2 ) (* (- 23) x1 ) (* (- 15) x4 ) (* 3 x2 ) (* (- 35) x0 ) (* 44 x0 ) ) 1)) )
+(assert (or (not (> (+ (* (- 37) x1 ) (* (- 18) x4 ) (* (- 19) x2 ) (* (- 37) x1 ) (* 17 x4 ) (* (- 43) x2 ) (* (- 24) x4 ) ) (- 7))) (>= (+ (* 46 x3 ) (* 8 x0 ) (* 45 x3 ) ) (- 46)) (not (<= (+ (* (- 32) x4 ) (* 30 x4 ) (* 30 x3 ) (* (- 15) x3 ) (* 14 x2 ) (* 28 x0 ) (* 7 x3 ) (* 8 x0 ) ) (- 14))) ))
+(assert (or (not (>= (+ (* 45 x3 ) (* 3 x4 ) ) (- 8))) (not (< (+ (* (- 37) x0 ) (* (- 14) x1 ) (* 34 x4 ) (* 9 x4 ) (* (- 17) x2 ) ) (- 27))) ))
+(assert (or (>= (+ (* (- 32) x1 ) (* (- 11) x4 ) (* 16 x0 ) (* 0 x0 ) (* 41 x1 ) (* 5 x3 ) (* (- 28) x4 ) (* 27 x3 ) (* (- 11) x3 ) (* (- 16) x3 ) ) (- 26)) (not (> (+ (* 18 x2 ) (* (- 19) x0 ) (* 4 x1 ) (* 45 x0 ) (* (- 41) x2 ) (* (- 18) x4 ) ) 26)) (>= (+ (* (- 13) x3 ) (* 15 x0 ) (* 33 x2 ) (* (- 50) x2 ) (* (- 43) x0 ) (* 1 x1 ) (* 29 x2 ) (* 11 x4 ) (* 21 x4 ) ) 42) ))
+(assert (<= (+ (* 9 x4 ) (* (- 40) x3 ) (* (- 33) x1 ) (* 46 x1 ) ) (- 43)) )
+(assert (or (<= (+ (* 9 x1 ) (* 7 x3 ) (* 7 x0 ) (* 11 x3 ) (* 37 x0 ) (* 13 x4 ) (* (- 40) x4 ) (* (- 13) x2 ) (* (- 29) x3 ) (* 46 x1 ) (* 2 x1 ) ) 15) (= (+ (* 12 x3 ) (* 17 x1 ) (* (- 36) x4 ) (* (- 18) x1 ) (* 38 x1 ) (* 9 x1 ) (* (- 38) x1 ) ) (- 4)) (not (< (+ (* (- 36) x3 ) (* 11 x0 ) (* 46 x1 ) (* (- 31) x4 ) (* 25 x0 ) (* (- 50) x4 ) (* 40 x4 ) (* 41 x4 ) ) 7)) ))
+(assert (>= (+ (* 12 x4 ) (* (- 24) x0 ) (* (- 11) x4 ) (* 3 x2 ) (* (- 38) x2 ) (* (- 48) x2 ) (* 5 x4 ) (* 33 x3 ) ) (- 23)) )
+(assert (> (+ (* 15 x3 ) (* 31 x1 ) (* 8 x1 ) ) (- 33)) )
+(assert (not (<= (+ (* (- 41) x4 ) (* 33 x4 ) (* (- 29) x2 ) (* (- 20) x1 ) (* (- 28) x0 ) ) (- 13))) )
+(assert (or (not (< (+ (* 23 x3 ) (* (- 29) x1 ) (* (- 23) x0 ) (* (- 7) x4 ) (* 21 x2 ) (* (- 21) x0 ) ) (- 33))) (not (< (+ (* 30 x3 ) (* (- 30) x2 ) (* (- 30) x3 ) (* 30 x2 ) (* (- 10) x2 ) (* (- 3) x3 ) (* (- 22) x4 ) (* (- 48) x0 ) (* (- 9) x3 ) (* (- 6) x4 ) ) (- 30))) (not (<= (+ (* 2 x2 ) (* (- 31) x4 ) ) 3)) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(assert (> (+ (* (- 32) x4 ) (* 46 x3 ) ) 21) )
+(assert (< (+ (* 12 x3 ) (* (- 7) x2 ) (* (- 7) x0 ) (* (- 49) x1 ) (* (- 32) x3 ) ) (- 17)) )
+(assert (or (not (>= (+ (* (- 10) x2 ) (* 37 x1 ) (* 33 x0 ) (* 33 x0 ) ) 29)) (not (<= (+ (* 25 x3 ) (* 32 x4 ) (* (- 27) x3 ) (* 13 x2 ) (* (- 22) x1 ) (* (- 8) x4 ) (* (- 1) x4 ) (* 9 x4 ) (* 1 x1 ) (* 40 x1 ) ) 41)) ))
+(assert (not (= (+ (* (- 12) x1 ) (* 5 x3 ) (* 36 x4 ) (* (- 35) x0 ) (* 18 x0 ) ) (- 12))) )
+(assert (>= (+ (* (- 25) x4 ) (* (- 20) x4 ) (* 12 x2 ) (* 3 x1 ) (* (- 26) x3 ) (* (- 20) x2 ) (* (- 13) x2 ) (* 35 x0 ) (* 30 x0 ) ) (- 10)) )
+(assert (or (not (= (+ (* (- 48) x1 ) (* 25 x0 ) (* 13 x4 ) ) 24)) (not (> (+ (* (- 24) x0 ) (* 24 x1 ) ) (- 19))) ))
+(assert (not (< (+ (* (- 12) x2 ) (* (- 25) x3 ) ) (- 32))) )
+(assert (not (<= (+ (* 28 x4 ) (* 11 x4 ) (* 0 x3 ) (* (- 22) x4 ) (* (- 37) x0 ) (* 2 x3 ) (* 39 x1 ) ) (- 24))) )
+(assert (or (not (>= (+ (* 34 x3 ) (* 36 x2 ) (* (- 39) x4 ) (* 33 x2 ) (* 39 x1 ) (* 22 x3 ) (* 9 x3 ) ) (- 17))) (not (= (+ (* 19 x1 ) (* (- 45) x3 ) (* 16 x1 ) (* (- 50) x1 ) (* (- 23) x1 ) ) (- 25))) ))
+(assert (or (<= (+ (* 24 x3 ) (* (- 17) x1 ) ) 7) (= (+ (* (- 8) x1 ) (* 39 x1 ) (* (- 5) x1 ) (* 19 x4 ) (* (- 28) x1 ) (* (- 11) x4 ) ) 38) ))
+(assert (< (+ (* 35 x4 ) (* (- 28) x3 ) (* (- 11) x0 ) (* 49 x3 ) (* 7 x2 ) (* 44 x3 ) (* (- 10) x4 ) (* (- 28) x4 ) (* (- 45) x1 ) (* 30 x4 ) (* (- 13) x1 ) ) (- 48)) )
+(assert (or (> (+ (* 28 x4 ) (* (- 16) x1 ) (* 47 x0 ) (* (- 25) x3 ) (* 6 x1 ) ) 26) (not (<= (+ (* 49 x4 ) (* (- 7) x2 ) (* (- 17) x3 ) (* 42 x0 ) (* (- 23) x1 ) (* (- 30) x4 ) (* 7 x0 ) (* (- 44) x3 ) (* 38 x2 ) (* (- 36) x1 ) ) (- 28))) ))
+(assert (or (>= (+ (* (- 45) x3 ) (* (- 47) x2 ) (* (- 37) x2 ) (* 19 x2 ) ) 7) (= (+ (* (- 30) x4 ) (* (- 2) x1 ) (* (- 34) x1 ) (* 6 x2 ) (* (- 15) x2 ) (* (- 40) x4 ) (* (- 32) x1 ) ) (- 37)) ))
+(assert (not (<= (+ (* 24 x1 ) (* 18 x0 ) (* (- 3) x2 ) (* 46 x2 ) (* (- 7) x4 ) (* (- 5) x4 ) ) 14)) )
+(assert (or (not (> (+ (* (- 17) x3 ) (* (- 40) x0 ) (* 41 x4 ) (* (- 41) x0 ) (* (- 17) x2 ) (* (- 28) x3 ) (* 4 x3 ) (* 19 x3 ) (* (- 15) x2 ) ) 18)) (<= (+ (* (- 12) x0 ) (* 21 x0 ) (* (- 12) x0 ) ) (- 22)) ))
+(assert (or (not (> (+ (* (- 29) x3 ) (* (- 14) x4 ) (* (- 17) x0 ) (* 36 x4 ) (* 42 x2 ) ) (- 10))) (not (<= (+ (* (- 16) x2 ) (* (- 24) x1 ) (* (- 17) x1 ) (* (- 29) x4 ) (* 47 x1 ) (* 34 x4 ) (* 2 x3 ) ) (- 20))) ))
+(assert (or (< (+ (* 19 x1 ) (* 40 x1 ) (* 3 x0 ) (* (- 3) x0 ) (* (- 50) x0 ) (* 5 x2 ) (* (- 9) x4 ) ) 31) (> (+ (* 33 x4 ) (* (- 50) x2 ) (* (- 15) x4 ) (* (- 1) x3 ) (* (- 10) x3 ) (* 41 x0 ) (* (- 42) x4 ) ) (- 38)) ))
+(check-sat)
+(push 1)
+(assert (or (= (+ (* 36 x1 ) (* 23 x1 ) (* 24 x1 ) (* 38 x0 ) (* 3 x1 ) (* (- 14) x2 ) (* 28 x0 ) (* 37 x0 ) ) 33) (<= (+ (* 34 x4 ) (* 2 x4 ) (* (- 20) x1 ) (* 18 x3 ) (* 39 x3 ) (* (- 44) x0 ) (* 18 x1 ) (* (- 1) x0 ) (* (- 15) x3 ) ) (- 13)) (<= (+ (* (- 10) x2 ) (* (- 11) x0 ) (* 30 x4 ) (* 22 x3 ) (* (- 6) x0 ) (* 35 x3 ) (* 6 x4 ) (* 2 x2 ) ) (- 26)) ))
+(assert (or (not (<= (+ (* (- 9) x0 ) (* (- 27) x4 ) (* 6 x3 ) ) 21)) (not (> (+ (* 18 x0 ) (* 42 x4 ) (* (- 7) x0 ) (* 6 x1 ) (* 26 x4 ) (* 38 x3 ) (* 10 x2 ) (* (- 41) x3 ) (* 37 x2 ) (* 30 x0 ) ) (- 41))) ))
+(assert (or (not (= (+ (* 48 x1 ) (* (- 38) x3 ) (* (- 15) x3 ) (* (- 2) x2 ) (* (- 17) x2 ) (* 45 x3 ) (* 32 x4 ) (* 32 x1 ) (* (- 46) x3 ) (* (- 34) x4 ) ) 15)) (not (<= (+ (* 14 x1 ) (* 17 x0 ) (* (- 33) x2 ) ) 20)) (<= (+ (* 19 x2 ) (* (- 25) x0 ) ) 19) ))
+(assert (or (not (>= (+ (* 29 x4 ) (* (- 28) x1 ) (* (- 23) x3 ) (* (- 50) x3 ) (* 43 x3 ) (* 31 x0 ) ) 7)) (not (< (+ (* 21 x0 ) (* 11 x3 ) (* (- 24) x1 ) (* (- 2) x2 ) (* 2 x3 ) (* (- 37) x3 ) (* (- 34) x3 ) ) (- 38))) ))
+(assert (not (<= (+ (* 29 x2 ) (* (- 38) x0 ) (* 17 x4 ) (* 31 x0 ) (* 44 x0 ) (* (- 10) x4 ) (* 18 x0 ) ) (- 49))) )
+(assert (< (+ (* 44 x4 ) (* (- 42) x4 ) (* 28 x0 ) (* 7 x0 ) (* (- 33) x0 ) (* 49 x4 ) (* 19 x1 ) ) (- 39)) )
+(assert (or (>= (+ (* 39 x3 ) (* (- 30) x4 ) (* 27 x4 ) (* 5 x4 ) (* (- 10) x2 ) (* 2 x1 ) (* (- 28) x4 ) (* (- 5) x2 ) ) 2) (= (+ (* 44 x1 ) (* (- 45) x1 ) (* 39 x3 ) (* (- 46) x1 ) (* (- 18) x0 ) (* (- 50) x3 ) (* (- 38) x3 ) (* 32 x1 ) (* (- 23) x1 ) (* 4 x4 ) (* 47 x2 ) ) 8) (not (= (+ (* (- 27) x3 ) (* 3 x1 ) (* (- 32) x2 ) ) (- 3))) ))
+(assert (or (not (> (+ (* 17 x2 ) (* (- 43) x0 ) (* (- 39) x2 ) (* 38 x0 ) ) 43)) (not (<= (+ (* (- 16) x4 ) (* (- 21) x4 ) (* (- 42) x3 ) (* 36 x1 ) (* (- 37) x1 ) ) 41)) ))
+(assert (or (> (+ (* 34 x3 ) (* 22 x1 ) ) 1) (not (<= (+ (* 1 x4 ) (* (- 45) x1 ) (* 28 x0 ) (* 34 x2 ) (* 26 x0 ) (* 3 x1 ) (* (- 33) x4 ) (* 18 x1 ) (* 33 x2 ) (* 15 x4 ) ) (- 25))) ))
+(assert (or (> (+ (* (- 43) x2 ) (* (- 16) x4 ) (* 48 x0 ) (* (- 9) x0 ) (* (- 48) x0 ) (* (- 3) x1 ) (* (- 14) x4 ) (* (- 45) x1 ) (* (- 38) x1 ) (* 35 x2 ) ) (- 18)) (< (+ (* (- 5) x2 ) (* 0 x2 ) (* 13 x1 ) (* 28 x0 ) (* 29 x3 ) (* (- 45) x2 ) (* 0 x0 ) (* 35 x1 ) (* (- 33) x2 ) ) 35) (< (+ (* (- 3) x0 ) (* (- 27) x0 ) (* 8 x2 ) (* 2 x0 ) (* 4 x4 ) ) 48) ))
+(check-sat)
+(push 1)
+(assert (= (+ (* (- 33) x3 ) (* 8 x2 ) (* (- 5) x4 ) (* (- 27) x1 ) (* 31 x4 ) (* (- 30) x2 ) (* 17 x2 ) (* (- 31) x3 ) (* 2 x2 ) ) 27) )
+(assert (not (= (+ (* 39 x2 ) (* 46 x3 ) (* (- 13) x1 ) (* 17 x0 ) (* 39 x1 ) (* (- 25) x0 ) ) 36)) )
+(assert (or (> (+ (* (- 2) x1 ) (* (- 9) x2 ) (* (- 20) x3 ) ) (- 4)) (> (+ (* (- 13) x4 ) (* (- 1) x2 ) (* 45 x2 ) (* 15 x2 ) (* (- 10) x4 ) (* 41 x2 ) (* (- 40) x1 ) ) 18) ))
+(assert (or (not (<= (+ (* (- 8) x4 ) (* (- 21) x3 ) (* (- 44) x1 ) ) 9)) (= (+ (* (- 27) x2 ) (* 49 x2 ) (* (- 14) x4 ) (* (- 28) x1 ) ) (- 49)) (< (+ (* (- 7) x3 ) (* 44 x3 ) ) 13) ))
+(assert (or (not (<= (+ (* (- 38) x2 ) (* 13 x1 ) (* (- 5) x0 ) (* 24 x2 ) (* (- 16) x4 ) (* (- 29) x0 ) ) 35)) (not (< (+ (* (- 39) x1 ) (* (- 40) x1 ) (* 37 x4 ) (* 47 x1 ) (* 19 x1 ) (* 46 x2 ) ) (- 44))) ))
+(check-sat)
+(pop 1)
+(assert (<= (+ (* 47 x1 ) (* (- 49) x2 ) (* (- 33) x3 ) (* 18 x4 ) (* (- 18) x1 ) (* (- 10) x4 ) (* (- 38) x0 ) (* (- 6) x2 ) (* 10 x4 ) (* (- 18) x3 ) (* (- 25) x0 ) ) (- 21)) )
+(assert (or (not (<= (+ (* (- 29) x1 ) (* 12 x3 ) (* 15 x3 ) (* (- 49) x0 ) (* 40 x2 ) (* (- 25) x4 ) ) 24)) (not (>= (+ (* 18 x4 ) (* (- 14) x0 ) ) (- 22))) (<= (+ (* (- 1) x0 ) (* (- 31) x3 ) (* 21 x1 ) (* 12 x4 ) (* (- 28) x2 ) (* 12 x1 ) (* 42 x4 ) (* (- 29) x3 ) (* 34 x4 ) (* 10 x2 ) ) 6) ))
+(assert (>= (+ (* 15 x1 ) (* (- 1) x4 ) (* (- 11) x0 ) (* (- 24) x1 ) (* 37 x3 ) ) (- 1)) )
+(assert (or (not (= (+ (* (- 1) x1 ) (* 22 x4 ) (* 5 x2 ) (* (- 29) x1 ) (* 15 x0 ) (* 46 x1 ) ) (- 40))) (< (+ (* (- 4) x0 ) (* 13 x2 ) ) 36) ))
+(assert (or (<= (+ (* 33 x3 ) (* 43 x4 ) (* (- 9) x1 ) (* 32 x4 ) (* 18 x3 ) (* (- 29) x3 ) (* (- 45) x0 ) (* 26 x3 ) ) (- 48)) (>= (+ (* 36 x4 ) (* (- 18) x1 ) (* 27 x4 ) (* (- 8) x2 ) (* 12 x0 ) (* (- 41) x2 ) (* 19 x0 ) (* 8 x4 ) (* (- 2) x0 ) (* 25 x3 ) ) (- 34)) ))
+(assert (or (>= (+ (* 40 x1 ) (* 35 x4 ) (* 29 x0 ) (* 28 x1 ) (* 22 x3 ) (* (- 8) x0 ) (* (- 18) x4 ) (* 48 x4 ) (* (- 48) x1 ) (* 45 x2 ) ) 10) (not (<= (+ (* 14 x1 ) (* (- 45) x3 ) (* 27 x2 ) (* (- 41) x1 ) (* (- 15) x4 ) (* 4 x1 ) (* (- 33) x1 ) (* 31 x2 ) (* (- 11) x1 ) (* 5 x4 ) (* (- 22) x2 ) ) (- 45))) (> (+ (* (- 7) x3 ) (* (- 42) x2 ) (* 9 x3 ) (* 39 x4 ) (* (- 3) x1 ) (* (- 38) x1 ) (* 35 x3 ) ) 49) ))
+(assert (or (not (< (+ (* 14 x2 ) (* 21 x1 ) (* (- 10) x1 ) (* 26 x2 ) (* (- 16) x0 ) (* 20 x1 ) (* (- 46) x4 ) (* (- 20) x4 ) ) (- 35))) (not (> (+ (* 35 x2 ) (* (- 40) x2 ) (* (- 4) x2 ) (* (- 36) x1 ) (* (- 11) x2 ) ) 41)) ))
+(check-sat)
+(pop 1)
+(assert (or (not (= (+ (* (- 42) x2 ) (* (- 42) x4 ) (* 5 x4 ) (* (- 40) x4 ) (* (- 19) x0 ) (* (- 46) x3 ) (* 18 x4 ) (* 11 x1 ) (* (- 34) x3 ) (* (- 3) x0 ) ) (- 20))) (> (+ (* 44 x1 ) (* 22 x4 ) (* (- 15) x4 ) (* 33 x1 ) (* (- 13) x4 ) (* 25 x2 ) ) 43) (not (> (+ (* 48 x2 ) (* (- 44) x0 ) (* 26 x3 ) (* (- 1) x0 ) (* (- 18) x2 ) (* 25 x1 ) (* (- 16) x1 ) (* 43 x0 ) (* 35 x0 ) (* 7 x2 ) ) 22)) ))
+(assert (or (>= (+ (* (- 39) x3 ) (* (- 22) x0 ) (* (- 13) x4 ) (* (- 26) x4 ) (* 47 x0 ) (* (- 35) x3 ) (* 47 x1 ) (* 44 x2 ) (* 6 x2 ) (* (- 25) x4 ) ) (- 49)) (> (+ (* (- 16) x3 ) (* 9 x3 ) (* (- 34) x3 ) ) 45) ))
+(assert (or (not (>= (+ (* (- 44) x2 ) (* 23 x3 ) ) (- 47))) (= (+ (* (- 10) x1 ) (* (- 30) x1 ) (* 27 x1 ) (* 47 x0 ) (* (- 43) x1 ) (* (- 41) x2 ) (* 15 x2 ) (* 47 x0 ) (* (- 34) x4 ) (* 11 x3 ) ) (- 42)) ))
+(assert (or (< (+ (* (- 18) x1 ) (* 1 x4 ) (* 20 x1 ) (* (- 16) x3 ) (* (- 11) x3 ) (* 38 x2 ) (* (- 47) x3 ) (* 5 x3 ) ) 14) (not (= (+ (* (- 43) x2 ) (* 32 x0 ) ) (- 30))) (not (> (+ (* (- 17) x4 ) (* (- 40) x4 ) (* (- 45) x2 ) (* (- 47) x4 ) (* 7 x3 ) ) 40)) ))
+(assert (not (= (+ (* 9 x2 ) (* 23 x0 ) (* (- 32) x4 ) (* 38 x0 ) ) 27)) )
+(check-sat)
+(push 1)
+(assert (or (= (+ (* 11 x0 ) (* (- 7) x3 ) (* 39 x4 ) ) 7) (not (< (+ (* 38 x4 ) (* 28 x0 ) (* (- 45) x4 ) (* 9 x2 ) (* 11 x0 ) (* (- 30) x0 ) ) (- 27))) (not (< (+ (* 48 x4 ) (* 2 x2 ) (* (- 46) x3 ) ) (- 37))) ))
+(assert (not (< (+ (* (- 6) x4 ) (* (- 47) x0 ) (* 40 x4 ) (* (- 14) x4 ) (* (- 29) x0 ) (* 47 x2 ) ) (- 16))) )
+(check-sat)
+(pop 1)
+(assert (not (>= (+ (* 23 x2 ) (* (- 30) x1 ) (* (- 48) x4 ) (* 27 x1 ) (* (- 16) x1 ) (* 27 x0 ) (* 10 x3 ) (* 13 x3 ) ) (- 47))) )
+(assert (or (< (+ (* 25 x3 ) (* 15 x0 ) ) (- 17)) (< (+ (* 3 x0 ) (* (- 11) x1 ) (* (- 10) x3 ) (* (- 19) x3 ) (* (- 11) x4 ) (* 5 x0 ) (* 46 x2 ) (* (- 48) x2 ) ) (- 39)) ))
+(assert (or (not (>= (+ (* 19 x3 ) (* 15 x4 ) (* 19 x1 ) (* (- 28) x3 ) ) 5)) (not (< (+ (* 2 x0 ) (* (- 32) x4 ) (* (- 22) x4 ) (* (- 49) x4 ) (* 28 x3 ) (* (- 47) x4 ) ) 30)) ))
+(assert (or (< (+ (* 32 x4 ) (* 45 x2 ) (* (- 44) x3 ) (* (- 19) x0 ) (* (- 30) x0 ) (* (- 42) x2 ) (* 44 x4 ) (* 48 x0 ) (* 46 x2 ) (* 24 x1 ) (* 12 x0 ) ) 2) (not (> (+ (* (- 8) x0 ) (* (- 16) x4 ) (* (- 5) x1 ) (* (- 42) x2 ) (* (- 33) x1 ) (* (- 44) x1 ) (* 49 x0 ) (* (- 32) x3 ) (* (- 33) x4 ) (* (- 31) x4 ) (* 27 x2 ) ) 18)) (not (> (+ (* 5 x0 ) (* 27 x2 ) (* (- 21) x0 ) (* 25 x4 ) (* 10 x1 ) (* (- 17) x2 ) (* (- 37) x1 ) (* (- 11) x2 ) ) 21)) ))
+(check-sat)
+(push 1)
+(assert (not (>= (+ (* 19 x2 ) (* 16 x2 ) (* (- 17) x4 ) (* (- 43) x4 ) ) 43)) )
+(assert (not (> (+ (* (- 6) x1 ) (* 4 x4 ) (* 9 x1 ) (* 32 x0 ) ) 11)) )
+(assert (or (not (> (+ (* 4 x1 ) (* (- 25) x3 ) (* 12 x0 ) (* 14 x1 ) (* 10 x2 ) ) (- 27))) (<= (+ (* 3 x4 ) (* (- 43) x0 ) (* 34 x4 ) (* 16 x1 ) ) (- 7)) ))
+(assert (not (> (+ (* (- 38) x1 ) (* (- 43) x2 ) (* (- 18) x3 ) (* (- 4) x2 ) (* 25 x1 ) (* 43 x0 ) (* (- 16) x0 ) (* 22 x2 ) ) 36)) )
+(assert (= (+ (* 22 x2 ) (* (- 23) x0 ) (* 47 x2 ) (* (- 31) x3 ) (* 4 x0 ) (* 9 x3 ) (* (- 48) x4 ) (* 48 x1 ) ) (- 2)) )
+(assert (or (>= (+ (* (- 31) x1 ) (* (- 16) x3 ) ) (- 28)) (<= (+ (* (- 36) x2 ) (* (- 11) x4 ) (* (- 29) x1 ) (* 26 x1 ) (* 36 x1 ) ) (- 19)) (<= (+ (* 39 x3 ) (* 28 x0 ) (* 19 x4 ) (* (- 37) x1 ) (* 39 x1 ) (* 14 x3 ) (* (- 43) x4 ) (* 8 x4 ) ) 42) ))
+(assert (< (+ (* 46 x0 ) (* 18 x3 ) (* (- 24) x3 ) (* 31 x4 ) (* 25 x3 ) ) 20) )
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(assert (or (<= (+ (* 30 x0 ) (* 33 x1 ) (* 40 x1 ) (* 27 x3 ) (* 17 x3 ) (* (- 18) x0 ) (* (- 30) x0 ) ) (- 46)) (> (+ (* 48 x3 ) (* 16 x1 ) (* (- 20) x4 ) (* (- 22) x1 ) (* (- 11) x3 ) (* (- 27) x0 ) (* 8 x2 ) (* (- 17) x1 ) (* (- 21) x1 ) (* 19 x0 ) ) 8) (not (> (+ (* 24 x4 ) (* (- 7) x0 ) (* 11 x4 ) (* (- 17) x1 ) (* 3 x1 ) (* 36 x1 ) (* (- 16) x0 ) ) 16)) ))
+(assert (or (> (+ (* (- 30) x1 ) (* (- 6) x3 ) (* 33 x4 ) (* 9 x4 ) (* (- 47) x0 ) ) 30) (not (<= (+ (* 44 x3 ) (* (- 34) x1 ) (* (- 5) x2 ) (* (- 20) x1 ) (* 6 x1 ) (* (- 1) x4 ) (* 40 x2 ) (* 11 x4 ) (* 48 x3 ) (* 23 x3 ) (* (- 16) x2 ) ) 6)) ))
+(assert (or (not (> (+ (* (- 9) x3 ) (* (- 49) x4 ) (* (- 23) x2 ) (* (- 36) x2 ) (* (- 11) x2 ) (* 5 x1 ) (* 10 x2 ) (* (- 6) x1 ) (* 1 x1 ) (* (- 34) x0 ) ) (- 1))) (> (+ (* 48 x4 ) (* 20 x0 ) ) 47) (not (<= (+ (* 39 x1 ) (* (- 7) x3 ) (* (- 3) x4 ) (* 43 x4 ) (* (- 45) x1 ) ) (- 49))) ))
+(assert (>= (+ (* 38 x0 ) (* 11 x0 ) (* (- 23) x3 ) (* 5 x0 ) (* 7 x1 ) (* 25 x0 ) (* (- 30) x0 ) (* (- 21) x2 ) (* (- 20) x0 ) ) (- 26)) )
+(assert (or (> (+ (* (- 25) x1 ) (* (- 41) x4 ) (* 34 x3 ) (* 45 x3 ) (* (- 34) x2 ) (* (- 47) x2 ) ) (- 7)) (< (+ (* 33 x1 ) (* (- 7) x1 ) (* (- 50) x3 ) (* 15 x2 ) ) 32) (= (+ (* 23 x3 ) (* 24 x0 ) (* (- 16) x3 ) (* (- 17) x4 ) (* 12 x0 ) (* (- 7) x4 ) (* (- 12) x0 ) (* 24 x3 ) (* 6 x2 ) ) (- 3)) ))
+(assert (< (+ (* (- 11) x1 ) (* 29 x2 ) (* 10 x3 ) (* 21 x3 ) (* (- 27) x3 ) (* (- 18) x2 ) (* 31 x4 ) (* 29 x2 ) ) 46) )
+(assert (= (+ (* 38 x2 ) (* 2 x0 ) (* 21 x1 ) (* (- 20) x3 ) (* 46 x3 ) (* (- 20) x1 ) (* (- 41) x2 ) (* 20 x2 ) ) (- 18)) )
+(assert (or (= (+ (* 27 x3 ) (* 9 x4 ) (* (- 42) x4 ) (* (- 38) x2 ) (* (- 8) x3 ) (* (- 37) x1 ) (* 14 x4 ) (* 44 x0 ) (* 5 x4 ) (* (- 35) x0 ) (* (- 32) x2 ) ) 26) (> (+ (* (- 16) x0 ) (* (- 35) x0 ) (* 3 x3 ) (* (- 28) x3 ) (* 19 x4 ) (* (- 49) x3 ) (* (- 34) x1 ) (* (- 16) x0 ) (* 39 x4 ) (* 16 x4 ) (* 43 x3 ) ) (- 29)) (not (<= (+ (* (- 13) x4 ) (* 34 x0 ) (* (- 5) x1 ) (* 38 x3 ) (* 9 x3 ) (* 8 x1 ) (* (- 45) x1 ) (* (- 34) x4 ) ) 8)) ))
+(check-sat)
+(push 1)
+(assert (or (<= (+ (* (- 18) x3 ) (* 41 x1 ) (* 7 x1 ) (* (- 34) x2 ) (* (- 8) x3 ) (* (- 13) x3 ) (* 6 x0 ) (* (- 22) x1 ) (* 17 x4 ) ) 19) (< (+ (* (- 33) x3 ) (* 20 x1 ) (* (- 8) x1 ) (* 17 x4 ) (* 17 x0 ) (* 23 x2 ) (* (- 40) x1 ) (* (- 35) x2 ) (* (- 15) x3 ) (* (- 13) x2 ) (* 47 x2 ) ) 43) ))
+(assert (or (not (< (+ (* (- 2) x3 ) (* 1 x2 ) (* 11 x0 ) (* (- 32) x3 ) (* (- 7) x3 ) (* (- 5) x3 ) ) (- 40))) (< (+ (* (- 50) x2 ) (* (- 20) x2 ) ) 37) ))
+(assert (or (= (+ (* 19 x2 ) (* (- 10) x1 ) ) (- 34)) (<= (+ (* 7 x0 ) (* 46 x1 ) (* 7 x0 ) (* (- 37) x4 ) (* (- 1) x2 ) (* 23 x0 ) (* 9 x3 ) (* 10 x0 ) (* (- 37) x0 ) (* (- 41) x1 ) (* 0 x0 ) ) 24) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (= (+ (* (- 20) x1 ) (* 32 x3 ) (* (- 21) x2 ) (* (- 9) x2 ) (* 5 x1 ) (* 4 x4 ) (* 42 x4 ) (* 6 x4 ) (* 22 x2 ) (* 32 x3 ) (* 42 x3 ) ) 1) )
+(assert (or (not (>= (+ (* (- 39) x0 ) (* 19 x4 ) (* (- 1) x3 ) ) (- 47))) (not (<= (+ (* (- 40) x4 ) (* (- 10) x2 ) (* 22 x4 ) (* (- 20) x4 ) ) 30)) ))
+(assert (not (= (+ (* (- 23) x0 ) (* 33 x4 ) (* (- 43) x0 ) (* (- 48) x4 ) (* 8 x1 ) (* (- 34) x1 ) (* 24 x3 ) (* 37 x4 ) (* (- 27) x2 ) (* (- 16) x4 ) ) (- 35))) )
+(assert (not (>= (+ (* (- 1) x3 ) (* 19 x4 ) ) 29)) )
+(assert (or (not (> (+ (* (- 36) x3 ) (* (- 16) x0 ) (* 12 x3 ) (* (- 17) x2 ) (* 1 x3 ) ) 22)) (< (+ (* (- 8) x2 ) (* (- 40) x1 ) (* (- 17) x4 ) (* 37 x1 ) (* 41 x2 ) (* (- 37) x1 ) (* (- 46) x3 ) ) (- 33)) ))
+(assert (<= (+ (* 27 x1 ) (* 18 x4 ) ) 12) )
+(assert (or (not (> (+ (* (- 43) x0 ) (* 43 x0 ) (* 36 x2 ) (* 21 x1 ) (* 11 x1 ) (* 32 x4 ) ) 24)) (not (< (+ (* 33 x0 ) (* 29 x3 ) (* 39 x3 ) (* 17 x4 ) (* 21 x0 ) (* 32 x2 ) (* (- 38) x1 ) (* (- 37) x0 ) (* 23 x4 ) ) (- 43))) (not (<= (+ (* 35 x4 ) (* 23 x1 ) (* 23 x0 ) (* (- 39) x0 ) (* (- 13) x4 ) (* (- 10) x1 ) (* (- 33) x2 ) (* 28 x1 ) (* 41 x4 ) (* 43 x4 ) ) 23)) ))
+(check-sat)
+(pop 1)
+(assert (or (not (= (+ (* (- 12) x0 ) (* (- 26) x2 ) (* (- 34) x1 ) (* 46 x0 ) (* (- 38) x4 ) (* (- 45) x4 ) ) 0)) (not (>= (+ (* (- 23) x2 ) (* 9 x2 ) (* 48 x0 ) (* (- 6) x2 ) (* (- 40) x1 ) (* (- 19) x0 ) (* (- 21) x4 ) ) 13)) (not (<= (+ (* 45 x1 ) (* 28 x3 ) (* (- 13) x1 ) ) 40)) ))
+(check-sat)
+(push 1)
+(assert (or (>= (+ (* (- 31) x0 ) (* 39 x3 ) (* (- 43) x2 ) (* (- 12) x4 ) (* (- 46) x0 ) (* 46 x3 ) (* 19 x0 ) (* (- 8) x4 ) (* 41 x3 ) (* 34 x0 ) ) (- 10)) (not (>= (+ (* (- 20) x3 ) (* (- 19) x4 ) (* (- 33) x3 ) (* 18 x2 ) (* (- 47) x1 ) (* 28 x0 ) (* 6 x0 ) (* (- 23) x1 ) (* 6 x0 ) (* 0 x0 ) ) (- 25))) ))
+(assert (or (not (>= (+ (* 19 x0 ) (* 27 x4 ) (* (- 45) x4 ) (* (- 27) x2 ) (* (- 5) x3 ) (* (- 20) x0 ) ) 16)) (not (> (+ (* 45 x4 ) (* (- 22) x4 ) (* 46 x4 ) (* (- 1) x1 ) (* 12 x3 ) (* (- 7) x0 ) (* 15 x3 ) (* 28 x4 ) (* 26 x4 ) (* 35 x2 ) (* (- 35) x1 ) ) 11)) ))
+(assert (or (not (<= (+ (* 35 x2 ) (* 44 x3 ) (* 44 x2 ) ) (- 28))) (> (+ (* 39 x3 ) (* (- 6) x2 ) (* 2 x4 ) (* (- 5) x4 ) (* 45 x2 ) (* 40 x1 ) (* 4 x1 ) (* (- 8) x0 ) (* (- 33) x3 ) ) 45) ))
+(assert (or (> (+ (* 46 x4 ) (* (- 4) x0 ) ) 5) (>= (+ (* (- 21) x1 ) (* 22 x0 ) (* 19 x3 ) (* (- 34) x3 ) (* 41 x1 ) (* (- 1) x1 ) (* (- 39) x1 ) ) 41) ))
+(assert (<= (+ (* (- 38) x4 ) (* 43 x1 ) (* 46 x4 ) (* 14 x1 ) (* 49 x3 ) (* (- 18) x3 ) (* 38 x0 ) (* (- 36) x4 ) (* 24 x4 ) (* 28 x0 ) (* (- 14) x3 ) ) (- 23)) )
+(assert (not (< (+ (* 36 x0 ) (* (- 19) x4 ) (* 5 x3 ) ) 26)) )
+(assert (or (> (+ (* (- 46) x3 ) (* 1 x0 ) (* 37 x0 ) (* (- 44) x0 ) (* 45 x3 ) (* (- 19) x1 ) (* 14 x3 ) (* (- 16) x2 ) (* 35 x2 ) (* 47 x0 ) (* (- 21) x3 ) ) 30) (< (+ (* (- 11) x3 ) (* 7 x2 ) (* (- 5) x3 ) ) (- 37)) ))
+(assert (not (> (+ (* 23 x4 ) (* (- 45) x0 ) ) 6)) )
+(assert (or (not (> (+ (* 45 x4 ) (* (- 38) x2 ) (* (- 13) x4 ) (* 11 x0 ) (* (- 32) x0 ) (* 22 x2 ) ) (- 23))) (> (+ (* (- 32) x0 ) (* 24 x3 ) (* (- 26) x4 ) (* (- 6) x2 ) ) (- 20)) ))
+(check-sat)
+(push 1)
+(assert (or (>= (+ (* 19 x4 ) (* 39 x3 ) (* 0 x2 ) (* (- 46) x2 ) (* (- 44) x4 ) (* (- 2) x4 ) (* 1 x4 ) (* 14 x1 ) (* 47 x4 ) (* 3 x3 ) (* (- 12) x1 ) ) 0) (<= (+ (* 4 x0 ) (* 17 x4 ) (* (- 26) x0 ) (* (- 30) x1 ) (* 45 x0 ) ) 20) ))
+(assert (or (not (< (+ (* 24 x2 ) (* (- 17) x2 ) (* 3 x0 ) ) 32)) (not (< (+ (* (- 41) x4 ) (* 15 x4 ) (* 16 x4 ) ) (- 31))) (not (< (+ (* 24 x4 ) (* 1 x1 ) ) 19)) ))
+(assert (or (< (+ (* 2 x1 ) (* (- 12) x0 ) (* (- 37) x2 ) (* 22 x4 ) (* (- 47) x4 ) ) (- 22)) (>= (+ (* 13 x0 ) (* (- 49) x1 ) (* 41 x3 ) (* 10 x4 ) (* (- 25) x0 ) (* 37 x1 ) (* 32 x3 ) ) 10) (= (+ (* (- 50) x4 ) (* 49 x2 ) (* (- 49) x3 ) (* 9 x1 ) (* 1 x1 ) (* (- 30) x4 ) (* (- 44) x0 ) ) 33) ))
+(assert (or (< (+ (* (- 45) x1 ) (* 34 x3 ) (* (- 41) x4 ) (* 7 x3 ) (* (- 2) x1 ) (* 26 x4 ) (* (- 17) x1 ) (* (- 36) x2 ) (* 48 x2 ) (* (- 7) x1 ) (* 0 x4 ) ) (- 34)) (not (< (+ (* (- 34) x3 ) (* (- 22) x0 ) (* (- 17) x0 ) ) 35)) ))
+(assert (or (not (> (+ (* 48 x2 ) (* 13 x2 ) ) (- 24))) (> (+ (* (- 15) x4 ) (* 32 x3 ) ) (- 19)) (not (= (+ (* (- 8) x0 ) (* (- 15) x3 ) (* (- 39) x3 ) (* 15 x0 ) (* (- 49) x1 ) (* 16 x1 ) ) 33)) ))
+(assert (not (>= (+ (* 41 x2 ) (* 35 x4 ) (* 40 x4 ) (* 49 x3 ) ) 23)) )
+(assert (or (not (>= (+ (* (- 45) x0 ) (* (- 40) x4 ) (* 0 x1 ) (* 15 x1 ) (* (- 38) x3 ) (* 36 x1 ) (* (- 12) x1 ) (* 47 x0 ) (* 47 x2 ) (* (- 34) x3 ) ) (- 16))) (not (>= (+ (* (- 18) x4 ) (* (- 10) x0 ) (* 20 x2 ) (* (- 8) x4 ) (* (- 25) x1 ) (* (- 6) x2 ) (* 30 x2 ) ) (- 41))) (> (+ (* 26 x3 ) (* (- 22) x1 ) ) 23) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(check-sat)
+(push 1)
+(assert (or (not (< (+ (* 22 x2 ) (* (- 45) x4 ) (* (- 27) x4 ) (* (- 23) x1 ) (* (- 38) x4 ) (* 12 x0 ) (* 11 x2 ) (* 6 x4 ) (* (- 34) x3 ) (* (- 28) x3 ) ) (- 7))) (> (+ (* 49 x3 ) (* (- 9) x3 ) (* (- 6) x2 ) (* (- 39) x2 ) (* 49 x3 ) (* (- 6) x4 ) (* 35 x4 ) (* (- 5) x1 ) ) 47) (not (= (+ (* (- 37) x0 ) (* 23 x0 ) (* 8 x0 ) (* (- 25) x3 ) (* (- 10) x4 ) (* (- 31) x3 ) (* (- 7) x1 ) (* (- 9) x2 ) (* 42 x4 ) (* 9 x2 ) (* (- 29) x1 ) ) (- 47))) ))
+(assert (or (> (+ (* 20 x0 ) (* 28 x0 ) (* 40 x0 ) (* (- 33) x1 ) (* 1 x3 ) (* 24 x2 ) (* (- 40) x1 ) (* 33 x1 ) ) (- 45)) (>= (+ (* 26 x0 ) (* 43 x3 ) (* 8 x3 ) (* (- 41) x0 ) (* 23 x0 ) (* (- 18) x2 ) (* 13 x0 ) (* 32 x0 ) (* (- 36) x0 ) (* (- 44) x0 ) ) 15) ))
+(assert (or (not (> (+ (* (- 40) x0 ) (* (- 34) x4 ) (* 41 x2 ) (* (- 40) x4 ) (* 44 x2 ) (* (- 3) x1 ) (* (- 44) x3 ) (* (- 29) x2 ) (* (- 31) x3 ) ) (- 14))) (< (+ (* (- 48) x0 ) (* 30 x4 ) (* (- 18) x4 ) ) 39) (>= (+ (* 1 x2 ) (* (- 31) x2 ) (* (- 8) x0 ) ) 31) ))
+(assert (or (not (= (+ (* (- 46) x0 ) (* 1 x3 ) (* (- 1) x3 ) (* 27 x2 ) ) (- 8))) (not (= (+ (* 26 x4 ) (* 39 x4 ) (* (- 14) x4 ) (* (- 9) x0 ) (* 18 x0 ) (* (- 15) x2 ) (* (- 4) x2 ) (* 0 x2 ) (* 48 x3 ) ) (- 8))) (<= (+ (* (- 20) x2 ) (* (- 34) x1 ) (* 49 x4 ) ) 33) ))
+(assert (or (not (>= (+ (* (- 2) x3 ) (* (- 4) x0 ) (* (- 3) x0 ) (* 4 x1 ) (* 30 x4 ) (* (- 49) x0 ) ) (- 20))) (> (+ (* 8 x0 ) (* 24 x0 ) (* 39 x3 ) (* (- 2) x0 ) (* (- 25) x0 ) (* (- 17) x1 ) (* (- 40) x1 ) (* (- 15) x2 ) (* 9 x3 ) (* (- 2) x3 ) (* 49 x4 ) ) (- 47)) (not (<= (+ (* 11 x0 ) (* 49 x4 ) (* 16 x4 ) (* 17 x4 ) (* 0 x2 ) ) 6)) ))
+(assert (or (not (< (+ (* 21 x1 ) (* 35 x1 ) (* (- 41) x3 ) (* 41 x1 ) (* 5 x3 ) (* (- 37) x2 ) (* 23 x4 ) (* (- 6) x3 ) (* (- 25) x4 ) (* (- 29) x0 ) ) (- 7))) (< (+ (* (- 2) x4 ) (* (- 46) x0 ) (* (- 20) x1 ) (* 27 x0 ) (* (- 2) x3 ) (* (- 39) x4 ) ) 8) ))
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* (- 49) x1 ) (* 5 x1 ) (* 8 x3 ) (* (- 28) x1 ) (* 18 x2 ) (* 19 x0 ) (* (- 18) x1 ) (* (- 38) x0 ) ) 12)) (not (= (+ (* 5 x1 ) (* (- 21) x3 ) (* 34 x3 ) (* 34 x4 ) (* 32 x2 ) ) 49)) (= (+ (* (- 36) x1 ) (* 39 x0 ) (* (- 16) x3 ) (* 0 x3 ) (* 24 x3 ) ) 33) ))
+(assert (or (<= (+ (* (- 23) x0 ) (* 45 x1 ) (* 4 x4 ) (* 8 x0 ) (* 14 x0 ) (* (- 9) x1 ) (* 27 x3 ) (* 29 x3 ) (* (- 27) x3 ) ) 18) (not (< (+ (* (- 37) x4 ) (* (- 33) x3 ) (* 42 x1 ) (* (- 48) x0 ) (* 30 x2 ) (* 10 x4 ) ) (- 23))) (= (+ (* 6 x4 ) (* (- 8) x2 ) ) 47) ))
+(assert (not (< (+ (* 43 x2 ) (* (- 13) x0 ) (* 35 x2 ) (* (- 25) x2 ) ) (- 48))) )
+(assert (or (>= (+ (* (- 19) x4 ) (* 27 x0 ) (* (- 34) x2 ) (* (- 27) x1 ) (* 10 x0 ) (* 24 x2 ) (* (- 10) x4 ) (* (- 23) x2 ) (* (- 44) x1 ) (* 7 x1 ) (* 43 x3 ) ) 44) (> (+ (* 37 x0 ) (* (- 3) x3 ) (* (- 31) x3 ) (* 28 x4 ) (* 3 x1 ) (* 35 x2 ) (* (- 26) x3 ) (* (- 5) x2 ) (* 2 x3 ) ) 35) ))
+(assert (= (+ (* (- 23) x0 ) (* 44 x0 ) (* (- 35) x0 ) ) 45) )
+(assert (or (< (+ (* 3 x2 ) (* 31 x1 ) (* 10 x1 ) (* (- 16) x1 ) (* 13 x4 ) ) (- 19)) (not (< (+ (* (- 3) x2 ) (* 46 x4 ) (* 10 x4 ) (* 47 x1 ) (* 3 x1 ) (* (- 49) x2 ) (* (- 35) x2 ) ) 16)) (>= (+ (* (- 39) x2 ) (* (- 42) x0 ) (* 48 x2 ) (* (- 42) x4 ) (* (- 25) x3 ) (* 31 x3 ) (* 6 x3 ) (* 3 x0 ) (* 29 x4 ) (* 30 x0 ) (* (- 27) x1 ) ) 35) ))
+(assert (or (> (+ (* (- 44) x2 ) (* (- 33) x2 ) (* 24 x4 ) (* (- 9) x2 ) (* 22 x4 ) ) 0) (not (<= (+ (* (- 7) x1 ) (* 1 x1 ) (* 8 x3 ) (* (- 37) x2 ) (* (- 39) x3 ) (* 26 x1 ) (* (- 37) x2 ) (* (- 38) x4 ) (* (- 47) x2 ) (* 1 x0 ) ) (- 30))) ))
+(assert (or (not (= (+ (* 33 x2 ) (* (- 27) x2 ) (* 13 x0 ) (* (- 16) x3 ) (* 16 x1 ) (* (- 1) x2 ) (* (- 20) x1 ) (* (- 30) x2 ) (* 14 x3 ) (* (- 3) x0 ) ) (- 22))) (not (> (+ (* (- 27) x1 ) (* (- 26) x2 ) (* 20 x3 ) (* (- 3) x3 ) (* 21 x0 ) (* 36 x1 ) ) (- 16))) (< (+ (* (- 38) x0 ) (* 41 x2 ) (* (- 36) x4 ) ) 13) ))
+(assert (or (> (+ (* 5 x3 ) (* (- 9) x3 ) (* (- 5) x1 ) (* 6 x2 ) (* 46 x3 ) (* (- 25) x1 ) (* 29 x2 ) (* 3 x3 ) (* (- 15) x0 ) (* 30 x1 ) (* 10 x4 ) ) (- 26)) (= (+ (* 6 x4 ) (* (- 47) x3 ) (* (- 18) x1 ) (* 24 x1 ) (* 44 x0 ) (* (- 7) x2 ) ) (- 48)) ))
+(assert (or (not (> (+ (* 31 x2 ) (* 8 x1 ) (* (- 32) x1 ) (* (- 34) x3 ) (* (- 36) x3 ) (* (- 45) x2 ) (* (- 37) x2 ) (* 40 x3 ) (* 30 x3 ) (* 29 x4 ) ) (- 44))) (not (<= (+ (* (- 22) x0 ) (* (- 16) x2 ) ) 36)) (>= (+ (* 5 x3 ) (* (- 9) x4 ) ) (- 25)) ))
+(assert (or (not (> (+ (* 43 x3 ) (* (- 24) x3 ) (* 7 x3 ) (* (- 40) x3 ) (* (- 33) x3 ) (* (- 36) x2 ) (* 7 x2 ) (* 20 x2 ) ) (- 7))) (= (+ (* 37 x4 ) (* 40 x4 ) ) 30) ))
+(assert (or (>= (+ (* 43 x0 ) (* 4 x4 ) ) 21) (not (= (+ (* 1 x4 ) (* (- 44) x4 ) (* 48 x0 ) (* 9 x0 ) ) 18)) ))
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* (- 48) x2 ) (* 4 x1 ) (* (- 2) x4 ) (* (- 41) x0 ) (* 9 x1 ) (* 14 x0 ) (* 28 x3 ) (* (- 12) x3 ) ) (- 20))) (= (+ (* (- 38) x1 ) (* (- 34) x4 ) (* 1 x4 ) (* (- 26) x4 ) (* (- 30) x2 ) (* 36 x3 ) (* (- 14) x2 ) (* (- 32) x2 ) (* 2 x4 ) ) (- 22)) ))
+(assert (or (not (<= (+ (* 42 x4 ) (* (- 46) x0 ) (* 41 x4 ) (* (- 13) x3 ) (* (- 36) x0 ) ) (- 44))) (not (= (+ (* 15 x4 ) (* 24 x2 ) ) 1)) (< (+ (* (- 4) x0 ) (* 0 x3 ) (* 10 x3 ) (* 18 x1 ) ) (- 33)) ))
+(assert (or (= (+ (* (- 19) x3 ) (* (- 39) x4 ) (* (- 5) x1 ) (* (- 39) x3 ) ) (- 48)) (= (+ (* 30 x3 ) (* (- 15) x1 ) (* 8 x1 ) (* (- 26) x1 ) (* 6 x4 ) (* 5 x1 ) (* 3 x4 ) (* (- 13) x2 ) (* (- 47) x2 ) (* 23 x4 ) (* 28 x4 ) ) 34) (= (+ (* (- 20) x4 ) (* (- 30) x3 ) ) (- 36)) ))
+(check-sat)
+(push 1)
+(assert (or (not (>= (+ (* 20 x0 ) (* 43 x2 ) (* (- 49) x2 ) (* (- 46) x2 ) (* 14 x3 ) (* 27 x4 ) (* 43 x2 ) (* 23 x3 ) (* (- 14) x1 ) (* 20 x2 ) ) 16)) (< (+ (* 45 x1 ) (* (- 31) x3 ) ) 25) (<= (+ (* 15 x4 ) (* 41 x4 ) (* 23 x4 ) (* (- 41) x2 ) ) 39) ))
+(check-sat)
+(pop 1)
+(assert (or (> (+ (* (- 43) x0 ) (* (- 49) x0 ) (* (- 8) x2 ) (* (- 29) x4 ) (* (- 32) x2 ) (* (- 37) x0 ) (* 31 x2 ) (* 27 x0 ) (* 21 x3 ) ) (- 30)) (> (+ (* (- 16) x4 ) (* 20 x1 ) (* 28 x3 ) (* 15 x4 ) (* (- 46) x3 ) (* 10 x2 ) (* 12 x2 ) (* 42 x3 ) (* 42 x3 ) (* 25 x0 ) (* (- 26) x2 ) ) (- 42)) (not (>= (+ (* 24 x4 ) (* 21 x3 ) (* 9 x4 ) (* (- 30) x0 ) (* (- 32) x4 ) ) 1)) ))
+(assert (or (<= (+ (* 10 x2 ) (* (- 23) x4 ) (* (- 41) x4 ) ) (- 31)) (>= (+ (* (- 5) x0 ) (* (- 6) x2 ) (* 8 x4 ) (* 34 x3 ) (* 14 x4 ) (* 36 x4 ) (* 23 x1 ) (* (- 11) x1 ) ) (- 26)) (not (< (+ (* 25 x1 ) (* (- 20) x3 ) (* (- 8) x2 ) (* 23 x4 ) (* 25 x3 ) (* 1 x2 ) ) 22)) ))
+(assert (or (not (<= (+ (* 28 x3 ) (* (- 41) x4 ) (* (- 33) x0 ) (* (- 29) x4 ) (* 8 x2 ) (* (- 42) x2 ) (* 23 x2 ) (* 25 x0 ) (* (- 13) x3 ) (* 44 x0 ) ) (- 40))) (<= (+ (* (- 8) x1 ) (* (- 22) x1 ) ) (- 27)) (not (< (+ (* 24 x2 ) (* (- 6) x0 ) (* 29 x2 ) (* (- 1) x2 ) (* (- 15) x0 ) (* (- 23) x4 ) (* 46 x3 ) (* 14 x4 ) (* 26 x3 ) (* 45 x3 ) ) (- 43))) ))
+(assert (or (not (>= (+ (* 48 x2 ) (* 12 x4 ) (* 41 x4 ) (* (- 19) x2 ) (* 31 x2 ) (* (- 45) x2 ) (* 2 x2 ) (* (- 7) x0 ) (* (- 50) x4 ) (* (- 16) x4 ) ) 14)) (> (+ (* 19 x4 ) (* (- 18) x0 ) (* (- 20) x0 ) (* 29 x3 ) ) (- 22)) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(assert (or (not (= (+ (* 23 x2 ) (* (- 43) x4 ) (* (- 39) x3 ) (* 4 x2 ) ) (- 2))) (>= (+ (* (- 1) x2 ) (* 0 x0 ) (* 31 x1 ) (* 20 x1 ) (* (- 27) x2 ) ) 22) (<= (+ (* 42 x1 ) (* (- 4) x4 ) (* 12 x2 ) (* 36 x1 ) (* (- 36) x4 ) (* 18 x4 ) (* 47 x0 ) ) (- 19)) ))
+(assert (or (>= (+ (* 4 x1 ) (* (- 32) x2 ) (* 47 x1 ) ) 43) (< (+ (* 31 x4 ) (* 33 x0 ) (* 27 x2 ) (* 0 x0 ) (* (- 35) x0 ) (* 14 x4 ) (* 35 x0 ) (* 17 x4 ) (* 7 x3 ) (* (- 19) x3 ) ) (- 42)) ))
+(assert (not (>= (+ (* (- 36) x0 ) (* (- 28) x2 ) (* (- 49) x2 ) (* (- 17) x0 ) (* (- 16) x2 ) ) (- 40))) )
+(assert (or (not (>= (+ (* 35 x4 ) (* (- 42) x1 ) (* (- 31) x4 ) (* (- 36) x3 ) (* 28 x3 ) (* (- 10) x0 ) (* 37 x1 ) (* 11 x1 ) (* (- 29) x3 ) (* 31 x1 ) ) (- 28))) (>= (+ (* 26 x1 ) (* 12 x4 ) (* (- 7) x1 ) ) (- 39)) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* 48 x4 ) (* 8 x4 ) (* (- 34) x4 ) (* (- 47) x4 ) (* (- 7) x3 ) (* 46 x1 ) (* (- 13) x1 ) (* (- 28) x3 ) (* (- 20) x3 ) (* 30 x0 ) (* (- 35) x1 ) ) 36) (>= (+ (* (- 22) x0 ) (* (- 14) x4 ) (* (- 22) x4 ) (* (- 25) x2 ) (* 1 x3 ) (* 18 x1 ) (* (- 34) x4 ) (* 12 x1 ) (* (- 8) x2 ) (* 33 x0 ) (* (- 47) x1 ) ) 15) ))
+(assert (>= (+ (* 12 x2 ) (* 14 x3 ) (* (- 36) x2 ) ) (- 49)) )
+(assert (or (> (+ (* (- 40) x1 ) (* 47 x1 ) (* 14 x1 ) (* 41 x4 ) (* (- 39) x3 ) (* (- 23) x4 ) (* 41 x2 ) (* (- 48) x1 ) (* (- 18) x2 ) (* 46 x1 ) ) (- 4)) (not (< (+ (* (- 36) x3 ) (* (- 47) x4 ) (* 3 x4 ) (* (- 5) x4 ) ) 13)) (< (+ (* (- 45) x2 ) (* (- 33) x2 ) (* 8 x2 ) (* 34 x4 ) ) (- 1)) ))
+(assert (or (<= (+ (* 25 x0 ) (* 41 x4 ) (* (- 33) x1 ) (* (- 50) x2 ) (* (- 39) x3 ) ) 3) (> (+ (* (- 48) x4 ) (* 13 x0 ) (* 44 x2 ) (* (- 26) x3 ) ) 3) (= (+ (* (- 3) x2 ) (* 48 x1 ) (* 16 x4 ) (* (- 27) x0 ) (* 43 x4 ) (* 16 x2 ) (* 15 x4 ) (* 49 x2 ) (* 35 x4 ) ) (- 30)) ))
+(assert (not (>= (+ (* (- 18) x4 ) (* 27 x4 ) ) 12)) )
+(assert (> (+ (* 42 x4 ) (* 10 x1 ) (* (- 3) x2 ) (* (- 38) x0 ) (* 49 x3 ) (* (- 8) x4 ) ) 1) )
+(check-sat)
+(pop 1)
+(assert (or (not (< (+ (* 27 x0 ) (* (- 19) x4 ) (* (- 7) x2 ) (* 41 x1 ) (* (- 9) x4 ) (* (- 37) x1 ) (* 47 x4 ) (* 3 x0 ) ) 46)) (not (>= (+ (* 45 x2 ) (* 35 x3 ) (* (- 20) x1 ) ) 6)) ))
+(check-sat)
+(push 1)
+(assert (>= (+ (* (- 10) x3 ) (* (- 29) x3 ) (* 39 x3 ) (* (- 6) x0 ) (* 16 x0 ) (* (- 1) x0 ) (* 34 x3 ) (* 24 x0 ) (* (- 44) x1 ) ) (- 41)) )
+(assert (< (+ (* (- 45) x3 ) (* 14 x2 ) (* (- 3) x0 ) (* (- 17) x3 ) (* 3 x2 ) (* (- 8) x2 ) ) (- 8)) )
+(check-sat)
+(pop 1)
+(assert (or (not (>= (+ (* (- 10) x0 ) (* (- 43) x3 ) (* (- 46) x1 ) (* (- 43) x2 ) (* (- 38) x4 ) (* (- 48) x3 ) (* (- 13) x2 ) (* (- 26) x1 ) (* (- 28) x0 ) (* 22 x3 ) (* 15 x0 ) ) (- 35))) (>= (+ (* 0 x1 ) (* (- 38) x0 ) ) 21) ))
+(assert (or (> (+ (* (- 3) x1 ) (* 20 x0 ) (* (- 41) x4 ) (* (- 21) x4 ) (* 40 x1 ) (* 33 x3 ) ) 14) (<= (+ (* (- 27) x0 ) (* (- 45) x2 ) (* (- 20) x4 ) (* (- 46) x2 ) (* 28 x2 ) ) (- 13)) ))
+(assert (or (<= (+ (* 14 x2 ) (* (- 14) x2 ) (* 11 x0 ) (* (- 26) x2 ) (* (- 27) x4 ) (* 18 x2 ) (* (- 35) x1 ) (* 17 x0 ) (* (- 28) x3 ) ) (- 26)) (not (> (+ (* (- 3) x1 ) (* (- 37) x3 ) (* (- 41) x3 ) (* (- 50) x3 ) (* (- 30) x2 ) (* (- 36) x0 ) (* (- 8) x3 ) (* 28 x1 ) (* 30 x1 ) (* 24 x1 ) (* (- 11) x3 ) ) 39)) (<= (+ (* 32 x3 ) (* 38 x1 ) (* (- 23) x2 ) (* 32 x3 ) (* 36 x3 ) (* 38 x2 ) (* 19 x2 ) (* (- 46) x0 ) (* (- 30) x0 ) (* (- 39) x1 ) (* 15 x3 ) ) (- 7)) ))
+(assert (or (not (<= (+ (* 47 x0 ) (* (- 10) x0 ) (* 14 x2 ) (* (- 49) x4 ) (* 19 x1 ) (* (- 14) x4 ) ) 5)) (>= (+ (* (- 14) x2 ) (* 34 x0 ) (* (- 1) x4 ) (* (- 43) x3 ) (* 41 x4 ) (* 3 x4 ) (* 0 x2 ) (* (- 6) x3 ) (* (- 4) x4 ) (* 33 x0 ) ) (- 40)) (not (> (+ (* (- 29) x0 ) (* 40 x2 ) (* (- 32) x4 ) (* 48 x2 ) (* 37 x2 ) (* (- 34) x2 ) (* (- 20) x1 ) (* 0 x0 ) ) 24)) ))
+(assert (or (< (+ (* (- 14) x3 ) (* (- 7) x4 ) (* (- 1) x4 ) ) (- 41)) (< (+ (* (- 2) x0 ) (* 24 x3 ) (* 25 x2 ) (* (- 24) x4 ) (* (- 43) x3 ) (* 49 x4 ) ) 39) ))
+(assert (or (= (+ (* 42 x2 ) (* (- 15) x0 ) (* 39 x3 ) (* (- 2) x0 ) (* 41 x0 ) ) (- 46)) (not (<= (+ (* (- 25) x0 ) (* (- 38) x1 ) (* (- 17) x1 ) (* (- 34) x0 ) (* 34 x0 ) (* 31 x2 ) (* 19 x1 ) ) (- 5))) ))
+(assert (or (< (+ (* (- 15) x1 ) (* 41 x1 ) (* (- 37) x0 ) (* (- 11) x4 ) (* (- 29) x0 ) (* 6 x1 ) ) 48) (< (+ (* (- 39) x3 ) (* 5 x2 ) ) (- 3)) ))
+(assert (or (< (+ (* 37 x4 ) (* (- 24) x2 ) (* 18 x1 ) (* (- 6) x1 ) (* 46 x1 ) (* (- 5) x2 ) (* 18 x0 ) ) (- 32)) (= (+ (* 46 x4 ) (* (- 48) x0 ) (* 38 x4 ) (* 9 x2 ) (* 43 x0 ) (* 33 x4 ) (* 34 x2 ) (* 36 x3 ) (* (- 6) x0 ) (* (- 27) x2 ) (* (- 32) x0 ) ) (- 31)) ))
+(assert (or (not (< (+ (* 43 x0 ) (* 4 x0 ) (* 26 x0 ) (* (- 1) x3 ) (* 15 x1 ) (* (- 7) x3 ) (* (- 25) x1 ) (* (- 12) x1 ) ) (- 41))) (< (+ (* 33 x2 ) (* (- 13) x4 ) (* 15 x2 ) ) 37) (not (>= (+ (* 41 x1 ) (* 14 x3 ) ) 47)) ))
+(assert (or (not (< (+ (* 0 x3 ) (* (- 16) x4 ) (* 27 x0 ) (* 34 x4 ) (* (- 49) x1 ) (* 30 x2 ) (* 3 x4 ) (* (- 12) x3 ) ) 20)) (> (+ (* 19 x1 ) (* 9 x1 ) (* (- 16) x3 ) (* 23 x4 ) (* (- 9) x2 ) (* (- 35) x1 ) (* (- 18) x1 ) (* 16 x2 ) (* 28 x1 ) ) (- 48)) (not (>= (+ (* 18 x3 ) (* (- 7) x4 ) (* 34 x1 ) (* (- 31) x0 ) ) (- 21))) ))
+(check-sat)
+(push 1)
+(assert (or (not (<= (+ (* 44 x4 ) (* 15 x2 ) (* 9 x2 ) (* 9 x1 ) (* 24 x1 ) ) (- 30))) (<= (+ (* (- 13) x1 ) (* 41 x3 ) ) 1) (= (+ (* 19 x0 ) (* 48 x2 ) (* 33 x2 ) (* 28 x1 ) (* (- 2) x3 ) ) (- 26)) ))
+(assert (or (= (+ (* (- 2) x0 ) (* 32 x3 ) (* (- 25) x0 ) ) (- 3)) (= (+ (* 16 x0 ) (* (- 45) x0 ) (* (- 43) x3 ) (* 20 x4 ) (* (- 19) x1 ) ) (- 45)) (not (> (+ (* 35 x2 ) (* (- 7) x2 ) (* 4 x3 ) (* 48 x2 ) (* 15 x4 ) (* (- 4) x2 ) (* 30 x2 ) (* 7 x4 ) (* (- 34) x4 ) (* 42 x0 ) (* 30 x3 ) ) 49)) ))
+(assert (> (+ (* (- 7) x0 ) (* 14 x4 ) (* (- 34) x0 ) (* 18 x4 ) (* (- 22) x0 ) (* 26 x3 ) (* 1 x4 ) ) (- 28)) )
+(assert (or (not (= (+ (* 22 x2 ) (* (- 24) x1 ) (* 46 x0 ) (* (- 42) x0 ) (* (- 42) x3 ) (* (- 10) x3 ) ) (- 47))) (not (>= (+ (* (- 34) x4 ) (* 6 x2 ) (* 21 x0 ) (* 41 x3 ) (* (- 43) x4 ) (* 7 x4 ) (* (- 21) x1 ) (* (- 6) x1 ) (* 8 x1 ) ) (- 28))) ))
+(assert (>= (+ (* (- 15) x2 ) (* (- 39) x0 ) (* (- 45) x4 ) (* 40 x2 ) (* 49 x3 ) (* (- 32) x2 ) (* (- 18) x2 ) (* (- 2) x4 ) (* (- 9) x4 ) ) (- 45)) )
+(assert (or (not (> (+ (* (- 1) x2 ) (* 33 x2 ) (* (- 50) x3 ) (* 6 x2 ) (* (- 8) x2 ) (* (- 6) x4 ) (* 16 x4 ) (* 23 x4 ) (* 31 x2 ) (* 42 x3 ) (* (- 45) x0 ) ) (- 10))) (> (+ (* 18 x0 ) (* (- 31) x2 ) (* (- 4) x3 ) (* 27 x0 ) (* 18 x4 ) (* (- 27) x0 ) (* 19 x1 ) (* (- 3) x3 ) (* 19 x3 ) ) 15) (> (+ (* (- 12) x1 ) (* (- 3) x2 ) (* (- 31) x0 ) (* 43 x1 ) (* 46 x2 ) (* 36 x3 ) (* 6 x0 ) (* (- 15) x4 ) (* 15 x1 ) (* 18 x0 ) ) 39) ))
+(assert (not (< (+ (* 47 x3 ) (* (- 27) x1 ) (* (- 18) x2 ) (* 9 x3 ) (* (- 42) x1 ) (* 37 x3 ) (* (- 2) x1 ) (* (- 36) x0 ) (* 0 x1 ) (* 21 x2 ) (* 10 x2 ) ) (- 14))) )
+(assert (or (not (< (+ (* 10 x1 ) (* 15 x4 ) (* (- 30) x2 ) (* 39 x0 ) (* (- 45) x4 ) (* (- 14) x3 ) (* 29 x3 ) (* 16 x0 ) (* (- 39) x4 ) ) (- 18))) (not (>= (+ (* 1 x3 ) (* (- 25) x2 ) (* 45 x1 ) (* (- 25) x2 ) (* 41 x3 ) (* (- 16) x0 ) (* (- 7) x3 ) ) 4)) (< (+ (* 35 x3 ) (* (- 32) x4 ) (* 24 x4 ) (* 45 x4 ) (* (- 34) x2 ) (* 1 x0 ) (* (- 49) x2 ) (* 39 x4 ) (* (- 48) x1 ) (* 30 x2 ) ) (- 23)) ))
+(check-sat)
+(pop 1)
+(assert (or (not (> (+ (* (- 6) x4 ) (* 34 x4 ) (* (- 45) x4 ) (* (- 5) x2 ) (* 36 x0 ) (* (- 33) x0 ) (* 2 x4 ) (* (- 21) x0 ) (* 24 x3 ) (* (- 19) x3 ) (* (- 43) x1 ) ) (- 38))) (<= (+ (* 49 x0 ) (* (- 19) x2 ) (* (- 4) x4 ) (* (- 49) x2 ) (* 6 x1 ) (* 35 x1 ) (* 36 x3 ) ) (- 26)) ))
+(assert (< (+ (* (- 47) x2 ) (* 28 x1 ) (* 29 x0 ) (* 49 x2 ) (* 49 x0 ) (* (- 43) x4 ) (* 3 x0 ) (* (- 5) x3 ) (* 16 x0 ) (* 33 x1 ) ) 24) )
+(check-sat)
+(push 1)
+(assert (or (> (+ (* (- 27) x4 ) (* (- 23) x3 ) (* (- 23) x2 ) (* 10 x0 ) (* (- 40) x2 ) ) 48) (not (= (+ (* 6 x2 ) (* (- 49) x3 ) (* (- 5) x1 ) ) 3)) (not (> (+ (* (- 3) x4 ) (* (- 31) x3 ) (* 3 x0 ) (* (- 9) x4 ) (* 18 x1 ) (* 8 x1 ) ) 45)) ))
+(assert (or (not (< (+ (* (- 40) x2 ) (* (- 29) x3 ) (* (- 32) x3 ) (* 15 x4 ) (* (- 23) x0 ) (* 8 x4 ) (* (- 30) x2 ) (* 26 x3 ) (* (- 2) x1 ) (* (- 14) x1 ) (* 7 x2 ) ) 6)) (not (> (+ (* (- 12) x4 ) (* 30 x4 ) (* 36 x1 ) (* (- 20) x2 ) (* 11 x2 ) ) (- 50))) ))
+(assert (or (not (= (+ (* 31 x1 ) (* 34 x3 ) (* (- 31) x2 ) (* (- 12) x0 ) (* 29 x2 ) (* 13 x2 ) (* 16 x2 ) (* (- 42) x3 ) (* 32 x2 ) (* 18 x3 ) ) 18)) (> (+ (* (- 47) x4 ) (* 20 x2 ) (* (- 27) x1 ) ) (- 21)) ))
+(assert (> (+ (* 21 x4 ) (* (- 14) x3 ) (* (- 48) x0 ) (* (- 6) x2 ) (* 20 x4 ) (* 28 x4 ) (* 43 x3 ) (* 23 x1 ) (* 47 x1 ) ) (- 49)) )
+(assert (> (+ (* 21 x4 ) (* 45 x2 ) (* 8 x1 ) (* (- 40) x1 ) (* (- 34) x1 ) (* (- 19) x1 ) (* 0 x1 ) ) (- 23)) )
+(assert (< (+ (* (- 34) x2 ) (* (- 45) x4 ) (* 3 x0 ) (* (- 33) x2 ) ) 18) )
+(assert (or (<= (+ (* 25 x2 ) (* (- 30) x0 ) (* 7 x0 ) (* 34 x1 ) (* (- 43) x0 ) (* 18 x4 ) (* (- 43) x4 ) (* 19 x2 ) (* (- 21) x3 ) (* 35 x3 ) (* 5 x4 ) ) (- 12)) (not (> (+ (* (- 33) x2 ) (* 26 x3 ) (* (- 25) x4 ) ) (- 46))) ))
+(check-sat)
+(pop 1)
+(assert (or (not (>= (+ (* (- 38) x3 ) (* (- 6) x4 ) (* (- 19) x4 ) (* (- 45) x1 ) (* (- 46) x2 ) ) 40)) (not (<= (+ (* (- 14) x1 ) (* 45 x3 ) (* (- 42) x4 ) (* 38 x2 ) (* 26 x0 ) (* 32 x0 ) (* 19 x2 ) (* 45 x1 ) (* 11 x1 ) (* (- 38) x2 ) ) (- 45))) ))
+(assert (not (> (+ (* 27 x2 ) (* (- 11) x4 ) (* (- 30) x2 ) ) (- 23))) )
+(assert (or (<= (+ (* 44 x2 ) (* (- 26) x3 ) (* (- 13) x1 ) ) 44) (= (+ (* 41 x0 ) (* 13 x4 ) (* (- 15) x2 ) (* (- 41) x4 ) (* (- 36) x4 ) (* 5 x2 ) ) (- 45)) (not (= (+ (* 41 x1 ) (* (- 45) x1 ) (* 38 x3 ) (* 1 x4 ) (* 25 x2 ) (* 8 x4 ) (* 23 x0 ) (* 27 x2 ) ) 15)) ))
+(assert (or (= (+ (* (- 42) x3 ) (* 37 x1 ) (* 48 x3 ) (* 41 x4 ) (* (- 18) x0 ) (* (- 2) x2 ) (* (- 32) x2 ) (* (- 14) x1 ) (* (- 49) x4 ) (* 8 x4 ) (* 34 x1 ) ) 34) (not (< (+ (* 4 x3 ) (* (- 8) x0 ) (* (- 10) x1 ) (* 24 x3 ) (* (- 32) x3 ) (* 14 x2 ) (* 4 x4 ) (* (- 6) x1 ) (* (- 16) x3 ) (* 41 x2 ) (* (- 19) x2 ) ) 42)) (< (+ (* (- 24) x2 ) (* (- 14) x2 ) (* (- 15) x2 ) (* (- 31) x0 ) (* 21 x2 ) (* (- 18) x4 ) (* (- 11) x0 ) (* 19 x1 ) ) (- 47)) ))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LRA)
+(declare-fun x0 () Real)
+(declare-fun x1 () Real)
+(declare-fun x2 () Real)
+(declare-fun x3 () Real)
+(declare-fun x4 () Real)
+(assert (or (= (+ (* 24 x2 ) (* (- 12) x4 ) (* (- 11) x2 ) (* 21 x1 ) ) (- 25)) (not (< (+ (* (- 42) x2 ) (* 19 x2 ) (* (- 48) x1 ) (* 37 x0 ) ) 38)) ))
+(assert (< (+ (* (- 40) x2 ) (* 1 x3 ) (* (- 30) x4 ) (* (- 45) x2 ) (* 39 x3 ) ) (- 6)) )
+(assert (or (not (> (+ (* 26 x0 ) (* (- 42) x1 ) (* (- 40) x2 ) (* (- 33) x0 ) (* 1 x2 ) (* (- 5) x4 ) (* 46 x4 ) (* 13 x1 ) (* (- 49) x4 ) (* (- 22) x4 ) (* (- 6) x1 ) ) (- 16))) (not (<= (+ (* 48 x3 ) (* 27 x0 ) (* (- 23) x2 ) (* (- 35) x3 ) ) 37)) (not (<= (+ (* 25 x0 ) (* 16 x1 ) (* 47 x2 ) (* (- 22) x0 ) ) 10)) ))
+(assert (>= (+ (* 38 x0 ) (* 6 x1 ) (* (- 48) x1 ) (* (- 27) x4 ) (* 33 x1 ) (* (- 14) x2 ) (* 40 x4 ) (* 26 x3 ) ) 42) )
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (<= (+ (* (- 32) x2 ) (* 30 x1 ) (* 41 x2 ) (* (- 37) x1 ) ) (- 21)) (< (+ (* 9 x0 ) (* (- 1) x2 ) (* 48 x1 ) (* (- 47) x0 ) (* (- 22) x4 ) (* 49 x0 ) (* (- 10) x4 ) (* 9 x1 ) (* (- 30) x4 ) (* 38 x2 ) (* 5 x0 ) ) 19) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* 9 x4 ) (* 25 x1 ) (* 47 x4 ) (* (- 26) x1 ) (* (- 10) x2 ) (* 28 x3 ) (* (- 37) x2 ) (* (- 22) x2 ) (* 23 x1 ) (* (- 36) x2 ) ) (- 10)) (< (+ (* (- 31) x2 ) (* (- 6) x4 ) (* (- 28) x4 ) (* 13 x0 ) (* 21 x4 ) ) 40) ))
+(check-sat)
+(pop 1)
+(assert (not (> (+ (* (- 44) x3 ) (* (- 40) x3 ) (* (- 46) x4 ) (* (- 1) x4 ) (* 26 x3 ) (* (- 27) x4 ) (* 26 x4 ) (* 21 x4 ) (* 44 x0 ) (* (- 3) x3 ) ) (- 41))) )
+(assert (or (not (< (+ (* 22 x2 ) (* (- 4) x0 ) ) (- 28))) (<= (+ (* 41 x1 ) (* 7 x4 ) ) (- 10)) ))
+(assert (not (<= (+ (* (- 21) x2 ) (* (- 6) x3 ) (* (- 24) x3 ) (* (- 17) x1 ) (* 11 x1 ) (* (- 5) x0 ) ) (- 45))) )
+(assert (or (< (+ (* 16 x2 ) (* 48 x3 ) (* 20 x2 ) (* (- 1) x2 ) (* 43 x0 ) (* 15 x0 ) (* (- 33) x0 ) ) 44) (not (<= (+ (* (- 46) x4 ) (* 22 x0 ) (* (- 10) x3 ) (* (- 27) x0 ) (* (- 11) x4 ) (* (- 32) x0 ) (* 17 x3 ) (* (- 39) x4 ) (* (- 8) x3 ) (* (- 25) x1 ) ) (- 7))) ))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (< (+ (* (- 5) x2 ) (* (- 22) x3 ) (* 2 x0 ) (* 42 x1 ) (* (- 29) x2 ) (* 12 x3 ) (* 16 x3 ) (* (- 19) x0 ) (* (- 42) x0 ) (* (- 6) x1 ) ) 40)) (> (+ (* 27 x2 ) (* (- 28) x2 ) (* 7 x0 ) (* 9 x1 ) (* 14 x2 ) (* 4 x3 ) (* (- 16) x3 ) (* 41 x1 ) ) (- 42)) ))
+(assert (or (= (+ (* (- 36) x4 ) (* 5 x0 ) (* 2 x4 ) ) (- 16)) (< (+ (* (- 10) x1 ) (* 13 x3 ) (* 39 x4 ) (* (- 47) x3 ) (* (- 39) x0 ) (* 24 x2 ) (* 5 x2 ) (* (- 45) x2 ) (* 24 x1 ) ) (- 21)) ))
+(check-sat)
+(push 1)
+(assert (or (< (+ (* (- 7) x3 ) (* 35 x2 ) (* (- 42) x1 ) (* 43 x3 ) (* 27 x3 ) (* (- 47) x2 ) (* (- 5) x2 ) (* 13 x0 ) (* 36 x4 ) ) (- 38)) (not (<= (+ (* 27 x0 ) (* 25 x1 ) (* 36 x0 ) (* 46 x2 ) (* (- 9) x2 ) (* 4 x1 ) (* (- 6) x3 ) (* (- 6) x4 ) (* (- 22) x2 ) (* (- 19) x3 ) (* (- 25) x3 ) ) (- 22))) ))
+(assert (or (= (+ (* (- 13) x3 ) (* 3 x4 ) (* (- 25) x2 ) (* (- 26) x0 ) ) (- 38)) (< (+ (* 13 x2 ) (* (- 44) x3 ) (* 12 x2 ) (* (- 6) x2 ) (* 25 x2 ) (* 27 x2 ) ) (- 50)) ))
+(assert (or (not (= (+ (* (- 18) x4 ) (* (- 31) x1 ) ) (- 13))) (= (+ (* (- 42) x3 ) (* 10 x2 ) (* 29 x0 ) (* 0 x4 ) (* (- 19) x2 ) ) (- 38)) (= (+ (* (- 47) x4 ) (* (- 36) x1 ) (* 11 x1 ) (* (- 50) x1 ) (* 1 x0 ) (* (- 33) x3 ) (* 20 x2 ) (* (- 32) x2 ) (* (- 30) x0 ) (* 42 x2 ) (* (- 21) x1 ) ) 21) ))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+topdir = ../../../../..
+srcdir = test/regress/regress0/push-pop/boolean
+
+include $(topdir)/Makefile.subdir
+
+# synonyms for "check"
+.PHONY: test
+test: check
--- /dev/null
+SUBDIRS = .
+
+BINARY = cvc4
+LOG_COMPILER = @srcdir@/../../../run_regression
+AM_LOG_FLAGS = $(RUN_REGRESSION_ARGS) @top_builddir@/src/main/$(BINARY)
+
+if AUTOMAKE_1_11
+# old-style (pre-automake 1.12) test harness
+TESTS_ENVIRONMENT = \
+ $(TESTS_ENVIRONMENT) $(LOG_COMPILER) \
+ $(AM_LOG_FLAGS) $(LOG_FLAGS)
+endif
+
+MAKEFLAGS = -k
+
+# These are run for all build profiles.
+# If a test shouldn't be run in e.g. competition mode,
+# put it below in "TESTS +="
+
+# Regression tests for SMT inputs
+CVC_TESTS =
+
+SMT2_TESTS = \
+ fuzz_1.smt2 \
+ fuzz_2.smt2 \
+ fuzz_3.smt2 \
+ fuzz_4.smt2 \
+ fuzz_5.smt2 \
+ fuzz_6.smt2 \
+ fuzz_7.smt2 \
+ fuzz_8.smt2 \
+ fuzz_9.smt2 \
+ fuzz_10.smt2 \
+ fuzz_11.smt2 \
+ fuzz_12.smt2 \
+ fuzz_13.smt2 \
+ fuzz_14.smt2 \
+ fuzz_15.smt2 \
+ fuzz_16.smt2 \
+ fuzz_18.smt2 \
+ fuzz_19.smt2 \
+ fuzz_20.smt2 \
+ fuzz_21.smt2 \
+ fuzz_22.smt2 \
+ fuzz_23.smt2 \
+ fuzz_24.smt2 \
+ fuzz_25.smt2 \
+ fuzz_26.smt2 \
+ fuzz_27.smt2 \
+ fuzz_28.smt2 \
+ fuzz_29.smt2 \
+ fuzz_30.smt2 \
+ fuzz_31.smt2 \
+ fuzz_32.smt2 \
+ fuzz_33.smt2 \
+ fuzz_34.smt2 \
+ fuzz_35.smt2 \
+ fuzz_36.smt2 \
+ fuzz_37.smt2 \
+ fuzz_38.smt2 \
+ fuzz_39.smt2 \
+ fuzz_40.smt2 \
+ fuzz_41.smt2 \
+ fuzz_42.smt2 \
+ fuzz_43.smt2 \
+ fuzz_44.smt2 \
+ fuzz_45.smt2 \
+ fuzz_46.smt2 \
+ fuzz_47.smt2 \
+ fuzz_48.smt2 \
+ fuzz_49.smt2 \
+ fuzz_50.smt2 \
+ fuzz_51.smt2 \
+ fuzz_52.smt2
+
+BUG_TESTS =
+
+TESTS = $(SMT_TESTS) $(SMT2_TESTS) $(CVC_TESTS) $(BUG_TESTS)
+
+EXTRA_DIST = $(TESTS)
+
+# synonyms for "check" in this directory
+.PHONY: regress regress0 test
+regress regress0 test: check
+
+# do nothing in this subdir
+.PHONY: regress1 regress2 regress3
+regress1 regress2 regress3:
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(declare-fun x9 () Bool)
+(assert (or (and (or (and (and (or (and (and (and x6 x1) (not x7)) (not (and x5 x9))) (or (or (and x8 x7) (or x5 x4)) (and (and x3 x2) (and x2 x9)))) (and (or (not (or x8 x3)) (and (or x1 x0) (not x9))) (or (or (and x7 x1) (not x5)) (not (and x1 x8))))) (not (and (and (or (and x4 x2) (or x5 x5)) (and (and x4 x6) (not x8))) (and (or (or x7 x4) (and x3 x1)) (or (and x8 x7) (or x9 x8)))))) (or (or (or (and (not (not x6)) (or (and x1 x5) (or x5 x2))) (or (not (or x3 x1)) (and (not x3) (or x0 x9)))) (and (or (not (or x0 x7)) (or (or x8 x3) (or x5 x9))) (or (or (not x3) (and x0 x5)) (and (or x7 x8) (or x6 x7))))) (not (not (not (and (and x0 x3) (and x1 x0))))))) (and (and (or (and (and (not (not x0)) (or (or x3 x4) (and x0 x9))) (not (not (and x1 x5)))) (not (not (or (and x7 x5) (not x0))))) (or (not (and (or (or x0 x9) (not x8)) (not (and x4 x5)))) (not (or (and (and x9 x3) (not x8)) (or (or x4 x9) (and x9 x7)))))) (and (or (not (and (not (not x8)) (or (not x8) (or x2 x1)))) (or (or (not (not x6)) (and (and x5 x2) (or x3 x8))) (not (and (or x7 x7) (or x5 x2))))) (or (or (and (not (not x2)) (and (or x2 x9) (or x8 x5))) (or (or (and x3 x4) (and x7 x5)) (and (not x1) (not x6)))) (or (or (and (not x4) (and x3 x3)) (and (not x5) (or x7 x9))) (not (and (not x8) (and x5 x0)))))))) (or (not (or (or (not (and (or (not x5) (and x0 x6)) (not (not x0)))) (and (not (or (or x5 x1) (or x4 x0))) (and (not (or x4 x9)) (or (or x4 x1) (or x7 x8))))) (or (or (not (or (and x2 x3) (and x1 x4))) (not (and (and x2 x3) (or x5 x7)))) (not (not (or (or x7 x9) (and x3 x5))))))) (not (not (or (not (or (or (not x0) (not x9)) (or (or x3 x9) (or x9 x1)))) (or (and (not (not x1)) (and (and x9 x3) (or x0 x8))) (or (and (and x3 x7) (or x6 x8)) (not (or x9 x1))))))))))
+(check-sat)
+(push 1)
+(assert (and (not (or (not (or (not (not x3)) (and (and x2 x3) (and x9 x3)))) (or (or (or (and x5 x8) (and x4 x6)) (not (or x7 x3))) (not (and (or x8 x6) (and x4 x7)))))) (or (or (not (not (or (and x5 x1) (or x8 x3)))) (and (not (and (not x5) (not x1))) (or (not (not x0)) (not (not x6))))) (or (and (not (and (or x1 x2) (and x5 x4))) (and (not (and x3 x9)) (or (not x9) (not x7)))) (and (not (and (or x6 x2) (or x9 x9))) (or (and (not x9) (or x4 x4)) (not (and x4 x7))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (not (and (not (and (or (not (not x7)) (or (and x6 x1) (not x6))) (or (and (or x4 x3) (not x3)) (or (or x4 x1) (not x4))))) (not (or (and (not (not x4)) (not (and x5 x6))) (not (and (or x2 x1) (or x3 x7))))))))))
+(check-sat)
+(push 1)
+(assert (not (and (not (not x1)) (or (or x8 x7) (and x1 x2)))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (or x6 x2)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (and (not (and (and x3 x6) (and x6 x9))) (not (or (and x1 x6) (and x5 x1)))) (and (not (or (and x2 x8) (not x4))) (or (not (not x3)) (or (not x3) (or x1 x7))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (or (not (and (not (not (and (not (not x5)) (or (not x3) (or x1 x7))))) (not (or (or (or (and x8 x9) (or x6 x8)) (or (not x6) (not x2))) (not (and (not x8) (or x3 x9))))))) (or (and (and (and (and (and (and x7 x9) (and x3 x2)) (not (and x1 x4))) (and (not (not x1)) (and (or x8 x3) (or x3 x4)))) (and (and (or (and x4 x6) (and x9 x2)) (not (or x9 x1))) (not (and (or x6 x8) (not x2))))) (and (and (or (and (or x1 x2) (and x4 x8)) (or (or x7 x4) (or x3 x1))) (and (not (not x2)) (or (and x3 x0) (not x9)))) (not (not (not (not x1)))))) (and (or (not (not (or (or x2 x9) (or x8 x8)))) (or (or (not (and x5 x2)) (not (or x4 x5))) (and (not (or x6 x9)) (not (not x7))))) (not (and (not (not (or x5 x4))) (and (or (and x1 x7) (or x2 x2)) (not (not x9)))))))))))
+(assert (not (or (and (or (or x6 x2) (and x9 x1)) (and (not x3) (and x8 x2))) (or (and (or x0 x0) (not x7)) (and (not x1) (and x7 x1))))))
+(check-sat)
+(pop 1)
+(assert (and (or (not (or (or (or (not (not (and x9 x8))) (and (not (and x6 x4)) (and (or x6 x2) (and x4 x2)))) (and (or (and (and x1 x4) (and x1 x8)) (and (or x6 x0) (or x8 x6))) (or (and (not x8) (and x7 x6)) (or (not x5) (not x7))))) (and (or (or (not (or x5 x5)) (and (and x3 x8) (not x9))) (and (or (or x6 x6) (or x0 x6)) (or (and x5 x1) (not x9)))) (or (and (or (and x5 x6) (not x9)) (not (not x6))) (or (not (and x9 x3)) (not (not x1))))))) (and (and (or (and (and (and (and x6 x3) (or x5 x5)) (or (and x7 x8) (and x3 x6))) (and (and (not x2) (not x7)) (not (and x2 x2)))) (or (not (and (not x5) (not x5))) (and (and (not x7) (and x8 x2)) (not (and x9 x1))))) (or (not (or (and (not x9) (not x0)) (and (not x8) (and x8 x5)))) (not (not (not (not x5)))))) (or (not (or (or (or (not x4) (and x1 x3)) (or (and x6 x1) (not x5))) (not (not (not x4))))) (and (and (or (not (or x9 x8)) (or (not x0) (and x9 x5))) (and (not (not x4)) (not (or x5 x8)))) (and (and (or (and x2 x1) (not x3)) (and (and x5 x6) (not x8))) (not (or (not x1) (not x8)))))))) (and (or (and (and (or (or (and (or x1 x5) (not x3)) (and (not x9) (not x3))) (and (and (or x1 x0) (or x2 x8)) (or (not x7) (and x0 x7)))) (or (or (and (and x1 x7) (or x4 x1)) (and (or x4 x9) (and x3 x9))) (not (and (not x8) (and x4 x2))))) (and (or (and (or (or x9 x5) (not x7)) (or (or x8 x9) (or x6 x4))) (and (not (not x1)) (or (and x7 x3) (or x0 x7)))) (or (or (and (not x6) (not x2)) (and (not x1) (and x8 x0))) (not (or (and x1 x8) (and x7 x3)))))) (and (and (or (and (or (or x6 x3) (not x5)) (not (not x9))) (and (or (or x5 x0) (and x8 x5)) (and (and x7 x0) (and x0 x9)))) (not (or (and (and x9 x1) (and x6 x7)) (and (or x4 x3) (or x7 x4))))) (and (or (not (and (or x5 x4) (or x1 x4))) (not (and (or x3 x1) (or x2 x7)))) (not (and (or (or x0 x6) (not x4)) (and (or x0 x0) (not x1))))))) (and (not (and (not (not (and (not x9) (and x2 x1)))) (and (not (or (or x0 x1) (not x4))) (not (or (not x1) (not x1)))))) (not (or (not (or (not (or x4 x6)) (not (not x4)))) (and (or (and (not x7) (not x3)) (or (not x4) (or x3 x6))) (and (and (and x9 x9) (and x2 x2)) (not (or x8 x4))))))))))
+(assert (and (and (or x9 x9) (or x2 x7)) (and (and x0 x3) (and x5 x2))))
+(assert (and (and (or (or x2 x2) (or x5 x2)) (and (or x6 x3) (or x1 x8))) (or (not (or x6 x4)) (or (or x2 x7) (or x4 x4)))))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (or (not (and (or x4 x1) (and x5 x3))) (not (or (not x3) (not x3)))))
+(assert (and (or (not (and (or (or x1 x0) (not x0)) (and (not x1) (and x5 x2)))) (not (and (and (and x3 x4) (and x0 x6)) (or (not x1) (and x4 x5))))) (or (or (and (not (and x1 x5)) (not (not x5))) (and (and (and x0 x6) (and x0 x4)) (not (not x5)))) (not (and (and (not x6) (and x0 x0)) (and (not x2) (not x2)))))))
+(assert (or (not (or x6 x1)) (and (or x5 x1) (or x5 x6))))
+(assert (not (or (and (and (or (not (not (and x1 x0))) (not (and (or x1 x4) (or x6 x6)))) (not (not (not (or x4 x6))))) (and (or (or (or (and x2 x6) (and x1 x2)) (or (not x3) (not x3))) (or (or (and x4 x3) (and x2 x3)) (not (not x0)))) (and (not (and (and x4 x3) (not x2))) (or (and (or x0 x2) (not x2)) (or (not x3) (or x3 x3)))))) (and (not (not (or (or (or x5 x3) (or x4 x4)) (not (and x0 x6))))) (and (or (not (and (and x4 x5) (and x2 x6))) (or (and (and x2 x1) (and x3 x0)) (and (and x5 x4) (and x6 x2)))) (and (and (and (not x6) (not x4)) (and (and x0 x6) (not x4))) (not (and (or x4 x3) (not x6)))))))))
+(assert (and (or (not (not (not (and (not (and x3 x0)) (and (or x6 x1) (not x1)))))) (not (and (not (or (and (or x3 x5) (and x0 x6)) (or (not x1) (not x4)))) (not (and (and (not x6) (and x1 x2)) (and (and x3 x0) (and x6 x0))))))) (or (not (or (and (and (or (and x1 x4) (not x0)) (not (and x6 x3))) (or (and (or x2 x6) (and x3 x5)) (not (not x0)))) (or (or (not (and x1 x6)) (or (or x3 x3) (and x0 x2))) (or (not (not x0)) (and (or x2 x6) (and x1 x6)))))) (not (and (and (and (or (and x0 x4) (and x3 x4)) (and (or x2 x6) (or x4 x4))) (or (and (or x3 x0) (or x5 x6)) (not (or x4 x0)))) (and (and (or (or x5 x2) (not x5)) (or (and x6 x1) (or x0 x4))) (not (and (and x6 x6) (not x3)))))))))
+(assert (or (or x5 x5) (or x0 x3)))
+(check-sat)
+(push 1)
+(assert (not (and (not x6) (not x2))))
+(assert (not (or (and (not (not (or (and (not (and x3 x0)) (not (or x6 x3))) (and (or (or x5 x0) (or x1 x1)) (or (or x4 x4) (or x5 x1)))))) (or (or (or (not (or (or x6 x2) (or x3 x5))) (and (not (not x4)) (not (and x6 x1)))) (and (or (and (and x6 x6) (and x2 x3)) (not (or x3 x3))) (or (or (not x0) (or x3 x2)) (and (not x5) (and x5 x4))))) (and (not (and (or (or x0 x0) (not x6)) (and (not x3) (not x3)))) (not (not (and (and x0 x0) (not x0))))))) (not (or (and (not (not (not (or x1 x1)))) (not (not (and (not x2) (or x6 x2))))) (or (or (and (or (or x2 x6) (or x6 x1)) (and (not x0) (and x4 x0))) (not (not (and x5 x2)))) (and (not (not (or x4 x1))) (or (and (not x4) (or x0 x5)) (or (and x1 x5) (not x5))))))))))
+(assert (and (or (and (and (or (not (and (not (and (and x1 x4) (and x1 x6))) (not (and (not x2) (and x1 x2))))) (not (or (or (or (or x3 x1) (or x5 x4)) (or (or x2 x4) (or x5 x2))) (not (and (or x3 x6) (not x0)))))) (or (or (and (not (or (not x5) (not x5))) (or (or (and x2 x2) (not x5)) (not (or x0 x5)))) (not (and (and (and x1 x3) (not x2)) (and (and x2 x1) (not x0))))) (and (not (or (and (not x2) (or x3 x2)) (and (not x3) (and x2 x5)))) (not (or (and (or x2 x2) (not x4)) (or (not x4) (not x1))))))) (and (and (or (and (not (and (not x0) (and x0 x4))) (and (and (not x6) (or x6 x2)) (or (and x5 x3) (and x5 x1)))) (and (or (and (not x0) (and x1 x4)) (not (or x2 x4))) (not (and (or x2 x5) (and x2 x2))))) (or (and (not (or (and x5 x5) (or x3 x1))) (not (not (not x3)))) (or (not (not (not x1))) (and (or (and x1 x4) (not x0)) (or (and x1 x0) (not x6)))))) (or (and (or (and (or (not x2) (and x4 x0)) (not (or x3 x1))) (or (or (or x0 x6) (or x2 x5)) (or (and x4 x4) (and x3 x2)))) (and (and (and (and x6 x1) (and x2 x3)) (or (not x1) (or x1 x4))) (or (and (or x6 x4) (not x3)) (or (or x1 x1) (and x5 x2))))) (or (or (or (not (not x4)) (and (not x0) (and x6 x6))) (or (and (not x4) (and x5 x2)) (not (not x4)))) (not (and (or (or x0 x3) (and x3 x5)) (not (not x2)))))))) (not (and (and (not (or (and (or (or x4 x3) (not x4)) (or (and x2 x5) (and x0 x3))) (and (and (or x2 x5) (or x1 x0)) (or (or x6 x4) (and x3 x2))))) (or (not (or (or (or x1 x5) (or x5 x3)) (not (not x1)))) (and (and (not (not x4)) (or (not x1) (and x1 x6))) (not (and (not x0) (not x6)))))) (not (or (and (or (and (not x1) (or x2 x4)) (not (or x5 x3))) (not (or (not x1) (not x0)))) (not (or (not (or x5 x1)) (and (or x1 x0) (and x1 x0))))))))) (or (or (and (and (not (not (not (or (or x3 x1) (or x6 x4))))) (or (not (not (and (and x2 x4) (and x0 x5)))) (and (and (and (and x4 x4) (or x5 x5)) (not (not x3))) (or (not (not x5)) (not (and x4 x1)))))) (and (or (and (or (not (and x6 x6)) (or (or x5 x1) (and x1 x2))) (not (not (and x1 x2)))) (and (and (or (and x3 x6) (not x4)) (and (not x5) (or x6 x5))) (not (and (not x5) (or x4 x3))))) (or (not (not (and (not x6) (and x3 x0)))) (or (and (and (and x3 x1) (and x6 x5)) (and (or x2 x5) (not x0))) (and (and (not x1) (not x6)) (not (not x3))))))) (not (and (not (not (not (and (or x6 x3) (not x6))))) (and (not (and (and (and x0 x0) (not x4)) (not (or x6 x1)))) (or (not (or (not x3) (not x5))) (or (or (not x6) (not x5)) (and (or x2 x6) (not x2)))))))) (and (and (not (or (and (not (not (or x5 x3))) (not (not (not x1)))) (not (not (not (and x2 x3)))))) (not (and (or (or (or (not x2) (or x2 x2)) (and (not x3) (or x4 x4))) (not (not (not x0)))) (and (and (and (and x5 x6) (or x1 x5)) (or (or x6 x1) (and x6 x1))) (and (not (or x0 x1)) (and (not x4) (and x5 x0))))))) (not (and (or (not (or (not (and x4 x6)) (or (not x5) (or x5 x0)))) (and (or (and (or x6 x1) (or x6 x1)) (and (not x2) (and x2 x0))) (or (not (and x5 x5)) (not (or x0 x5))))) (not (and (and (and (and x5 x1) (or x5 x2)) (and (and x3 x3) (or x2 x5))) (or (not (not x5)) (not (not x5)))))))))))
+(check-sat)
+(push 1)
+(assert (not (or (and (and (not (or (and (or x4 x2) (or x0 x4)) (and (or x5 x2) (or x0 x5)))) (and (not (or (not x4) (and x4 x5))) (or (or (or x4 x5) (not x5)) (and (not x4) (or x0 x6))))) (or (and (not (not (not x6))) (or (and (not x1) (or x4 x3)) (or (or x5 x2) (or x6 x6)))) (and (not (and (or x4 x6) (not x1))) (or (or (and x2 x4) (and x3 x3)) (and (or x5 x0) (and x4 x2)))))) (not (not (and (not (not (and x1 x3))) (or (and (or x6 x5) (not x5)) (not (or x6 x5)))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and (not (or x6 x3)) (or (and x5 x4) (and x1 x0))))
+(assert (not (not (not x1))))
+(assert (and (not (not (or (and x3 x5) (and x6 x3)))) (and (and (not (not x4)) (or (or x5 x5) (or x4 x4))) (or (not (not x0)) (and (and x1 x3) (or x4 x6))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (or x2 x3) (or x1 x5)))
+(check-sat)
+(pop 1)
+(assert (and (or (or (or (or (and (or x1 x3) (and x2 x6)) (or (not x1) (not x1))) (or (not (and x6 x2)) (and (not x1) (or x1 x3)))) (and (and (or (and x3 x4) (not x5)) (and (or x6 x4) (and x6 x3))) (and (not (not x2)) (and (not x2) (or x2 x2))))) (and (and (not (not (and x0 x3))) (or (or (or x4 x4) (or x0 x1)) (or (not x3) (and x3 x5)))) (or (and (and (not x0) (and x4 x2)) (not (not x2))) (and (not (or x4 x1)) (not (and x1 x5)))))) (and (not (or (not (or (or x6 x6) (and x0 x4))) (and (and (not x6) (not x0)) (and (or x0 x0) (and x2 x2))))) (and (or (and (or (not x1) (or x3 x0)) (or (and x3 x2) (or x2 x3))) (and (not (not x1)) (and (and x1 x4) (or x2 x2)))) (not (not (and (or x5 x2) (and x3 x5))))))))
+(check-sat)
+(pop 1)
+(assert (not (and (not (and (and (or (and (not (not (and x0 x2))) (or (or (not x1) (and x6 x5)) (and (and x6 x0) (and x6 x4)))) (and (or (or (and x0 x0) (or x1 x5)) (not (or x5 x2))) (not (or (not x5) (or x1 x3))))) (not (not (not (or (or x4 x1) (or x0 x1)))))) (not (and (and (not (not (or x3 x3))) (or (and (not x3) (or x5 x6)) (and (not x5) (not x4)))) (and (not (not (and x1 x0))) (or (or (not x2) (and x3 x6)) (not (or x1 x0)))))))) (not (and (not (and (or (or (and (or x1 x3) (not x6)) (not (not x0))) (not (and (not x1) (not x5)))) (or (and (not (and x0 x6)) (and (and x6 x6) (and x2 x4))) (or (or (or x5 x5) (or x1 x0)) (or (and x6 x4) (and x0 x3)))))) (not (not (or (not (and (not x3) (not x5))) (not (and (and x6 x4) (and x2 x0)))))))))))
+(check-sat)
+(pop 1)
+(assert (and (and (or (and (or (or (or (not (and (or x1 x0) (or x5 x0))) (and (not (not x2)) (not (or x4 x6)))) (or (not (or (or x4 x2) (not x0))) (not (or (not x1) (and x1 x3))))) (and (and (not (not (or x0 x6))) (or (and (and x5 x4) (not x3)) (not (and x3 x5)))) (not (and (or (or x0 x5) (or x3 x6)) (not (not x5)))))) (not (or (or (and (and (or x0 x5) (and x2 x3)) (not (not x1))) (not (not (and x0 x6)))) (or (and (and (and x4 x4) (not x0)) (not (not x3))) (or (and (not x0) (and x5 x0)) (or (and x6 x3) (not x2))))))) (not (not (not (or (and (or (and x2 x5) (and x2 x2)) (not (and x1 x1))) (and (or (and x5 x1) (or x5 x5)) (and (or x4 x5) (not x0)))))))) (or (not (not (or (or (and (not (or x4 x4)) (and (not x4) (and x0 x3))) (and (and (and x3 x4) (and x6 x1)) (or (not x5) (or x3 x3)))) (or (not (and (or x2 x5) (not x1))) (not (or (and x5 x4) (not x6))))))) (or (or (not (not (or (or (and x4 x4) (not x0)) (not (or x0 x2))))) (and (not (not (and (or x5 x6) (not x4)))) (or (or (not (and x3 x5)) (and (not x0) (and x2 x4))) (and (or (and x0 x4) (or x1 x2)) (or (and x4 x1) (and x5 x3)))))) (not (not (and (and (not (not x5)) (and (and x3 x2) (and x2 x2))) (or (or (and x0 x6) (or x4 x0)) (and (or x2 x3) (and x4 x2))))))))) (or (or (and (or (not (not (or (not (and x1 x6)) (or (or x5 x6) (not x3))))) (and (and (and (and (not x5) (and x5 x3)) (or (or x4 x1) (not x2))) (not (or (and x4 x3) (or x6 x1)))) (not (or (not (not x4)) (or (not x0) (and x2 x2)))))) (not (or (or (and (or (and x3 x4) (not x2)) (and (or x6 x0) (not x4))) (and (not (not x2)) (or (not x0) (or x4 x5)))) (or (not (or (and x5 x3) (not x5))) (not (not (not x4))))))) (not (and (and (not (not (or (not x0) (not x3)))) (not (not (or (not x5) (and x1 x3))))) (and (or (not (and (not x2) (not x0))) (not (and (and x5 x5) (and x4 x3)))) (or (not (and (not x1) (and x5 x0))) (and (and (or x4 x5) (or x5 x3)) (not (not x1)))))))) (and (not (not (or (and (or (not (or x6 x0)) (or (or x3 x2) (not x5))) (not (and (and x1 x4) (not x1)))) (and (or (and (and x2 x3) (or x2 x1)) (not (or x4 x0))) (not (or (not x3) (and x3 x5))))))) (or (or (or (or (not (and (and x5 x1) (or x4 x1))) (not (or (and x3 x1) (or x5 x0)))) (or (not (or (not x2) (and x3 x5))) (or (or (and x3 x5) (and x3 x3)) (not (not x1))))) (not (and (not (not (and x2 x2))) (or (and (not x3) (and x1 x1)) (not (or x3 x4)))))) (or (not (not (or (and (or x2 x2) (not x5)) (or (not x5) (not x2))))) (or (not (and (or (not x3) (and x6 x6)) (not (not x5)))) (or (and (or (and x5 x0) (and x2 x0)) (and (and x0 x2) (not x1))) (and (or (or x5 x6) (and x2 x1)) (or (and x4 x1) (and x1 x0)))))))))))
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(assert (not (not (or (or (not (or (not (or (or (not x3) (or x3 x3)) (not (not x3)))) (and (not (and (and x2 x1) (not x3))) (and (or (or x3 x1) (not x5)) (or (not x3) (or x4 x0)))))) (and (not (or (not (and (and x3 x0) (and x4 x5))) (or (not (and x0 x0)) (and (and x5 x4) (not x3))))) (and (and (or (not (and x3 x0)) (or (not x2) (or x5 x1))) (not (and (and x2 x0) (or x5 x4)))) (not (or (not (and x2 x1)) (or (not x4) (and x3 x5))))))) (or (or (and (and (or (not (or x5 x0)) (or (not x2) (not x3))) (not (not (and x1 x1)))) (and (or (or (or x2 x5) (not x1)) (or (or x2 x0) (and x0 x4))) (or (and (and x3 x5) (and x1 x4)) (and (or x5 x0) (and x1 x2))))) (not (or (not (or (and x2 x2) (or x4 x3))) (not (or (or x3 x4) (and x0 x0)))))) (or (not (not (not (and (and x1 x2) (or x5 x0))))) (or (and (or (and (and x0 x5) (and x0 x3)) (or (or x2 x0) (or x3 x3))) (or (and (or x4 x4) (or x0 x5)) (not (not x5)))) (or (not (or (or x4 x1) (and x4 x2))) (and (not (not x5)) (or (or x5 x4) (and x2 x1)))))))))))
+(check-sat)
+(push 1)
+(assert (not (not (not x1))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (or (and (or (and (and (not (and x1 x4)) (and (not x1) (not x1))) (or (not (or x2 x4)) (or (not x5) (and x2 x4)))) (or (not (and (and x0 x2) (and x2 x3))) (or (and (not x1) (or x4 x3)) (or (not x4) (and x2 x0))))) (not (not (and (or (not x3) (and x5 x0)) (not (and x1 x4)))))) (not (and (not (not (and (or x1 x4) (not x5)))) (not (and (not (and x2 x5)) (not (or x1 x4))))))) (and (and (or (or (and (or (or x1 x4) (not x5)) (and (and x3 x1) (or x4 x2))) (not (or (or x4 x4) (not x4)))) (and (and (or (and x1 x4) (and x3 x0)) (not (not x0))) (not (and (or x2 x3) (not x3))))) (and (and (and (not (not x3)) (and (not x5) (or x1 x3))) (not (and (and x4 x0) (and x5 x3)))) (not (and (and (not x1) (not x3)) (and (or x1 x5) (not x5)))))) (or (and (and (and (not (or x5 x3)) (or (or x3 x2) (not x1))) (not (and (not x3) (or x3 x1)))) (or (or (and (and x5 x5) (not x4)) (and (not x3) (not x1))) (not (or (not x1) (and x3 x2))))) (not (not (not (or (not x0) (or x1 x0)))))))) (not (not (or (not (and (not (and (or x5 x5) (not x2))) (not (not (and x5 x0))))) (or (and (and (and (and x1 x4) (or x0 x4)) (and (or x3 x4) (not x5))) (or (and (and x5 x3) (not x5)) (and (and x5 x3) (not x0)))) (or (not (and (or x5 x2) (and x0 x5))) (or (or (and x4 x4) (and x3 x0)) (and (or x3 x3) (or x0 x3))))))))) (or (not (or (not (and (not (or (and (and x5 x2) (and x5 x4)) (not (and x4 x2)))) (not (not (and (or x3 x5) (not x1)))))) (or (or (not (and (or (not x4) (and x3 x5)) (or (or x4 x0) (not x1)))) (and (or (or (or x1 x1) (and x5 x1)) (not (or x5 x5))) (not (or (or x3 x3) (not x5))))) (and (and (or (and (or x2 x2) (not x2)) (or (and x1 x3) (and x3 x4))) (or (and (and x0 x1) (not x5)) (and (not x3) (and x3 x5)))) (and (or (or (not x0) (not x3)) (not (not x1))) (not (not (not x4)))))))) (not (not (and (not (not (or (or (not x1) (or x2 x0)) (or (and x5 x4) (or x3 x4))))) (and (and (and (and (and x5 x3) (or x1 x4)) (or (or x1 x5) (not x3))) (not (not (not x0)))) (not (or (or (not x3) (and x5 x1)) (not (and x5 x4)))))))))))
+(assert (not (and (and (and (not (or (not x3) (and x0 x2))) (and (not (not x5)) (not (not x1)))) (not (or (or (or x5 x1) (not x5)) (not (not x3))))) (and (not (and (or (or x2 x2) (and x5 x5)) (not (not x5)))) (not (not (not (and x4 x2))))))))
+(assert (not (or (not (not (and (and (not (and (and x3 x5) (or x4 x3))) (and (and (or x0 x1) (and x3 x1)) (and (not x0) (and x4 x3)))) (and (and (not (or x0 x4)) (or (not x3) (not x1))) (or (or (or x4 x5) (and x3 x4)) (or (and x5 x2) (and x4 x0))))))) (not (or (not (or (and (or (or x3 x4) (or x5 x2)) (not (or x1 x0))) (or (not (not x0)) (not (and x1 x4))))) (not (not (or (and (and x0 x2) (or x1 x1)) (not (not x5))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (and (or (or (or (not x0) (or x1 x4)) (not (not x4))) (and (and (or x0 x1) (not x1)) (or (and x4 x5) (and x4 x5)))) (or (and (and (or x3 x3) (or x4 x0)) (or (and x1 x2) (and x3 x2))) (or (not (or x0 x0)) (not (and x5 x0)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (and (or (or x5 x1) (or x3 x0)) (and (and x2 x3) (or x3 x5))) (or (and (not x3) (or x0 x3)) (and (not x3) (or x4 x0)))))
+(assert (not (and (and (not x2) (or x0 x5)) (and (not x1) (or x3 x1)))))
+(assert (not (or (or x3 x4) (or x5 x5))))
+(assert (and (not (and (and (or (or (or (not (or x3 x3)) (and (not x4) (or x1 x0))) (and (or (not x4) (or x0 x5)) (and (not x2) (and x2 x3)))) (and (or (or (not x2) (and x4 x3)) (and (not x0) (not x0))) (or (and (and x1 x4) (not x1)) (and (and x2 x2) (or x4 x5))))) (and (not (and (and (and x5 x5) (and x5 x1)) (or (not x4) (not x0)))) (or (not (or (not x1) (not x1))) (or (and (not x0) (and x2 x4)) (or (and x5 x3) (and x2 x2)))))) (and (not (and (or (and (and x3 x5) (or x3 x3)) (or (and x5 x1) (and x4 x5))) (not (and (or x5 x1) (not x5))))) (or (and (or (not (or x5 x0)) (or (or x1 x2) (not x4))) (not (not (not x0)))) (not (and (or (and x2 x2) (and x2 x1)) (not (and x2 x1)))))))) (not (or (not (not (not (and (not (or x1 x3)) (and (and x5 x0) (or x4 x5)))))) (or (and (and (or (or (and x5 x4) (and x4 x3)) (or (and x2 x2) (and x3 x2))) (not (and (and x5 x0) (not x4)))) (and (and (not (and x3 x2)) (and (not x1) (not x5))) (or (or (and x1 x4) (not x2)) (not (or x5 x2))))) (or (and (not (and (and x5 x4) (or x1 x3))) (or (and (and x0 x0) (or x3 x5)) (not (not x2)))) (not (and (and (not x2) (and x1 x0)) (and (and x3 x0) (and x5 x5))))))))))
+(assert (or (not (and (and (or (or (and (and (or (not x4) (not x0)) (or (or x2 x0) (not x2))) (not (and (not x3) (and x3 x3)))) (not (or (and (or x1 x4) (and x3 x2)) (and (or x4 x3) (and x4 x5))))) (not (and (or (or (or x3 x5) (or x5 x4)) (or (or x5 x1) (not x0))) (and (or (or x1 x5) (and x4 x1)) (and (or x3 x5) (not x5)))))) (and (and (or (and (and (not x3) (and x3 x2)) (or (or x3 x3) (and x5 x3))) (and (or (not x2) (not x4)) (and (and x2 x2) (and x1 x5)))) (and (not (and (not x5) (and x4 x2))) (not (not (and x0 x0))))) (not (and (not (not (and x0 x2))) (and (or (not x3) (not x3)) (not (not x5))))))) (not (and (and (not (and (or (and x2 x3) (or x2 x0)) (or (or x0 x3) (and x4 x4)))) (or (and (and (not x5) (and x0 x2)) (not (or x1 x2))) (not (and (or x3 x5) (not x4))))) (not (or (or (and (or x4 x4) (not x5)) (or (or x3 x4) (not x0))) (and (not (and x1 x4)) (and (not x4) (and x5 x2))))))))) (and (not (not (and (and (and (not (not (not x0))) (or (not (or x4 x5)) (or (and x1 x5) (not x2)))) (not (and (and (and x3 x4) (not x1)) (and (not x3) (and x1 x5))))) (or (not (and (or (not x2) (and x1 x5)) (not (and x3 x2)))) (or (and (and (or x1 x3) (or x5 x0)) (not (or x1 x3))) (not (not (not x4)))))))) (not (not (and (not (or (and (and (not x3) (not x2)) (not (or x4 x2))) (and (and (or x5 x1) (or x3 x5)) (not (and x4 x3))))) (or (or (not (not (or x3 x1))) (not (or (or x4 x0) (and x0 x3)))) (or (not (not (or x0 x3))) (or (and (not x2) (not x1)) (and (or x5 x0) (and x4 x5)))))))))))
+(check-sat)
+(push 1)
+(assert (or (and (and (not (not (not (and (or (or x3 x0) (or x3 x1)) (not (not x2)))))) (not (not (or (and (or (and x4 x0) (not x4)) (not (or x4 x1))) (and (or (not x1) (or x3 x2)) (or (or x5 x1) (not x1))))))) (and (not (and (or (not (and (or x3 x1) (not x2))) (and (and (and x4 x5) (not x5)) (and (and x0 x0) (and x1 x2)))) (not (not (or (not x2) (and x3 x1)))))) (not (or (or (or (and (not x0) (and x4 x5)) (or (not x2) (and x2 x1))) (not (or (not x0) (not x0)))) (and (not (and (and x2 x0) (not x5))) (or (and (or x4 x0) (not x0)) (or (and x4 x3) (or x4 x5)))))))) (and (and (not (and (and (and (not (and x3 x0)) (and (not x1) (or x5 x1))) (or (not (not x1)) (not (or x0 x2)))) (and (or (not (not x0)) (or (and x4 x4) (and x2 x4))) (or (not (not x4)) (not (and x3 x4)))))) (not (or (not (not (and (or x0 x0) (or x4 x0)))) (not (and (not (not x4)) (or (and x0 x5) (or x3 x3))))))) (and (not (not (not (or (and (or x2 x3) (and x2 x2)) (not (or x0 x3)))))) (or (or (and (or (and (or x2 x4) (and x1 x4)) (and (and x5 x1) (not x0))) (not (not (or x0 x3)))) (not (and (and (not x4) (not x2)) (or (not x1) (or x3 x4))))) (not (and (not (or (or x4 x2) (and x2 x5))) (or (not (not x5)) (not (not x3))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (and (not x3) (not x3)) (and (and x2 x3) (or x4 x1))))
+(assert (not (and (or (or (and (or (or (or (or x4 x0) (and x3 x0)) (or (or x3 x4) (not x4))) (or (or (and x2 x4) (and x4 x2)) (not (or x4 x0)))) (or (and (or (and x2 x4) (or x1 x0)) (and (not x1) (and x0 x5))) (or (and (not x4) (not x3)) (not (not x1))))) (not (or (and (and (or x3 x1) (or x2 x3)) (or (not x5) (and x4 x5))) (not (and (or x5 x2) (not x5)))))) (or (or (or (or (or (and x0 x5) (or x1 x4)) (not (and x1 x2))) (or (or (not x1) (or x4 x5)) (and (and x5 x0) (not x4)))) (or (or (or (or x0 x5) (and x0 x0)) (and (or x1 x2) (not x3))) (not (or (or x3 x1) (or x4 x0))))) (not (and (not (or (or x0 x3) (not x0))) (or (or (and x0 x5) (or x4 x3)) (or (and x4 x0) (or x0 x2))))))) (and (and (or (or (not (and (and x4 x0) (and x2 x1))) (and (or (and x3 x3) (and x2 x1)) (not (not x5)))) (not (not (and (not x3) (not x0))))) (or (and (and (and (and x3 x0) (or x2 x1)) (not (not x0))) (and (not (not x4)) (or (and x0 x1) (or x3 x4)))) (and (or (or (and x4 x2) (and x2 x0)) (or (and x5 x1) (not x0))) (and (and (not x1) (and x5 x0)) (or (or x0 x3) (and x5 x3)))))) (not (or (and (not (and (or x5 x3) (and x5 x1))) (or (or (and x2 x3) (or x3 x2)) (or (and x0 x5) (not x5)))) (or (or (not (not x5)) (or (and x0 x3) (and x5 x0))) (or (not (or x2 x1)) (or (or x3 x5) (and x0 x0))))))))))
+(check-sat)
+(pop 1)
+(assert (or (and (and (and (not x1) (or x5 x5)) (and (or x2 x1) (not x0))) (and (not (or x1 x3)) (and (not x0) (or x3 x5)))) (or (or (and (or x0 x2) (not x1)) (and (and x3 x2) (or x0 x5))) (and (or (or x0 x0) (and x2 x5)) (or (or x0 x3) (not x1))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (not (and (or (not (not (or (not (not x5)) (and (not x5) (not x1))))) (and (not (or (or (or x0 x0) (not x5)) (not (or x5 x2)))) (or (or (not (or x3 x2)) (or (not x2) (or x5 x5))) (or (and (not x2) (and x0 x2)) (and (and x5 x5) (or x3 x4)))))) (not (not (or (not (not (and x2 x2))) (and (and (not x2) (or x5 x0)) (or (not x4) (and x5 x4)))))))) (or (and (and (not (not (or (and (or x0 x0) (or x4 x1)) (or (and x5 x4) (or x1 x2))))) (and (and (not (and (and x0 x0) (or x5 x3))) (or (or (and x4 x3) (not x2)) (and (not x0) (not x3)))) (and (or (and (not x3) (not x1)) (not (not x0))) (or (and (and x4 x1) (not x0)) (and (not x0) (not x5)))))) (not (not (and (not (and (and x3 x3) (or x5 x5))) (and (or (not x4) (and x4 x3)) (and (and x4 x3) (or x4 x5))))))) (and (or (not (not (not (and (not x3) (or x4 x4))))) (or (not (not (or (not x2) (and x5 x4)))) (or (and (or (and x3 x5) (or x0 x1)) (and (not x2) (not x1))) (not (or (or x2 x0) (and x0 x2)))))) (and (and (not (and (or (not x3) (or x4 x1)) (and (or x2 x1) (not x0)))) (and (and (not (or x2 x2)) (not (not x3))) (or (and (and x2 x2) (or x4 x0)) (or (or x1 x2) (and x1 x5))))) (or (not (not (not (or x2 x3)))) (not (not (or (not x4) (or x3 x0))))))))))
+(check-sat)
+(push 1)
+(assert (and (or (not (not (not (or (not x0) (and x3 x1))))) (or (not (not (or (not x2) (and x2 x3)))) (or (and (or (and x0 x3) (not x4)) (or (not x0) (not x1))) (or (and (or x4 x5) (and x0 x2)) (not (and x2 x5)))))) (not (not (not (and (and (not x1) (and x1 x0)) (not (and x2 x4))))))))
+(assert (not x0))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(assert (not (and (not (and (or (not (or (not x0) (or x2 x2))) (or (or (or x2 x1) (or x1 x3)) (not (or x3 x2)))) (or (not (not (and x1 x2))) (and (not (not x2)) (and (or x0 x2) (or x0 x1)))))) (not (not (or (or (and (or x0 x1) (not x3)) (and (or x3 x3) (and x3 x1))) (not (or (or x0 x2) (or x2 x3)))))))))
+(assert (and (not (and (and (not (not (not x2))) (and (or (or x3 x0) (not x1)) (and (or x0 x0) (and x1 x1)))) (and (and (and (and x0 x3) (and x2 x1)) (or (not x3) (not x0))) (not (and (and x2 x0) (and x2 x1)))))) (and (or (or (and (not (or x0 x1)) (not (and x2 x3))) (and (not (not x0)) (or (or x3 x1) (or x1 x2)))) (or (or (or (not x0) (and x0 x1)) (and (and x2 x2) (or x3 x3))) (or (not (or x1 x1)) (and (and x0 x3) (and x3 x2))))) (or (not (not (not (and x3 x1)))) (or (and (not (and x0 x2)) (not (or x0 x1))) (and (not (and x3 x3)) (not (not x1))))))))
+(assert (not (and x0 x3)))
+(check-sat)
+(push 1)
+(assert (or (or (or x0 x1) (and x0 x1)) (or (and x0 x2) (not x1))))
+(assert (or (or (or (or (not (not (or (or (or x3 x2) (not x1)) (or (and x3 x2) (not x3))))) (not (and (not (and (or x1 x0) (or x0 x1))) (or (and (or x1 x3) (or x1 x1)) (and (and x0 x3) (and x2 x0)))))) (and (and (not (not (and (and x3 x3) (not x3)))) (not (or (or (and x0 x0) (not x2)) (not (and x1 x1))))) (not (or (and (or (or x1 x0) (or x2 x2)) (and (and x2 x2) (not x1))) (not (not (not x0))))))) (or (not (and (not (and (or (and x0 x0) (not x1)) (or (not x3) (or x0 x1)))) (not (and (and (or x3 x1) (or x1 x2)) (not (not x3)))))) (and (not (not (and (or (not x2) (not x1)) (and (not x3) (or x0 x3))))) (or (or (and (not (or x1 x3)) (or (not x0) (and x1 x3))) (and (not (or x2 x2)) (or (and x1 x3) (or x1 x1)))) (not (not (not (or x1 x3)))))))) (and (not (not (not (or (not (or (or x1 x2) (not x2))) (or (or (or x3 x3) (or x1 x0)) (and (and x3 x3) (not x1))))))) (and (not (not (or (or (and (or x0 x3) (or x0 x0)) (and (and x2 x3) (not x3))) (or (or (not x3) (and x3 x3)) (not (not x2)))))) (and (not (and (not (or (or x1 x0) (not x2))) (and (and (or x0 x0) (and x2 x2)) (not (and x2 x0))))) (and (and (or (and (or x2 x1) (not x1)) (not (not x1))) (not (not (and x0 x0)))) (not (not (not (and x0 x1))))))))))
+(assert (or (not (or (not x1) (or x1 x1))) (and (not (or x0 x3)) (or (and x1 x3) (not x3)))))
+(assert (not (and (not (or (and (or x2 x1) (and x3 x0)) (and (not x1) (or x0 x3)))) (or (not (not (and x2 x3))) (and (and (and x0 x2) (not x0)) (or (and x0 x1) (not x0)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (not (and x3 x2)) (or (and x2 x1) (not x0))))
+(assert (or (or (not (or (and (not x0) (not x0)) (not (and x0 x3)))) (not (or (and (and x3 x1) (or x0 x0)) (and (and x0 x3) (and x3 x3))))) (or (and (or (and (not x0) (or x1 x1)) (not (or x2 x0))) (not (or (and x0 x2) (and x0 x0)))) (not (and (or (or x2 x0) (and x2 x3)) (and (or x2 x0) (not x0)))))))
+(assert (not (not (or (or x0 x3) (or x1 x2)))))
+(assert (or (and (or (and x0 x0) (and x3 x0)) (not (and x0 x0))) (not (or (and x2 x2) (not x1)))))
+(check-sat)
+(pop 1)
+(assert (and (or (not (and x2 x2)) (and (and x2 x3) (not x3))) (and (not (or x0 x1)) (not (and x1 x2)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(assert (and (not (and (and (not (or (or (or x1 x2) (and x1 x2)) (and (and x2 x0) (not x2)))) (not (or (and (or x0 x2) (and x2 x1)) (not (or x1 x0))))) (not (and (not (not (and x1 x0))) (not (and (not x1) (or x1 x1))))))) (or (or (or (not (not (not (and x0 x0)))) (not (and (not (and x1 x2)) (not (not x2))))) (or (not (not (and (and x0 x2) (not x0)))) (and (and (not (not x2)) (not (and x0 x1))) (or (and (not x0) (and x1 x0)) (not (not x1)))))) (or (not (or (or (or (not x0) (and x0 x0)) (not (or x1 x1))) (or (not (or x0 x0)) (or (not x1) (or x1 x2))))) (and (or (not (not (and x0 x2))) (or (and (or x1 x1) (or x0 x0)) (and (or x1 x0) (not x1)))) (or (not (or (or x1 x2) (not x1))) (and (and (or x0 x1) (or x1 x2)) (or (not x1) (and x1 x0)))))))))
+(check-sat)
+(push 1)
+(assert (and (or (not (not x2)) (and (not x2) (and x0 x0))) (and (not (and x1 x0)) (or (not x2) (or x0 x1)))))
+(assert (or (or x2 x2) (not x2)))
+(check-sat)
+(pop 1)
+(assert (or (and (not (not (and (and (or (not (and (not x2) (or x0 x2))) (not (or (or x0 x2) (not x1)))) (or (not (and (not x2) (and x2 x0))) (and (or (and x0 x0) (and x2 x2)) (not (not x1))))) (not (and (and (or (and x1 x1) (and x2 x0)) (and (and x1 x0) (or x1 x0))) (and (not (and x0 x0)) (or (and x0 x2) (and x0 x2)))))))) (or (not (not (not (and (not (and (and x0 x0) (or x1 x2))) (not (or (or x2 x1) (not x2))))))) (and (or (not (and (and (and (and x1 x0) (or x1 x1)) (not (or x2 x0))) (or (or (and x1 x1) (or x2 x1)) (not (or x2 x0))))) (or (and (or (and (not x0) (or x1 x2)) (not (not x0))) (not (and (and x2 x1) (and x1 x2)))) (not (or (or (and x0 x1) (or x1 x2)) (or (not x2) (not x2)))))) (not (and (not (or (or (and x2 x0) (not x0)) (not (not x2)))) (and (or (or (and x0 x1) (and x2 x2)) (or (or x0 x0) (or x2 x0))) (not (not (not x1))))))))) (not (not (not (and (or (not (and (or (and x1 x2) (or x1 x1)) (not (or x0 x1)))) (not (not (not (or x1 x2))))) (or (and (not (or (and x0 x2) (or x2 x1))) (not (not (and x1 x2)))) (and (not (or (not x2) (not x1))) (not (not (not x1)))))))))))
+(assert (not x0))
+(check-sat)
+(push 1)
+(assert (not (or (or x2 x0) (and x1 x1))))
+(assert (or (or (not (and (or (not x0) (not x2)) (and (and x1 x1) (or x1 x0)))) (not (not (not (not x2))))) (and (not (or (and (not x1) (or x1 x1)) (not (not x1)))) (not (or (not (not x2)) (not (not x0)))))))
+(assert (not (and x0 x0)))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(check-sat)
+(push 1)
+(assert (not (not (or (and (not (and (or (not (or (not x4) (and x6 x0))) (or (and (and x4 x4) (not x1)) (not (not x0)))) (not (not (or (not x7) (or x1 x1)))))) (not (and (and (not (and (and x4 x3) (and x0 x4))) (and (not (and x5 x4)) (and (not x2) (or x5 x5)))) (not (not (not (not x3))))))) (not (not (and (or (not (not (and x7 x3))) (and (and (not x4) (or x3 x2)) (or (or x7 x0) (not x0)))) (not (not (or (and x7 x6) (or x1 x2)))))))))))
+(assert (not (or (or (and (or (or (not (and x2 x1)) (and (or x4 x1) (or x4 x0))) (and (and (not x3) (not x6)) (not (or x5 x6)))) (not (not (and (or x6 x5) (not x4))))) (and (not (not (or (and x7 x6) (not x3)))) (or (and (not (not x4)) (and (not x0) (or x7 x2))) (and (and (or x3 x3) (not x6)) (or (or x0 x6) (or x1 x4)))))) (and (or (and (or (or (and x5 x1) (and x5 x5)) (or (or x5 x3) (or x0 x3))) (not (or (and x5 x1) (and x7 x6)))) (not (and (and (and x1 x7) (and x5 x4)) (and (not x1) (or x4 x6))))) (not (and (or (and (not x2) (and x6 x4)) (not (and x1 x6))) (not (not (or x7 x5)))))))))
+(assert (or (not (or (and (and (and (and (not x2) (not x0)) (not (and x4 x5))) (and (or (not x7) (not x7)) (or (not x6) (or x4 x3)))) (or (or (not (not x1)) (or (not x5) (not x4))) (and (and (and x4 x4) (or x2 x1)) (and (not x7) (and x1 x2))))) (or (not (not (not (or x2 x7)))) (or (and (or (or x5 x2) (not x3)) (or (not x2) (and x6 x6))) (or (and (and x7 x3) (and x6 x2)) (not (not x0))))))) (and (and (or (and (or (or (or x5 x3) (or x3 x5)) (and (not x2) (or x0 x4))) (or (not (and x2 x7)) (or (not x2) (or x7 x6)))) (or (and (or (and x5 x0) (not x1)) (not (or x5 x6))) (not (not (or x6 x5))))) (or (and (and (and (and x3 x1) (or x4 x6)) (and (or x6 x4) (or x6 x5))) (or (and (not x1) (or x1 x6)) (or (and x6 x4) (and x4 x1)))) (not (and (not (and x7 x5)) (or (and x1 x3) (or x4 x1)))))) (or (and (or (or (and (not x6) (not x6)) (not (or x0 x6))) (or (not (not x5)) (or (and x7 x7) (or x6 x4)))) (or (or (and (or x1 x1) (not x5)) (and (not x6) (or x3 x4))) (or (not (not x1)) (or (or x1 x6) (or x6 x3))))) (and (not (or (not (and x6 x3)) (and (or x4 x6) (and x7 x3)))) (or (and (and (and x4 x6) (and x6 x2)) (or (and x4 x3) (and x0 x1))) (and (and (or x3 x7) (or x1 x2)) (and (not x7) (or x0 x6)))))))))
+(check-sat)
+(push 1)
+(assert (or (not (or (not (or (or x2 x0) (and x5 x6))) (and (not (and x5 x6)) (or (or x2 x3) (not x3))))) (and (not (or (not (or x7 x6)) (or (not x6) (or x7 x7)))) (or (or (and (or x5 x6) (or x7 x4)) (not (not x2))) (or (or (or x2 x0) (and x1 x6)) (and (and x2 x2) (not x4)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (or (or (and x5 x3) (or x4 x4)) (and (not x4) (not x7)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (not (or (or (or (or (or (or (and (not x3) (or x0 x1)) (and (and x3 x2) (not x7))) (and (not (or x3 x2)) (and (not x5) (or x1 x6)))) (and (and (or (and x4 x2) (or x4 x1)) (not (not x3))) (and (and (and x6 x5) (or x7 x4)) (not (or x3 x7))))) (or (or (or (or (and x3 x2) (or x6 x6)) (and (or x0 x2) (or x1 x0))) (or (or (or x1 x5) (and x6 x7)) (and (not x3) (not x5)))) (and (or (not (not x5)) (and (and x0 x2) (and x6 x4))) (not (or (or x0 x7) (not x0)))))) (and (or (and (not (not (not x0))) (or (and (or x1 x6) (not x2)) (not (and x7 x3)))) (and (not (not (not x5))) (not (and (or x0 x1) (not x0))))) (not (or (and (and (and x1 x1) (not x0)) (not (and x1 x0))) (or (not (not x5)) (and (or x7 x2) (not x7))))))) (and (or (not (and (and (and (or x6 x3) (not x4)) (and (or x5 x7) (or x6 x2))) (and (or (and x0 x3) (and x6 x6)) (and (and x0 x3) (not x0))))) (or (not (and (not (or x2 x6)) (or (and x2 x1) (and x0 x0)))) (or (and (not (and x5 x5)) (not (and x4 x4))) (and (not (or x7 x5)) (or (not x6) (or x3 x6)))))) (and (and (not (and (not (not x7)) (not (and x0 x6)))) (or (and (and (and x7 x1) (or x3 x5)) (not (or x7 x0))) (not (or (or x2 x1) (not x0))))) (or (or (not (not (or x2 x3))) (not (and (or x3 x5) (and x7 x7)))) (not (and (and (or x6 x3) (and x5 x3)) (and (not x2) (and x4 x5))))))))) (and (or (not (or (or (or (not (and (or x3 x2) (or x1 x0))) (and (not (or x6 x2)) (or (and x5 x4) (or x0 x6)))) (and (and (or (and x0 x6) (and x7 x6)) (and (not x0) (or x0 x4))) (and (or (and x7 x5) (or x4 x4)) (not (and x0 x5))))) (and (and (and (or (or x1 x6) (and x1 x4)) (not (and x2 x4))) (or (not (and x6 x6)) (and (not x3) (or x3 x1)))) (and (and (not (or x7 x6)) (not (not x4))) (or (not (not x7)) (or (not x3) (or x7 x5))))))) (not (not (and (or (and (and (and x0 x1) (or x3 x2)) (and (not x3) (not x2))) (not (not (or x6 x6)))) (or (or (and (and x3 x0) (not x2)) (or (and x7 x4) (not x2))) (not (and (not x4) (and x6 x6)))))))) (or (and (not (or (not (and (not (or x2 x4)) (and (and x1 x2) (and x1 x7)))) (not (not (and (and x2 x5) (or x5 x1)))))) (or (or (and (and (and (and x0 x1) (and x3 x5)) (and (and x0 x5) (not x6))) (or (or (or x7 x4) (not x5)) (and (and x0 x7) (and x5 x0)))) (and (not (not (and x5 x4))) (and (and (or x2 x4) (not x4)) (not (or x7 x3))))) (or (not (and (and (not x7) (not x3)) (not (or x2 x4)))) (and (not (or (and x4 x0) (not x1))) (and (and (not x1) (not x2)) (or (or x1 x4) (and x7 x1))))))) (or (and (and (or (and (or (or x1 x0) (and x0 x2)) (or (or x7 x5) (or x0 x4))) (and (or (and x1 x3) (and x4 x5)) (and (or x4 x0) (or x0 x3)))) (and (and (or (not x7) (and x4 x0)) (not (and x6 x3))) (and (and (and x3 x2) (not x1)) (not (and x3 x0))))) (not (not (not (and (not x6) (not x6)))))) (or (not (and (or (or (not x0) (and x5 x1)) (not (and x0 x3))) (or (not (and x7 x5)) (and (and x0 x1) (and x3 x3))))) (and (and (and (and (or x3 x3) (and x6 x2)) (not (not x0))) (or (and (not x4) (and x0 x7)) (and (not x7) (not x7)))) (or (not (not (not x5))) (not (and (not x5) (or x7 x0)))))))))))
+(check-sat)
+(push 1)
+(assert (and (or (or (not (not (not x1))) (and (not (not x2)) (not (and x3 x2)))) (not (not (or (not x2) (and x5 x5))))) (and (not (and (or (or x1 x1) (not x3)) (and (or x0 x3) (not x2)))) (or (not (or (or x2 x3) (or x4 x1))) (or (and (not x6) (not x5)) (not (or x4 x1)))))))
+(assert (and (not (not (and (not (or x5 x6)) (or (and x7 x0) (not x2))))) (or (not (not (and (not x5) (not x7)))) (or (and (and (not x3) (or x0 x6)) (or (and x2 x7) (or x5 x0))) (and (and (or x4 x3) (or x7 x6)) (not (and x7 x4)))))))
+(assert (not x2))
+(assert (or (not (and (and (not (or (and (not (and (and x1 x6) (not x6))) (and (not (or x5 x5)) (not (and x2 x6)))) (and (and (not (not x0)) (and (and x5 x2) (or x5 x1))) (or (not (and x6 x3)) (not (or x1 x4)))))) (and (not (not (not (and (or x3 x4) (and x2 x7))))) (or (not (and (not (not x3)) (or (not x0) (not x2)))) (and (not (not (and x4 x1))) (and (or (not x2) (and x3 x3)) (not (or x7 x6))))))) (not (or (or (and (not (or (and x3 x6) (not x4))) (not (not (or x4 x2)))) (not (or (not (not x3)) (not (not x5))))) (or (not (not (not (or x7 x5)))) (or (or (or (and x5 x5) (and x0 x4)) (or (and x3 x2) (not x7))) (or (and (or x2 x6) (or x6 x0)) (and (and x6 x7) (and x3 x6))))))))) (and (and (or (and (or (and (not (and (or x2 x4) (not x5))) (and (and (and x3 x6) (and x6 x4)) (or (or x4 x2) (and x3 x1)))) (or (or (and (and x3 x7) (or x2 x3)) (or (or x7 x6) (or x1 x3))) (not (not (not x4))))) (or (and (or (or (and x6 x5) (and x5 x0)) (not (or x6 x1))) (not (and (or x0 x4) (or x4 x1)))) (not (not (or (or x5 x4) (not x4)))))) (and (or (or (not (or (not x2) (or x3 x7))) (or (or (not x3) (not x5)) (or (or x5 x1) (and x1 x2)))) (and (and (and (and x0 x2) (or x4 x3)) (or (and x7 x2) (or x1 x6))) (and (and (and x4 x3) (or x2 x1)) (or (not x6) (and x3 x0))))) (and (not (or (or (or x4 x7) (and x0 x2)) (or (and x1 x1) (and x2 x7)))) (not (and (or (not x6) (and x6 x7)) (not (not x5))))))) (or (or (not (or (or (or (or x3 x5) (or x0 x5)) (not (or x0 x5))) (or (or (and x7 x7) (or x2 x3)) (or (or x1 x7) (or x1 x5))))) (or (not (and (or (and x3 x6) (not x0)) (or (not x6) (not x0)))) (not (and (and (or x1 x0) (and x3 x2)) (not (and x4 x1)))))) (not (not (or (and (or (or x3 x3) (and x6 x1)) (and (or x1 x6) (and x4 x7))) (and (and (and x0 x6) (or x5 x2)) (not (and x6 x6)))))))) (or (or (not (or (not (not (and (or x4 x0) (and x5 x5)))) (and (and (and (or x3 x3) (and x0 x2)) (or (not x2) (not x1))) (or (or (not x1) (and x0 x2)) (not (not x2)))))) (and (or (or (not (not (not x4))) (and (or (not x5) (or x3 x7)) (and (or x2 x5) (and x2 x6)))) (not (not (not (or x1 x5))))) (and (not (not (not (and x7 x0)))) (and (not (not (not x0))) (or (or (and x4 x0) (not x2)) (or (and x7 x6) (not x5))))))) (not (and (or (not (not (not (and x4 x7)))) (or (not (not (or x5 x1))) (or (or (and x2 x6) (or x6 x7)) (or (not x5) (not x7))))) (not (not (not (and (not x6) (and x5 x5)))))))))))
+(check-sat)
+(pop 1)
+(assert (not (not (not x3))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(assert (or (or (and (not (not (not x0))) (not (and (not x4) (not x1)))) (and (and (or (and x3 x1) (not x1)) (and (not x3) (and x3 x4))) (and (or (or x1 x4) (and x3 x2)) (and (and x2 x4) (or x1 x4))))) (not (or (or (and (and x4 x1) (or x4 x2)) (and (or x0 x3) (not x2))) (not (or (or x0 x0) (and x0 x2)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (not (or (and (not (or (or (and (or (or x2 x0) (not x4)) (not (not x2))) (and (not (not x0)) (not (and x2 x1)))) (and (or (or (and x2 x2) (or x0 x4)) (or (and x0 x2) (or x3 x2))) (or (and (and x1 x3) (and x0 x4)) (or (or x0 x4) (and x4 x0)))))) (or (or (or (and (not (not x1)) (and (or x0 x3) (and x2 x4))) (and (not (and x2 x1)) (and (not x0) (and x1 x3)))) (and (not (and (or x3 x4) (and x4 x3))) (or (or (not x4) (not x2)) (and (not x1) (or x0 x3))))) (or (or (not (and (not x2) (and x4 x0))) (or (and (not x3) (and x2 x2)) (or (and x0 x2) (and x1 x3)))) (and (or (and (and x1 x4) (or x4 x4)) (not (not x0))) (not (not (not x0))))))) (and (not (and (or (not (and (not x2) (not x2))) (or (not (or x3 x4)) (not (or x4 x1)))) (not (and (not (not x4)) (and (and x4 x3) (and x0 x1)))))) (not (or (and (and (not (not x0)) (not (or x2 x1))) (not (and (or x1 x2) (or x0 x3)))) (or (or (or (not x1) (not x3)) (not (and x1 x2))) (and (or (and x2 x4) (or x3 x4)) (and (or x2 x0) (not x1))))))))))
+(assert (not (or (not (or (not (and (or (and (not (or x2 x1)) (and (and x3 x3) (and x0 x1))) (or (or (or x1 x4) (or x0 x0)) (not (and x4 x2)))) (and (not (or (and x0 x1) (not x4))) (and (and (not x2) (or x3 x1)) (and (or x3 x3) (and x0 x4)))))) (or (not (not (not (and (not x0) (not x4))))) (and (not (and (or (and x4 x0) (or x0 x2)) (or (not x0) (and x1 x2)))) (not (and (not (and x1 x1)) (not (and x1 x4)))))))) (not (and (and (not (and (not (or (not x0) (and x1 x2))) (not (not (and x1 x1))))) (or (and (not (not (and x3 x0))) (not (and (and x2 x2) (or x1 x0)))) (and (and (or (not x1) (or x2 x3)) (not (or x2 x1))) (or (not (and x0 x2)) (or (or x3 x1) (and x0 x4)))))) (or (and (or (and (not (or x2 x3)) (not (not x1))) (and (and (and x0 x1) (not x4)) (or (or x3 x1) (or x0 x1)))) (and (or (and (and x0 x0) (and x0 x4)) (or (or x4 x0) (and x2 x2))) (or (and (and x0 x3) (and x1 x3)) (not (and x1 x1))))) (not (and (not (not (not x1))) (or (not (not x4)) (or (and x3 x2) (and x0 x3)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (or (or (and x1 x2) (and x1 x2)) (and (or x3 x4) (and x1 x3))) (and (and (not x1) (or x4 x1)) (or (or x2 x2) (not x4)))))
+(assert (or (or (or (or (not (and (not (and (not (or x2 x0)) (not (or x1 x3)))) (not (not (and (or x4 x0) (not x1)))))) (not (not (or (not (or (not x3) (not x2))) (and (not (or x2 x1)) (and (not x2) (or x2 x2))))))) (not (not (and (and (or (or (not x0) (not x1)) (or (or x4 x3) (or x4 x2))) (and (or (and x0 x2) (and x4 x3)) (or (or x2 x4) (and x1 x4)))) (and (or (not (not x4)) (and (and x4 x4) (not x0))) (and (and (or x0 x2) (and x1 x1)) (and (and x2 x3) (or x2 x3)))))))) (or (and (and (and (or (not (not (not x4))) (or (and (not x4) (and x4 x4)) (or (and x2 x3) (and x4 x4)))) (or (or (and (or x0 x2) (or x3 x4)) (or (not x0) (or x1 x1))) (not (and (and x0 x1) (not x3))))) (and (not (not (and (not x0) (or x3 x4)))) (and (or (or (and x1 x3) (not x1)) (and (or x0 x0) (or x3 x1))) (or (and (or x2 x1) (not x2)) (not (not x3)))))) (or (or (not (or (or (and x3 x1) (and x4 x4)) (not (and x1 x1)))) (and (or (and (and x1 x0) (not x3)) (not (not x4))) (or (or (not x3) (and x2 x1)) (and (not x2) (not x3))))) (not (or (not (or (or x2 x1) (and x4 x4))) (or (and (and x2 x3) (and x1 x4)) (not (or x0 x2))))))) (and (and (not (and (not (and (or x0 x0) (or x4 x0))) (or (or (not x1) (or x2 x2)) (or (and x0 x2) (or x0 x4))))) (not (not (not (and (not x4) (not x4)))))) (or (and (and (and (and (and x4 x0) (not x3)) (not (not x1))) (not (not (and x2 x4)))) (or (not (not (and x3 x0))) (not (and (not x3) (not x3))))) (and (or (and (not (not x4)) (or (or x1 x0) (and x0 x1))) (and (not (or x0 x1)) (and (and x2 x4) (or x1 x4)))) (or (and (not (not x1)) (not (or x1 x1))) (not (and (not x3) (or x0 x3))))))))) (not (and (not (or (or (or (not (and (or x2 x2) (and x2 x3))) (not (and (or x1 x4) (and x1 x1)))) (and (and (and (or x1 x2) (and x1 x2)) (or (and x4 x2) (or x4 x3))) (and (not (not x3)) (not (or x3 x0))))) (not (not (and (or (and x4 x4) (not x3)) (and (or x1 x1) (not x2))))))) (or (not (not (not (not (or (not x4) (and x0 x2)))))) (or (not (or (not (and (or x1 x0) (and x2 x0))) (and (and (not x3) (or x2 x4)) (not (not x0))))) (or (not (and (not (not x3)) (not (and x0 x4)))) (and (or (or (and x4 x1) (and x4 x2)) (or (or x0 x3) (or x3 x2))) (or (or (not x2) (or x2 x4)) (not (not x2)))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (or (and (or (and (or (not (or (and (or x1 x4) (and x4 x1)) (and (not x2) (not x3)))) (and (and (not (or x4 x1)) (or (not x3) (and x2 x3))) (and (or (and x3 x3) (and x0 x2)) (or (and x1 x0) (or x2 x4))))) (not (not (or (or (or x2 x2) (and x3 x3)) (not (not x2)))))) (and (and (or (or (not (not x3)) (or (and x0 x0) (and x1 x1))) (or (and (and x3 x2) (and x0 x1)) (and (and x1 x2) (or x1 x4)))) (not (or (or (and x2 x2) (and x3 x2)) (and (not x2) (not x1))))) (and (not (and (or (and x1 x2) (not x1)) (and (and x1 x1) (or x4 x3)))) (and (or (not (and x3 x3)) (not (not x3))) (or (and (and x0 x4) (not x1)) (or (and x1 x3) (not x0))))))) (not (and (and (or (not (not (or x2 x4))) (not (or (not x3) (and x4 x2)))) (or (or (and (or x2 x0) (and x0 x4)) (not (or x2 x4))) (or (or (or x3 x4) (not x4)) (and (or x3 x1) (or x1 x1))))) (and (and (or (not (or x0 x2)) (or (not x0) (and x3 x4))) (and (not (not x1)) (not (or x1 x0)))) (not (not (or (not x4) (not x0)))))))) (or (not (not (or (and (or (or (and x1 x4) (not x0)) (not (not x0))) (and (and (or x3 x1) (or x0 x4)) (or (and x0 x1) (and x2 x3)))) (not (not (and (not x3) (or x4 x3))))))) (not (and (or (not (and (not (and x0 x3)) (not (not x3)))) (and (or (and (or x0 x1) (and x1 x4)) (not (and x2 x4))) (or (and (not x4) (and x4 x2)) (or (or x2 x1) (not x2))))) (and (or (and (or (not x3) (and x4 x1)) (not (not x0))) (and (and (and x1 x4) (and x2 x1)) (and (not x3) (and x0 x2)))) (not (not (or (not x3) (and x4 x0))))))))) (and (or (or (not (not (and (and (not (or x3 x3)) (or (not x2) (not x0))) (and (or (and x4 x4) (and x3 x3)) (not (and x0 x1)))))) (or (not (or (and (and (and x4 x1) (not x2)) (or (and x2 x4) (not x4))) (and (and (not x1) (not x2)) (or (or x4 x0) (not x4))))) (or (and (or (or (not x4) (not x3)) (not (not x4))) (or (and (or x2 x3) (and x2 x4)) (or (not x1) (and x1 x3)))) (not (and (and (or x2 x3) (and x3 x1)) (not (and x0 x3))))))) (not (and (not (and (and (or (not x0) (or x0 x4)) (not (and x3 x0))) (not (or (and x2 x3) (not x3))))) (and (not (not (or (not x3) (and x2 x1)))) (or (not (not (not x2))) (or (and (and x2 x2) (or x1 x1)) (and (and x2 x4) (not x2)))))))) (or (not (and (not (and (or (or (and x1 x1) (not x4)) (and (not x4) (and x2 x3))) (not (or (not x4) (and x1 x2))))) (or (not (and (and (and x4 x2) (and x1 x0)) (or (and x3 x3) (not x0)))) (not (or (and (and x1 x2) (not x1)) (or (and x1 x1) (not x0))))))) (and (not (or (or (and (not (not x1)) (and (or x1 x1) (not x0))) (and (not (and x2 x2)) (or (or x1 x2) (not x2)))) (or (or (or (and x4 x3) (not x3)) (and (and x2 x3) (or x4 x2))) (not (not (or x2 x0)))))) (not (and (or (or (or (not x0) (not x0)) (or (or x4 x0) (and x4 x1))) (not (not (not x0)))) (or (and (or (and x3 x1) (or x4 x0)) (not (and x1 x1))) (not (and (and x2 x3) (and x4 x3)))))))))))
+(assert (or (not (not (and (not (not (or (and (or (and x3 x4) (not x4)) (or (and x2 x2) (not x0))) (or (not (or x3 x4)) (or (and x4 x1) (or x0 x2)))))) (and (not (and (or (not (not x0)) (not (or x3 x1))) (not (and (or x4 x2) (or x4 x2))))) (and (and (or (and (or x1 x2) (not x2)) (or (not x1) (and x1 x2))) (not (and (and x2 x1) (or x1 x4)))) (or (or (or (not x3) (or x4 x0)) (or (not x0) (and x3 x3))) (not (or (and x0 x1) (or x4 x0))))))))) (or (and (and (not (or (and (not (not (and x1 x2))) (and (not (not x3)) (and (and x4 x0) (or x4 x3)))) (or (and (or (or x3 x4) (and x2 x4)) (and (and x2 x2) (or x0 x2))) (not (and (and x0 x1) (and x2 x1)))))) (or (and (not (not (not (not x2)))) (and (and (or (not x2) (and x4 x2)) (and (and x2 x3) (or x0 x4))) (and (or (or x0 x2) (not x0)) (not (and x2 x2))))) (or (and (and (or (or x3 x0) (and x2 x3)) (or (not x2) (and x3 x1))) (or (not (and x2 x0)) (and (not x2) (not x1)))) (not (and (or (and x0 x0) (or x2 x1)) (and (not x4) (or x2 x4))))))) (or (or (or (not (not (and (not x4) (or x1 x1)))) (not (not (not (and x3 x3))))) (or (not (and (and (and x4 x1) (not x4)) (not (not x0)))) (or (or (not (and x4 x1)) (and (not x1) (or x0 x4))) (not (not (and x4 x2)))))) (or (not (not (or (or (or x2 x2) (and x2 x3)) (or (and x3 x4) (not x0))))) (or (not (and (and (not x0) (or x1 x4)) (not (not x3)))) (and (or (and (or x1 x0) (not x1)) (not (or x4 x2))) (or (not (and x0 x1)) (or (and x0 x0) (or x3 x1)))))))) (not (or (and (and (or (or (not (not x4)) (and (or x0 x1) (or x4 x3))) (and (or (not x4) (and x4 x4)) (not (and x2 x0)))) (not (or (not (or x4 x2)) (and (not x1) (or x0 x4))))) (or (or (and (or (not x1) (and x3 x0)) (or (not x1) (and x0 x1))) (or (not (not x4)) (and (and x4 x3) (and x1 x4)))) (or (not (not (or x2 x0))) (and (and (and x4 x2) (not x0)) (and (or x1 x1) (and x2 x4)))))) (or (or (not (not (not (or x2 x4)))) (not (not (or (or x3 x3) (and x1 x1))))) (or (or (and (and (and x2 x4) (and x3 x3)) (and (and x0 x4) (not x1))) (not (not (not x3)))) (and (or (or (and x1 x0) (and x1 x4)) (and (and x4 x0) (or x0 x3))) (or (and (or x1 x0) (and x1 x2)) (not (not x3)))))))))))
+(check-sat)
+(push 1)
+(assert (or (or (and (and (and (and (or (or (not (and x4 x4)) (and (and x4 x0) (not x3))) (and (not (or x4 x0)) (not (or x0 x0)))) (not (or (not (and x3 x0)) (or (and x4 x0) (and x1 x3))))) (or (not (not (not (or x4 x1)))) (not (not (not (not x3)))))) (not (not (not (or (and (not x3) (or x1 x3)) (and (and x2 x3) (or x2 x2))))))) (not (not (or (not (and (not (or x4 x1)) (and (and x1 x4) (and x2 x2)))) (and (not (not (or x3 x2))) (not (not (not x4)))))))) (or (or (and (or (not (not (not (or x1 x1)))) (not (not (not (or x0 x1))))) (not (not (and (not (not x3)) (and (not x2) (and x4 x3)))))) (and (not (or (and (not (and x1 x0)) (and (and x3 x1) (or x1 x0))) (or (not (and x3 x2)) (or (or x1 x4) (and x2 x1))))) (not (not (or (and (and x2 x0) (not x0)) (and (and x2 x0) (and x0 x4))))))) (and (and (not (and (and (or (or x2 x4) (and x0 x3)) (not (or x1 x2))) (not (and (and x1 x1) (or x4 x3))))) (and (not (or (not (or x2 x3)) (or (or x2 x0) (and x3 x4)))) (not (not (or (and x2 x0) (not x4)))))) (or (not (and (not (not (or x0 x0))) (not (not (or x1 x3))))) (and (not (and (and (and x3 x4) (or x1 x0)) (or (and x2 x4) (not x2)))) (not (not (and (and x0 x1) (and x2 x4))))))))) (not (and (or (not (and (and (and (not (or x4 x2)) (and (not x0) (not x0))) (not (or (or x0 x1) (not x2)))) (or (or (and (and x3 x1) (or x4 x3)) (not (and x0 x2))) (or (and (and x1 x0) (not x0)) (or (not x2) (and x3 x3)))))) (not (and (and (and (or (and x3 x4) (and x3 x3)) (not (or x3 x4))) (not (not (and x3 x0)))) (or (and (not (or x4 x4)) (not (not x3))) (and (not (and x4 x1)) (or (and x2 x3) (and x0 x1))))))) (or (and (and (not (or (or (not x3) (not x4)) (not (or x1 x0)))) (and (or (or (and x1 x3) (and x1 x4)) (not (or x3 x1))) (and (not (and x0 x3)) (not (or x1 x1))))) (not (or (not (and (or x0 x0) (and x2 x2))) (not (or (not x4) (not x4)))))) (or (or (and (and (and (and x1 x2) (or x1 x0)) (or (or x1 x2) (or x2 x2))) (not (and (not x0) (or x1 x3)))) (not (or (or (or x0 x1) (or x4 x1)) (not (not x1))))) (not (or (not (and (not x3) (not x3))) (and (or (and x0 x0) (or x0 x1)) (or (and x1 x1) (not x4)))))))))))
+(assert (or (and (not (not (or (not (and x1 x3)) (not (not x3))))) (not (not (or (and (or x4 x0) (not x0)) (and (and x0 x0) (and x4 x1)))))) (not (and (and (not (and (or x2 x0) (or x0 x2))) (or (not (not x3)) (and (and x2 x1) (and x1 x3)))) (not (and (not (or x4 x0)) (or (not x2) (not x1))))))))
+(assert (or (and (not (not (and (and (and (not x0) (and x2 x3)) (or (or x1 x0) (and x4 x2))) (or (and (or x1 x0) (and x2 x4)) (or (and x0 x3) (not x4)))))) (or (and (not (not (and (not x2) (not x4)))) (or (or (or (and x0 x2) (and x4 x4)) (not (or x2 x4))) (and (not (and x0 x4)) (or (or x0 x2) (or x0 x2))))) (or (and (not (or (or x1 x1) (and x2 x0))) (not (and (not x2) (or x2 x2)))) (or (or (not (and x4 x4)) (or (and x0 x3) (not x1))) (and (not (not x4)) (or (or x0 x3) (not x1))))))) (and (or (and (or (or (and (or x3 x4) (or x2 x2)) (not (and x3 x0))) (or (not (and x2 x2)) (or (or x2 x1) (or x1 x1)))) (or (and (and (not x4) (not x1)) (or (and x1 x3) (and x3 x2))) (and (or (not x3) (or x2 x1)) (not (and x3 x2))))) (not (and (or (or (or x2 x3) (not x2)) (and (not x1) (not x2))) (or (and (or x3 x1) (and x3 x2)) (and (or x4 x2) (or x0 x4)))))) (and (or (and (or (not (and x4 x2)) (or (and x1 x3) (and x2 x3))) (or (not (and x0 x1)) (not (or x1 x2)))) (and (not (or (not x2) (or x3 x2))) (and (and (and x3 x3) (not x2)) (not (and x3 x3))))) (not (and (not (or (not x4) (not x3))) (or (or (and x1 x1) (not x0)) (and (not x0) (and x4 x3)))))))))
+(assert (or (and (or (or (and x2 x2) (or x1 x2)) (or (or x2 x3) (not x0))) (not (not (not x3)))) (or (and (and (and x3 x4) (or x4 x4)) (and (or x0 x2) (and x2 x3))) (and (or (and x4 x4) (and x2 x1)) (or (not x3) (or x4 x4))))))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(assert (or (not (and (or (and (and (or (or (or (and x3 x6) (not x8)) (or (or x3 x0) (or x5 x8))) (and (and (or x0 x5) (not x0)) (not (not x4)))) (not (and (and (or x8 x3) (and x6 x0)) (or (and x7 x3) (and x5 x0))))) (not (not (and (and (and x2 x5) (not x0)) (not (not x1)))))) (not (not (or (not (or (and x3 x3) (not x8))) (and (not (or x0 x1)) (or (not x7) (and x4 x1))))))) (not (not (or (not (not (or (not x0) (or x3 x3)))) (not (not (or (not x6) (and x6 x0))))))))) (or (not (and (and (or (not (and (or (and x2 x1) (or x2 x7)) (and (and x7 x5) (or x5 x0)))) (and (or (not (and x7 x8)) (and (not x3) (or x6 x6))) (and (and (or x7 x5) (or x7 x5)) (not (not x7))))) (and (or (not (or (not x6) (or x0 x5))) (or (or (or x1 x3) (or x7 x4)) (or (and x1 x2) (not x8)))) (or (not (or (and x1 x6) (and x6 x7))) (and (not (and x2 x5)) (not (or x2 x6)))))) (or (or (not (or (or (or x2 x0) (and x3 x2)) (and (or x1 x3) (or x6 x4)))) (and (not (and (or x1 x7) (or x1 x2))) (not (not (not x0))))) (not (not (not (and (or x0 x0) (or x5 x2)))))))) (and (and (or (not (not (not (or (and x0 x2) (or x4 x2))))) (or (and (or (or (and x5 x8) (and x3 x1)) (not (not x2))) (or (or (and x6 x6) (not x8)) (and (not x5) (or x2 x4)))) (or (or (not (not x5)) (not (and x6 x5))) (or (and (and x2 x4) (and x5 x1)) (or (not x7) (not x6)))))) (not (and (not (or (and (not x1) (not x3)) (not (or x6 x2)))) (or (not (or (or x0 x4) (and x2 x5))) (or (or (and x4 x2) (and x1 x1)) (not (or x7 x8))))))) (and (or (not (or (not (not (not x2))) (not (and (or x3 x0) (and x3 x2))))) (or (not (and (and (and x0 x2) (and x8 x1)) (or (and x5 x7) (or x1 x2)))) (or (and (not (or x4 x3)) (or (or x6 x1) (and x1 x2))) (and (not (or x6 x1)) (and (or x1 x6) (or x3 x6)))))) (and (not (not (or (and (not x0) (or x5 x1)) (not (not x0))))) (or (or (and (not (not x4)) (and (not x1) (not x0))) (or (or (not x3) (and x5 x0)) (or (not x3) (and x1 x6)))) (not (not (or (and x7 x2) (not x5)))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (or x1 x2)) (and (or x3 x3) (or x1 x0))))
+(check-sat)
+(pop 1)
+(assert (or (not (and (and x1 x3) (not x4))) (or (not (or x0 x0)) (or (and x1 x8) (not x0)))))
+(assert (or (not x7) (and x1 x7)))
+(assert (and (or (not (or (not x4) (or x3 x6))) (and (and (and x1 x1) (not x2)) (not (and x8 x5)))) (and (and (or (not x7) (and x0 x8)) (and (or x2 x5) (or x5 x4))) (and (or (and x5 x7) (not x6)) (or (and x5 x2) (or x8 x2))))))
+(assert (or (and (or (or (or (not x4) (or x6 x7)) (not (or x3 x4))) (and (and (or x8 x3) (not x7)) (and (not x5) (or x8 x3)))) (or (and (or (or x3 x2) (and x0 x2)) (and (not x7) (and x8 x6))) (and (not (or x7 x7)) (or (or x8 x2) (not x6))))) (not (not (and (and (and x7 x7) (not x0)) (and (not x7) (not x2)))))))
+(check-sat)
+(push 1)
+(assert (and x0 x5))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (or (not (and (not (or (or (and (not (and x0 x3)) (not (not x1))) (or (not (and x4 x4)) (or (not x4) (not x4)))) (or (not (or (or x4 x0) (and x4 x2))) (not (or (and x4 x0) (or x1 x3)))))) (not (or (and (or (or (or x4 x2) (and x3 x2)) (or (not x3) (or x3 x4))) (or (not (or x2 x2)) (and (or x1 x1) (not x4)))) (or (and (not (or x0 x4)) (and (or x0 x3) (not x0))) (not (and (and x1 x2) (and x1 x4)))))))) (not (and (not (and (or (and (not (or x0 x4)) (or (and x1 x4) (and x3 x3))) (or (or (not x3) (or x1 x1)) (not (not x4)))) (not (and (and (and x2 x4) (and x2 x4)) (not (not x4)))))) (and (and (not (not (or (not x4) (and x4 x0)))) (not (and (not (and x0 x0)) (or (not x4) (or x3 x2))))) (not (not (and (and (not x2) (and x4 x4)) (not (and x1 x2))))))))) (and (or (and (not (and (not (or (or (and x1 x2) (not x0)) (or (not x4) (and x3 x0)))) (or (not (or (or x1 x3) (not x0))) (and (or (or x3 x0) (and x2 x0)) (not (not x0)))))) (or (and (and (and (and (not x0) (and x0 x1)) (and (not x1) (or x1 x3))) (not (not (or x1 x1)))) (or (not (or (or x2 x3) (or x2 x1))) (or (not (not x4)) (and (and x0 x4) (not x0))))) (or (and (or (not (not x1)) (or (not x2) (or x1 x4))) (or (or (not x3) (not x4)) (not (and x2 x2)))) (or (and (or (and x3 x1) (and x1 x1)) (not (and x4 x2))) (and (or (not x2) (and x4 x3)) (and (not x2) (or x0 x2))))))) (and (or (and (or (or (and (not x1) (or x0 x4)) (not (not x3))) (not (or (or x3 x1) (and x1 x0)))) (or (and (or (and x3 x3) (not x3)) (or (and x0 x2) (not x4))) (and (not (not x2)) (and (and x3 x2) (and x4 x3))))) (and (not (not (or (not x2) (and x0 x3)))) (not (and (and (not x3) (not x4)) (not (not x4)))))) (or (not (or (not (not (not x2))) (and (and (not x0) (and x3 x4)) (or (not x4) (and x0 x1))))) (not (or (and (or (and x2 x1) (or x3 x2)) (not (and x1 x4))) (and (not (or x0 x4)) (not (not x1)))))))) (or (and (and (not (or (or (and (and x3 x0) (not x2)) (and (or x0 x4) (and x3 x2))) (and (or (and x1 x3) (and x2 x0)) (or (not x0) (or x0 x3))))) (not (not (and (or (and x4 x3) (or x1 x0)) (not (and x2 x3)))))) (not (or (not (and (and (and x3 x4) (or x3 x4)) (or (or x1 x2) (and x1 x4)))) (not (not (or (and x2 x2) (and x4 x4))))))) (or (or (not (or (or (or (or x2 x0) (not x2)) (or (not x0) (or x4 x4))) (or (or (and x2 x0) (or x1 x1)) (and (or x3 x0) (not x0))))) (or (or (and (not (not x3)) (not (and x3 x4))) (not (and (not x0) (not x0)))) (and (or (or (or x2 x3) (and x3 x0)) (or (or x0 x3) (or x2 x2))) (not (not (and x3 x0)))))) (or (or (not (or (not (not x4)) (and (and x4 x0) (and x2 x2)))) (or (and (or (or x4 x2) (and x0 x3)) (and (and x0 x3) (not x0))) (not (and (or x3 x0) (and x0 x4))))) (and (or (and (or (and x2 x2) (and x0 x2)) (not (not x1))) (not (or (and x1 x1) (and x1 x2)))) (and (not (not (not x2))) (or (or (not x1) (and x0 x4)) (or (not x0) (not x0)))))))))))
+(assert (or (or (or (and x2 x1) (and x4 x4)) (or (or x1 x4) (and x2 x3))) (not (and (and x3 x4) (not x0)))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (not (and (not (and (not (or (or x3 x0) (and x0 x2))) (not (and (and x2 x0) (not x3))))) (and (or (or (not (and x3 x1)) (not (and x4 x4))) (or (or (or x0 x3) (or x4 x4)) (not (not x3)))) (not (or (not (not x0)) (and (or x1 x0) (and x3 x2))))))) (not (and (and (and (or (or (or x2 x1) (and x0 x1)) (and (or x3 x0) (or x0 x0))) (or (and (and x3 x1) (or x3 x4)) (not (not x4)))) (not (and (or (and x2 x1) (and x4 x0)) (not (not x0))))) (and (and (or (or (and x3 x3) (or x1 x4)) (and (and x2 x3) (not x1))) (not (and (or x4 x2) (or x4 x4)))) (not (not (or (and x1 x1) (and x4 x3)))))))))
+(assert (not (not (not (not (and (or (not (or (and (not x4) (not x2)) (and (not x4) (not x1)))) (not (and (and (and x2 x2) (and x4 x3)) (not (and x1 x0))))) (not (or (and (not (and x3 x2)) (not (not x2))) (not (not (not x2)))))))))))
+(check-sat)
+(push 1)
+(assert (or (or (or (or (not x4) (not x1)) (not (not x1))) (and (and (and x4 x1) (and x4 x4)) (and (and x4 x0) (or x0 x2)))) (not (and (not (and x3 x0)) (and (not x2) (or x1 x0))))))
+(check-sat)
+(pop 1)
+(assert (not (or (not (not x3)) (or (not x2) (not x4)))))
+(assert (and (or x3 x4) (and x4 x0)))
+(assert (and (not (not (not (or (or (or (and (and (or x2 x3) (or x3 x1)) (and (or x0 x3) (and x4 x4))) (and (not (and x2 x4)) (or (and x4 x0) (or x4 x3)))) (not (or (and (and x0 x4) (not x4)) (not (or x3 x4))))) (and (and (or (not (and x1 x4)) (or (not x1) (and x4 x2))) (not (or (or x1 x2) (and x4 x3)))) (not (or (or (not x2) (not x4)) (and (or x1 x3) (not x3))))))))) (not (or (and (not (and (and (and (not (and x3 x3)) (not (and x1 x1))) (not (or (not x4) (or x2 x1)))) (and (not (or (not x4) (and x4 x2))) (or (or (and x1 x2) (not x4)) (and (or x3 x4) (not x0)))))) (and (or (or (or (or (or x3 x2) (or x1 x3)) (or (not x4) (or x1 x4))) (or (not (and x1 x0)) (and (and x4 x3) (and x0 x0)))) (and (or (not (not x0)) (or (or x0 x3) (or x4 x4))) (and (not (or x2 x2)) (not (and x2 x4))))) (or (not (and (or (and x1 x1) (or x1 x1)) (not (or x0 x0)))) (and (not (and (or x1 x3) (or x3 x3))) (or (and (or x0 x1) (not x2)) (or (or x3 x0) (or x3 x1))))))) (not (not (or (and (not (or (or x2 x2) (or x0 x3))) (or (and (and x4 x3) (not x4)) (or (or x0 x4) (and x3 x0)))) (and (or (and (or x1 x0) (or x0 x1)) (not (and x3 x4))) (and (or (or x2 x2) (or x1 x3)) (not (or x0 x1)))))))))))
+(assert (or (not (and (and (or (and x3 x4) (not x3)) (not (or x1 x0))) (and (and (or x3 x2) (or x2 x1)) (and (and x0 x1) (and x0 x2))))) (not (not (or (not (not x1)) (or (or x1 x3) (or x1 x4)))))))
+(check-sat)
+(pop 1)
+(assert (not (or x1 x2)))
+(assert (or (and (or (or x2 x0) (not x4)) (or (not x4) (or x2 x2))) (not (not (or x2 x3)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(assert (or (not (or (and (or (and (or x1 x0) (not x1)) (and (not x0) (not x0))) (and (not (not x1)) (not (or x1 x1)))) (and (and (or (or x0 x0) (not x1)) (and (not x0) (not x1))) (not (or (and x1 x1) (and x0 x1)))))) (or (not (and (or (not (and x1 x1)) (not (and x1 x0))) (not (not (and x0 x1))))) (not (or (and (and (and x0 x1) (and x0 x0)) (and (or x0 x1) (and x0 x0))) (not (not (and x0 x0))))))))
+(check-sat)
+(push 1)
+(assert (and (or (and (or (or (not (or (and (and (not x1) (and x0 x0)) (or (or x0 x1) (and x1 x0))) (and (and (or x1 x1) (or x1 x0)) (not (or x0 x0))))) (and (and (or (not (and x1 x0)) (and (not x0) (or x1 x0))) (and (not (or x0 x1)) (not (and x0 x1)))) (not (not (and (and x0 x0) (not x0)))))) (and (and (not (not (or (and x0 x0) (not x1)))) (and (or (and (and x1 x1) (not x0)) (not (and x0 x1))) (or (and (or x1 x1) (and x0 x1)) (not (not x1))))) (and (not (or (or (not x1) (or x0 x1)) (and (or x0 x1) (and x1 x1)))) (not (and (not (and x1 x0)) (not (not x1))))))) (or (or (not (or (or (or (or x0 x0) (or x1 x1)) (and (or x1 x1) (and x1 x1))) (or (not (not x1)) (not (and x0 x1))))) (or (or (and (not (or x1 x1)) (and (not x1) (and x0 x1))) (and (not (not x1)) (and (and x0 x0) (and x1 x1)))) (and (or (or (or x0 x0) (not x1)) (and (not x0) (or x1 x0))) (and (and (not x0) (and x0 x1)) (and (or x0 x1) (not x1)))))) (not (and (or (not (not (and x0 x1))) (and (not (or x0 x1)) (not (not x1)))) (and (not (and (or x1 x0) (not x0))) (and (or (or x0 x0) (or x1 x0)) (and (or x1 x1) (not x1)))))))) (not (and (not (or (and (and (or (or x0 x1) (or x0 x0)) (not (not x0))) (not (and (not x1) (not x0)))) (and (not (or (or x0 x0) (not x0))) (not (not (not x1)))))) (not (or (or (or (and (and x1 x1) (not x1)) (not (not x1))) (and (and (or x1 x1) (or x1 x0)) (and (and x0 x1) (or x0 x0)))) (not (or (not (or x1 x0)) (or (not x1) (or x0 x1))))))))) (not (and (not (and (or (and (not (or (not x0) (and x1 x1))) (and (or (not x0) (and x1 x0)) (not (not x1)))) (or (not (or (and x0 x1) (and x0 x0))) (or (not (and x0 x0)) (and (and x1 x0) (and x1 x0))))) (not (not (and (and (not x1) (not x0)) (and (not x0) (and x0 x0))))))) (and (or (and (or (or (and (or x1 x1) (and x1 x1)) (not (not x1))) (and (and (not x1) (or x1 x1)) (not (and x0 x0)))) (or (or (not (not x0)) (and (or x0 x1) (or x1 x0))) (or (and (not x1) (not x0)) (or (and x1 x1) (and x1 x0))))) (or (and (or (and (and x0 x0) (not x1)) (not (not x0))) (not (and (or x1 x1) (and x1 x0)))) (and (or (not (not x0)) (not (or x0 x1))) (and (or (or x1 x0) (and x0 x0)) (and (or x1 x0) (and x1 x1)))))) (not (not (or (and (or (or x1 x0) (and x0 x1)) (not (or x1 x1))) (and (and (not x0) (and x1 x0)) (not (or x0 x0)))))))))))
+(assert (and (or (and (or (or (not (and x0 x1)) (not (or x0 x1))) (not (and (and x1 x1) (or x1 x1)))) (or (and (or (not x0) (or x0 x0)) (or (and x1 x1) (not x1))) (or (not (and x1 x0)) (and (and x0 x0) (or x0 x0))))) (not (or (or (not (and x1 x1)) (and (or x1 x0) (or x1 x0))) (not (or (or x0 x1) (and x1 x0)))))) (or (and (or (not (not (and x0 x0))) (and (and (or x0 x0) (and x1 x1)) (or (or x0 x0) (or x1 x0)))) (or (not (and (not x1) (or x1 x1))) (and (or (and x1 x0) (or x1 x0)) (not (or x0 x0))))) (or (or (and (and (or x1 x0) (and x1 x1)) (not (or x1 x0))) (and (or (not x1) (and x0 x0)) (or (or x0 x1) (or x0 x1)))) (and (and (and (and x1 x0) (or x0 x1)) (not (or x0 x1))) (and (or (not x1) (and x0 x0)) (and (or x1 x1) (and x0 x1))))))))
+(check-sat)
+(pop 1)
+(assert (not (not (not (or x0 x1)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(declare-fun x9 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (and x7 x7)))
+(check-sat)
+(push 1)
+(assert (or (or x0 x1) (not x7)))
+(assert (not (and x6 x9)))
+(assert (and (and (not (or x7 x5)) (or (or x3 x8) (or x5 x8))) (or (or (or x1 x5) (and x3 x6)) (or (and x2 x5) (or x1 x1)))))
+(assert (or (not (or (not (not (not x9))) (and (or (and x2 x6) (and x2 x4)) (not (or x8 x2))))) (not (or (and (and (not x2) (not x3)) (and (or x0 x0) (and x7 x5))) (not (not (or x1 x9)))))))
+(assert (or (or (not (or (and (not (and (or (or x6 x6) (and x0 x2)) (or (not x5) (not x3)))) (not (and (or (and x1 x2) (not x1)) (not (not x3))))) (or (not (not (or (or x9 x0) (not x6)))) (and (or (and (and x2 x6) (not x4)) (not (not x9))) (not (or (not x7) (or x4 x9))))))) (and (not (and (and (or (or (and x1 x2) (and x1 x5)) (and (not x7) (or x5 x1))) (or (not (and x0 x1)) (or (not x6) (not x1)))) (and (or (not (not x3)) (or (not x1) (not x2))) (or (and (and x4 x6) (not x4)) (and (or x1 x6) (or x2 x3)))))) (and (and (and (or (not (or x9 x9)) (not (or x7 x3))) (or (not (and x5 x3)) (not (not x8)))) (not (or (or (not x1) (or x4 x9)) (not (and x4 x0))))) (or (or (and (or (or x0 x7) (or x4 x4)) (or (or x5 x4) (and x0 x4))) (or (not (and x7 x3)) (or (and x8 x0) (or x7 x8)))) (not (not (and (not x9) (and x1 x9)))))))) (not (and (or (not (not (and (and (and x4 x1) (or x5 x1)) (and (or x5 x4) (not x5))))) (not (not (and (or (and x3 x7) (or x2 x7)) (or (or x5 x0) (or x7 x4)))))) (not (not (not (not (or (or x3 x0) (or x7 x7))))))))))
+(check-sat)
+(pop 1)
+(assert (or (not (or (and (or (not (and (or x8 x0) (and x5 x2))) (not (not (or x6 x0)))) (not (and (or (or x6 x9) (and x5 x7)) (and (or x1 x7) (and x0 x0))))) (or (and (and (not (not x1)) (not (and x8 x5))) (and (and (and x5 x2) (and x7 x1)) (not (and x0 x0)))) (or (not (and (and x3 x5) (not x3))) (not (or (and x1 x0) (and x2 x4))))))) (not (and (and (and (not (or (not x4) (or x3 x7))) (not (not (not x3)))) (or (not (not (and x2 x1))) (and (or (not x6) (and x0 x8)) (not (not x3))))) (or (or (not (and (or x2 x5) (and x9 x8))) (or (or (and x2 x6) (not x3)) (not (and x7 x3)))) (or (or (not (or x6 x4)) (not (not x0))) (or (or (not x3) (or x6 x7)) (not (and x6 x7)))))))))
+(check-sat)
+(push 1)
+(assert (or (and (or (and (or (or (and (not x5) (not x9)) (or (and x3 x6) (and x3 x4))) (not (or (not x5) (or x6 x4)))) (and (and (and (not x4) (not x1)) (not (and x6 x2))) (and (or (not x4) (not x8)) (or (and x1 x3) (not x6))))) (not (not (and (or (not x8) (and x9 x1)) (and (not x3) (or x9 x4)))))) (not (and (or (not (or (or x1 x8) (or x9 x5))) (not (not (or x8 x8)))) (and (not (not (and x2 x5))) (or (or (not x6) (or x1 x2)) (or (not x0) (and x8 x4))))))) (and (or (or (and (and (not (and x7 x8)) (or (or x8 x3) (or x5 x2))) (not (or (and x3 x0) (and x8 x1)))) (or (and (and (not x2) (and x2 x2)) (or (not x1) (and x6 x6))) (or (and (not x2) (or x6 x9)) (not (and x8 x3))))) (not (and (or (or (or x7 x1) (not x6)) (and (and x6 x5) (not x8))) (not (not (not x4)))))) (and (not (not (or (or (or x6 x5) (not x6)) (or (or x7 x8) (or x2 x2))))) (not (or (and (or (and x1 x3) (not x7)) (and (and x4 x9) (or x2 x2))) (or (not (or x9 x7)) (not (and x5 x2)))))))))
+(assert (and (not (and (and (or x2 x3) (or x1 x6)) (and (and x3 x6) (or x0 x7)))) (not (or (or (or x4 x0) (and x3 x4)) (and (not x6) (or x5 x8))))))
+(check-sat)
+(push 1)
+(assert (not (and (and (and x4 x6) (or x9 x4)) (or (and x1 x9) (not x1)))))
+(check-sat)
+(push 1)
+(assert (or (not (and (or (and (not x2) (not x5)) (not (and x0 x5))) (not (and (and x2 x9) (and x2 x3))))) (not (not (and (not (or x7 x9)) (and (and x7 x4) (or x8 x3)))))))
+(check-sat)
+(pop 1)
+(assert (not (or x0 x0)))
+(assert (not (not (or (or (and (and (not (or (and (not x0) (not x1)) (and (and x4 x9) (and x3 x9)))) (not (or (not (or x9 x3)) (and (and x4 x2) (not x7))))) (and (not (and (or (not x1) (and x9 x5)) (not (or x9 x3)))) (and (or (and (or x6 x1) (or x6 x6)) (or (not x0) (not x0))) (or (and (not x3) (and x5 x7)) (not (and x9 x7)))))) (not (not (or (not (or (and x1 x0) (not x5))) (or (and (or x5 x5) (and x5 x7)) (and (and x1 x7) (and x4 x6))))))) (and (not (not (or (or (or (or x9 x0) (or x7 x3)) (or (not x0) (or x8 x0))) (and (or (and x3 x1) (or x4 x7)) (and (not x5) (and x0 x1)))))) (or (or (and (and (or (not x0) (not x2)) (not (and x3 x9))) (or (and (or x9 x6) (or x6 x0)) (or (not x6) (or x8 x0)))) (not (or (and (and x8 x6) (not x1)) (and (not x4) (or x5 x3))))) (or (or (or (or (and x2 x7) (and x5 x4)) (and (or x7 x5) (or x7 x8))) (and (not (and x7 x0)) (and (not x2) (not x0)))) (and (and (or (and x9 x6) (or x5 x9)) (not (or x8 x3))) (or (and (or x8 x4) (and x5 x2)) (or (or x5 x1) (and x5 x8)))))))))))
+(assert (and (or (and (or (and (not (and x3 x6)) (or (and x1 x3) (not x2))) (and (not (not x7)) (and (not x1) (not x5)))) (not (not (not (or x6 x5))))) (or (and (or (not (and x2 x0)) (and (or x6 x8) (and x9 x2))) (or (not (and x7 x3)) (and (not x3) (or x7 x0)))) (not (or (not (not x2)) (or (or x3 x7) (not x9)))))) (and (not (or (and (not (or x9 x3)) (or (not x6) (and x1 x2))) (and (or (or x2 x3) (and x6 x7)) (and (and x2 x8) (and x5 x7))))) (not (or (not (and (not x0) (and x8 x1))) (not (not (or x7 x2))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(assert (or (or (and (not (not (and (and x1 x3) (or x3 x1)))) (or (not (and (or x2 x0) (and x0 x1))) (or (not (or x2 x1)) (or (and x1 x3) (not x3))))) (not (not (or (or (and x3 x1) (not x0)) (and (and x1 x1) (or x0 x3)))))) (and (not (and (and (not (and x1 x3)) (or (or x0 x2) (not x2))) (or (or (or x0 x3) (and x3 x0)) (or (or x0 x3) (and x1 x0))))) (or (not (or (not (and x3 x1)) (and (and x0 x0) (and x1 x2)))) (not (or (or (not x0) (and x0 x2)) (and (or x0 x0) (and x3 x1))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (and x2 x0))))
+(check-sat)
+(pop 1)
+(assert (not (not (not x1))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(check-sat)
+(push 1)
+(assert (or (not (or (and x1 x0) (or x1 x0))) (not (not (not x0)))))
+(check-sat)
+(push 1)
+(assert (or (not (or (and (or (or (and (or (not x0) (not x0)) (not (not x0))) (not (not (and x0 x0)))) (and (or (or (and x0 x0) (and x1 x0)) (not (or x1 x0))) (and (and (and x1 x0) (and x0 x0)) (and (not x0) (or x0 x1))))) (and (and (and (or (or x1 x0) (not x1)) (and (or x1 x0) (or x1 x1))) (and (and (not x1) (and x0 x0)) (and (or x0 x0) (not x1)))) (not (not (not (or x0 x1)))))) (and (not (and (and (or (and x0 x1) (not x0)) (or (and x1 x1) (or x0 x0))) (and (or (or x1 x1) (not x0)) (and (not x1) (or x1 x1))))) (or (and (or (or (or x0 x0) (not x0)) (or (and x0 x0) (or x1 x1))) (not (and (and x0 x0) (or x0 x1)))) (not (not (or (and x0 x1) (not x0)))))))) (or (or (and (and (or (or (and (not x1) (not x1)) (and (not x0) (not x1))) (and (and (or x1 x0) (and x0 x0)) (and (or x1 x0) (not x1)))) (and (not (or (or x1 x1) (and x0 x0))) (or (or (or x0 x0) (not x0)) (and (and x1 x0) (not x1))))) (and (and (or (or (not x0) (not x0)) (not (and x1 x0))) (not (and (not x1) (not x1)))) (and (or (and (and x1 x0) (and x0 x0)) (not (not x1))) (not (or (not x1) (or x0 x1)))))) (or (not (and (not (and (and x0 x0) (or x1 x0))) (or (or (or x1 x0) (not x1)) (or (not x1) (not x1))))) (and (not (or (and (not x0) (and x1 x0)) (or (and x1 x1) (or x0 x1)))) (not (or (and (or x0 x1) (not x1)) (not (or x1 x0))))))) (or (and (or (not (or (and (and x1 x0) (or x0 x1)) (and (and x0 x1) (and x0 x0)))) (and (not (or (and x0 x1) (not x1))) (or (not (not x0)) (not (or x1 x0))))) (or (or (or (and (or x1 x0) (not x0)) (and (and x1 x1) (not x0))) (not (not (or x0 x1)))) (and (not (and (and x1 x1) (not x1))) (and (and (and x0 x1) (or x1 x0)) (and (and x1 x1) (or x1 x1)))))) (and (not (not (or (and (or x1 x1) (and x0 x0)) (not (not x1))))) (not (not (or (and (not x1) (or x0 x0)) (or (and x0 x0) (and x1 x1))))))))))
+(check-sat)
+(push 1)
+(assert (and (not x0) (or x1 x0)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (not (and x1 x1)))))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(check-sat)
+(push 1)
+(assert (or x1 x3))
+(assert (or (or x5 x0) (not x0)))
+(check-sat)
+(push 1)
+(assert (and (not (or (or (not (or (or (or (and (not x2) (not x0)) (or (and x1 x0) (not x3))) (not (or (and x2 x8) (and x6 x6)))) (or (not (not (not x4))) (and (or (and x1 x1) (not x1)) (or (not x1) (not x6)))))) (not (or (and (or (and (not x4) (and x0 x6)) (and (not x1) (or x8 x1))) (not (not (not x0)))) (not (and (not (not x4)) (and (not x3) (and x2 x0))))))) (or (and (or (and (not (or (not x7) (and x1 x2))) (and (not (not x1)) (and (not x1) (or x3 x2)))) (or (or (and (and x2 x0) (or x3 x2)) (and (and x0 x1) (or x0 x5))) (not (and (and x3 x8) (not x4))))) (and (and (not (and (and x1 x5) (or x1 x6))) (and (or (or x4 x7) (and x4 x3)) (or (or x2 x0) (or x5 x1)))) (or (or (not (not x1)) (or (and x6 x1) (or x4 x2))) (not (and (and x0 x8) (and x7 x1)))))) (and (or (or (and (and (and x6 x8) (and x3 x7)) (and (and x7 x0) (or x5 x6))) (and (or (or x5 x6) (and x8 x7)) (and (and x0 x6) (and x1 x1)))) (and (not (or (not x1) (or x1 x2))) (and (and (or x2 x8) (not x5)) (not (or x0 x3))))) (or (and (and (not (not x3)) (not (or x1 x6))) (and (not (not x8)) (or (and x0 x6) (or x0 x8)))) (not (and (or (not x3) (or x4 x3)) (and (not x7) (not x7))))))))) (and (or (not (or (and (or (or (not (or x2 x2)) (not (and x0 x8))) (or (or (not x8) (not x8)) (and (not x0) (and x1 x4)))) (and (or (not (or x4 x0)) (not (or x1 x6))) (and (and (and x4 x7) (or x3 x5)) (and (or x6 x6) (and x0 x3))))) (or (or (or (and (not x6) (and x2 x6)) (and (not x6) (or x5 x5))) (and (or (or x2 x8) (not x1)) (or (or x8 x4) (or x3 x5)))) (and (or (or (and x7 x8) (not x2)) (or (and x8 x2) (and x3 x2))) (or (or (and x2 x5) (and x1 x8)) (or (not x8) (not x5))))))) (not (not (and (and (or (not (and x8 x0)) (or (not x0) (not x8))) (or (and (and x3 x7) (not x8)) (and (and x4 x7) (and x8 x0)))) (or (and (or (and x1 x5) (not x2)) (not (and x8 x5))) (and (and (and x1 x8) (not x2)) (and (not x7) (or x5 x6)))))))) (not (and (and (or (or (not (and (not x6) (not x7))) (or (or (and x3 x7) (and x7 x0)) (not (not x8)))) (not (and (not (or x4 x6)) (and (not x1) (and x4 x3))))) (not (not (and (or (not x8) (and x5 x8)) (and (or x0 x5) (and x7 x3)))))) (not (and (not (and (not (and x6 x8)) (or (not x7) (and x3 x0)))) (or (not (not (and x8 x0))) (or (or (not x0) (not x6)) (or (not x8) (or x0 x7)))))))))))
+(check-sat)
+(push 1)
+(assert (or (or x5 x6) (not x3)))
+(assert (or (and (not (and (not (or (not (or x1 x5)) (or (and x2 x4) (and x1 x1)))) (and (or (and (or x5 x1) (and x2 x6)) (not (or x7 x6))) (or (not (and x7 x3)) (or (and x3 x7) (or x8 x4)))))) (and (or (and (or (not (not x6)) (or (and x6 x0) (not x7))) (or (not (not x0)) (or (not x8) (or x5 x6)))) (and (or (not (or x5 x2)) (not (or x8 x6))) (and (not (or x5 x2)) (and (and x7 x1) (and x3 x1))))) (and (not (not (or (or x8 x4) (not x3)))) (not (not (or (or x8 x2) (and x0 x8))))))) (and (not (or (and (not (not (not x4))) (or (or (or x5 x3) (not x1)) (not (not x2)))) (not (or (and (not x7) (not x5)) (and (and x5 x5) (not x3)))))) (and (not (or (or (not (not x3)) (or (and x4 x7) (and x7 x1))) (not (and (and x2 x1) (not x1))))) (and (and (or (and (not x0) (and x6 x2)) (and (and x8 x2) (not x5))) (not (not (or x6 x2)))) (not (not (and (and x2 x7) (not x2)))))))))
+(check-sat)
+(push 1)
+(assert (or (or (not x6) (or x4 x3)) (or (or x8 x6) (not x4))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (and (or (and (not (not (and (and x6 x0) (not x1)))) (not (or (and (and x4 x3) (and x1 x0)) (not (not x7))))) (and (not (not (and (and x3 x7) (or x5 x8)))) (and (not (and (or x4 x0) (or x1 x8))) (or (and (and x8 x6) (and x4 x7)) (not (or x1 x4)))))) (not (not (or (and (or (and x6 x0) (and x6 x3)) (or (not x3) (not x6))) (not (or (or x3 x5) (not x2))))))) (or (and (and (and (and (not (and x2 x4)) (or (not x3) (and x1 x8))) (or (or (not x6) (and x2 x7)) (and (and x0 x2) (not x1)))) (or (and (or (or x5 x6) (or x3 x3)) (not (or x7 x2))) (not (or (or x0 x8) (or x7 x2))))) (and (or (not (and (and x0 x8) (and x2 x1))) (not (and (not x7) (and x8 x1)))) (and (not (and (not x8) (or x2 x8))) (and (or (not x3) (not x7)) (not (not x7)))))) (or (and (not (or (or (not x7) (or x4 x7)) (and (not x7) (or x2 x7)))) (and (and (or (not x4) (or x6 x3)) (not (and x2 x4))) (and (not (or x1 x6)) (or (not x3) (or x1 x1))))) (not (or (not (not (not x5))) (not (or (or x4 x1) (not x0)))))))) (not (and (or (not (not (or (and (and x8 x7) (and x3 x5)) (or (and x1 x3) (or x0 x1))))) (not (not (or (or (not x0) (and x7 x8)) (not (not x2)))))) (or (or (not (or (or (or x8 x6) (or x4 x0)) (or (and x2 x7) (and x8 x8)))) (not (or (not (or x1 x2)) (not (not x7))))) (not (not (and (not (or x7 x4)) (and (not x0) (and x2 x1))))))))) (not (or (and (and (or (and (and (and (or x7 x1) (or x5 x2)) (or (not x8) (not x1))) (not (or (and x5 x4) (not x4)))) (and (or (or (and x7 x2) (not x4)) (not (or x8 x6))) (and (or (not x3) (and x7 x3)) (not (or x2 x4))))) (or (not (not (and (or x4 x7) (and x1 x5)))) (not (not (and (not x5) (not x2)))))) (not (not (not (and (not (not x7)) (not (and x1 x7))))))) (or (and (or (or (and (or (not x7) (not x6)) (or (or x2 x3) (or x2 x7))) (not (and (or x8 x8) (and x1 x8)))) (and (not (and (not x7) (not x6))) (or (and (and x5 x4) (or x1 x7)) (and (and x2 x1) (not x6))))) (or (or (or (or (and x3 x8) (not x4)) (and (or x2 x6) (and x0 x0))) (and (and (and x1 x3) (or x4 x2)) (not (or x4 x8)))) (or (and (not (or x8 x8)) (and (or x0 x3) (or x3 x0))) (and (not (and x5 x3)) (and (not x0) (and x3 x1)))))) (not (and (and (and (or (or x0 x3) (and x3 x7)) (and (or x3 x1) (and x4 x8))) (and (not (and x7 x6)) (or (not x0) (not x0)))) (and (or (and (or x0 x3) (not x0)) (or (or x1 x2) (or x8 x3))) (and (or (not x0) (or x2 x4)) (not (or x1 x1)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (or (or x1 x1) (not x4)))
+(assert (not (and (or (not (or (and (and x2 x0) (and x1 x4)) (and (or x4 x1) (and x2 x6)))) (and (or (not (and x4 x2)) (or (and x4 x3) (not x3))) (or (or (not x0) (or x2 x2)) (not (or x5 x6))))) (not (not (not (or (or x5 x6) (or x0 x3))))))))
+(check-sat)
+(push 1)
+(assert (not (not (or (not x4) (not x6)))))
+(assert (not (and (not (or (and (and (or (not (or x3 x4)) (or (and x0 x3) (or x3 x3))) (and (or (and x2 x1) (or x2 x4)) (and (not x2) (or x6 x2)))) (not (not (and (or x0 x1) (and x6 x4))))) (and (or (and (and (not x3) (not x2)) (or (or x3 x0) (and x4 x0))) (and (and (and x5 x0) (not x6)) (not (not x0)))) (or (and (not (and x2 x4)) (not (or x0 x2))) (not (not (and x6 x3))))))) (and (or (or (or (or (not (or x4 x1)) (not (and x6 x4))) (and (and (or x3 x0) (and x3 x2)) (or (or x6 x6) (and x5 x5)))) (not (not (and (and x6 x3) (or x2 x2))))) (or (or (and (not (not x3)) (or (and x5 x4) (or x3 x1))) (and (or (not x6) (or x6 x2)) (or (not x4) (or x4 x6)))) (or (and (not (and x0 x2)) (not (not x0))) (not (or (or x5 x1) (and x0 x4)))))) (and (or (and (or (not (and x0 x6)) (not (and x1 x5))) (or (or (or x2 x4) (or x1 x6)) (or (not x4) (or x3 x4)))) (and (or (not (or x6 x0)) (and (and x2 x0) (or x0 x4))) (not (or (not x3) (or x4 x0))))) (or (not (not (or (and x6 x5) (and x6 x6)))) (and (not (or (or x4 x5) (or x3 x0))) (not (and (not x2) (not x5))))))))))
+(assert (or (not (not (and (not (and (and (not (or x1 x2)) (and (not x6) (or x3 x5))) (and (not (or x0 x2)) (not (or x4 x1))))) (or (or (not (not (and x4 x6))) (or (and (or x6 x4) (or x2 x3)) (or (and x6 x6) (not x3)))) (not (and (and (or x1 x3) (or x3 x0)) (or (not x2) (not x4)))))))) (not (or (not (and (not (or (or (not x6) (and x0 x1)) (and (or x5 x0) (and x0 x6)))) (not (not (and (and x5 x6) (and x4 x5)))))) (not (and (not (or (and (not x6) (or x1 x5)) (or (or x5 x6) (and x3 x6)))) (and (not (not (or x1 x4))) (and (or (or x4 x6) (or x2 x2)) (not (or x2 x6))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and (or (not (or (or (and (not (not (or x4 x6))) (not (not (or x6 x1)))) (or (not (or (and x6 x5) (or x4 x1))) (or (or (or x3 x4) (not x4)) (not (not x3))))) (or (or (and (or (and x3 x0) (and x2 x1)) (or (not x4) (or x4 x1))) (and (and (or x1 x2) (and x6 x6)) (not (or x3 x5)))) (or (and (and (and x5 x5) (not x3)) (not (or x0 x0))) (or (or (or x4 x2) (or x5 x1)) (and (or x1 x2) (not x0))))))) (or (and (not (not (and (or (and x6 x2) (and x2 x4)) (or (and x2 x1) (and x1 x1))))) (and (or (or (and (or x3 x0) (or x4 x2)) (or (or x0 x2) (and x0 x0))) (and (not (and x4 x6)) (not (and x5 x6)))) (and (and (and (not x1) (not x6)) (and (not x0) (and x1 x0))) (and (not (or x4 x6)) (or (or x0 x5) (not x0)))))) (or (and (not (or (not (and x1 x5)) (not (not x5)))) (or (or (and (and x6 x3) (and x0 x1)) (not (or x5 x1))) (and (and (or x6 x1) (not x4)) (and (or x1 x5) (or x4 x6))))) (and (not (or (and (not x4) (and x4 x3)) (or (not x1) (not x1)))) (or (or (and (and x3 x1) (and x4 x5)) (not (and x5 x0))) (and (not (not x3)) (or (and x5 x6) (and x3 x5)))))))) (or (and (not (or (and (not (not (and x5 x6))) (or (and (not x1) (not x4)) (or (and x0 x5) (not x1)))) (not (or (and (and x1 x3) (or x2 x1)) (and (or x6 x2) (not x5)))))) (not (and (and (or (and (not x3) (not x5)) (or (or x1 x3) (or x1 x2))) (and (or (and x4 x4) (not x1)) (and (or x6 x0) (not x1)))) (and (and (or (or x1 x2) (and x2 x3)) (and (not x6) (and x2 x2))) (or (not (or x4 x6)) (not (or x1 x3))))))) (and (or (not (or (not (not (not x3))) (or (not (not x0)) (not (and x2 x1))))) (or (not (or (not (not x3)) (not (not x6)))) (or (and (not (and x5 x3)) (not (or x3 x2))) (or (and (or x0 x2) (and x1 x2)) (or (not x2) (not x6)))))) (not (not (not (and (and (and x0 x0) (not x3)) (and (and x6 x4) (and x1 x5))))))))))
+(check-sat)
+(push 1)
+(assert (not (not (and x3 x3))))
+(check-sat)
+(pop 1)
+(assert (not (or x4 x2)))
+(assert (and (not (and x3 x3)) (or (not x2) (or x4 x2))))
+(assert (and (or x0 x1) (or x2 x5)))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (not (and (and (and (and (not (or (or x2 x3) (and x5 x1))) (or (or (and x5 x2) (or x6 x0)) (not (and x3 x5)))) (and (and (and (and x2 x4) (and x4 x5)) (or (not x6) (and x6 x6))) (or (and (not x6) (and x0 x6)) (not (not x0))))) (or (or (and (and (not x3) (not x4)) (or (and x4 x6) (or x1 x5))) (and (or (not x2) (and x1 x3)) (or (and x2 x4) (or x6 x4)))) (and (or (not (not x0)) (or (and x1 x3) (or x3 x4))) (or (and (not x2) (not x3)) (or (and x6 x3) (or x0 x2)))))) (or (and (not (or (and (and x1 x5) (and x3 x3)) (not (and x4 x5)))) (or (and (or (or x3 x1) (or x2 x5)) (and (or x4 x6) (not x2))) (not (not (and x1 x1))))) (or (or (or (not (not x4)) (or (and x6 x5) (not x0))) (not (or (and x0 x0) (and x1 x3)))) (or (not (and (or x0 x0) (or x1 x1))) (or (not (and x5 x4)) (and (and x6 x6) (or x5 x5)))))))) (or (and (not (or (or (and (not (and x6 x2)) (or (not x1) (and x5 x6))) (and (or (and x5 x1) (and x2 x3)) (not (not x2)))) (not (or (or (and x1 x0) (and x6 x4)) (or (and x5 x5) (not x5)))))) (not (and (or (not (and (and x5 x3) (and x6 x3))) (or (not (not x2)) (and (and x6 x5) (and x0 x6)))) (not (and (not (or x3 x6)) (or (not x4) (or x0 x4))))))) (not (not (and (not (and (or (or x0 x1) (not x6)) (or (and x4 x0) (and x1 x6)))) (and (not (and (or x2 x0) (not x2))) (not (or (not x3) (or x0 x6))))))))))
+(assert (and (and (not (not x1)) (not (or x2 x0))) (and (and (not x4) (and x3 x3)) (or (not x4) (and x6 x4)))))
+(assert (or (or (or (or (and x6 x0) (not x6)) (and (or x5 x0) (or x0 x6))) (not (not (or x0 x0)))) (or (or (or (not x3) (not x1)) (and (not x2) (and x5 x4))) (not (and (not x5) (not x6))))))
+(assert (and (or (and (not (and x0 x2)) (or (not x0) (or x6 x2))) (or (not (and x2 x0)) (and (not x5) (not x4)))) (not (and (or (or x2 x5) (not x2)) (not (and x0 x1))))))
+(assert (and (or (and x4 x5) (and x4 x4)) (or (not x4) (or x4 x0))))
+(assert (and x2 x6))
+(assert (or (or (and (or x5 x6) (or x6 x4)) (or (not x2) (and x3 x0))) (not (or (and x1 x6) (not x2)))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (or (and (not (and (and (not (or (or x2 x3) (and x1 x6))) (and (and (and x2 x1) (and x2 x4)) (not (or x2 x1)))) (or (not (not (or x4 x6))) (or (or (or x1 x6) (or x4 x4)) (or (or x5 x4) (and x4 x5)))))) (or (and (not (not (or (and x0 x2) (and x6 x6)))) (and (and (or (or x3 x2) (and x4 x2)) (or (not x6) (not x2))) (not (not (not x4))))) (and (or (and (not (or x1 x6)) (or (and x6 x0) (or x6 x1))) (and (and (and x0 x0) (not x3)) (or (not x2) (not x5)))) (or (not (not (or x6 x2))) (or (or (and x5 x6) (or x1 x3)) (or (and x4 x2) (and x1 x0))))))) (not (or (or (not (and (and (and x0 x6) (and x0 x1)) (and (or x0 x3) (or x3 x5)))) (not (or (not (not x3)) (not (or x0 x3))))) (and (and (and (and (and x0 x0) (not x0)) (not (and x4 x6))) (or (or (not x2) (not x2)) (or (not x5) (not x0)))) (or (or (or (and x5 x2) (or x5 x0)) (and (and x2 x0) (not x0))) (not (not (or x2 x4)))))))))
+(check-sat)
+(push 1)
+(assert (and (and (or (and (or (or (not x2) (or x6 x4)) (not (not x4))) (or (not (or x3 x0)) (or (and x5 x6) (or x3 x2)))) (and (not (and (or x1 x5) (and x5 x6))) (or (and (or x2 x4) (or x4 x2)) (or (or x6 x6) (and x2 x6))))) (not (not (or (or (not x4) (and x5 x3)) (and (not x2) (and x4 x0)))))) (not (and (not (and (and (not x6) (not x2)) (not (or x6 x5)))) (not (or (not (and x2 x5)) (not (not x0))))))))
+(assert (not x2))
+(assert (and (not (and (and (and (or (not (or (not x3) (not x0))) (and (or (and x4 x0) (not x0)) (not (not x3)))) (not (not (or (and x2 x4) (and x0 x0))))) (not (or (and (or (not x4) (and x5 x1)) (or (or x1 x2) (and x4 x0))) (and (not (and x1 x5)) (and (and x5 x4) (or x1 x6)))))) (and (or (or (or (and (not x3) (and x0 x3)) (and (not x4) (not x1))) (not (or (or x0 x0) (or x0 x1)))) (or (and (and (and x3 x0) (or x2 x6)) (and (or x4 x5) (not x0))) (not (or (or x6 x3) (not x0))))) (not (and (and (and (or x6 x5) (not x0)) (and (and x1 x6) (not x1))) (and (or (or x2 x5) (or x5 x6)) (not (not x0)))))))) (or (or (and (not (and (or (not (or x4 x2)) (and (and x5 x2) (or x6 x1))) (or (not (and x2 x5)) (not (not x2))))) (and (and (or (or (and x6 x0) (not x5)) (or (and x3 x3) (not x1))) (and (and (not x2) (not x2)) (and (or x0 x3) (not x0)))) (and (not (and (or x6 x2) (and x5 x1))) (not (not (and x1 x4)))))) (or (or (and (or (and (not x3) (or x4 x1)) (and (or x2 x6) (and x2 x6))) (or (and (or x0 x1) (not x6)) (or (and x2 x3) (or x3 x0)))) (or (and (or (and x2 x3) (not x6)) (not (and x3 x2))) (and (or (not x3) (and x1 x3)) (and (not x2) (and x1 x6))))) (or (and (not (and (and x2 x4) (not x1))) (or (or (and x2 x2) (and x1 x5)) (not (not x5)))) (and (or (and (not x5) (or x2 x0)) (and (and x0 x6) (or x2 x3))) (and (and (and x0 x4) (and x3 x1)) (not (and x3 x2))))))) (or (or (not (not (not (or (or x6 x2) (or x1 x0))))) (not (and (not (not (not x1))) (not (and (or x1 x6) (and x3 x2)))))) (and (or (and (not (or (and x6 x0) (and x4 x3))) (and (not (not x2)) (or (not x1) (not x2)))) (or (not (or (not x2) (and x3 x6))) (or (or (not x3) (and x4 x1)) (not (and x5 x3))))) (not (or (and (and (or x6 x6) (and x1 x0)) (and (and x0 x6) (not x0))) (not (and (and x5 x1) (not x4))))))))))
+(assert (and (and (and (or (and (and (or (not x6) (and x5 x4)) (or (and x5 x4) (or x0 x2))) (and (and (and x6 x3) (not x4)) (and (not x2) (or x3 x1)))) (and (not (or (or x4 x4) (or x2 x4))) (or (or (and x2 x2) (or x2 x1)) (or (not x1) (and x5 x4))))) (or (and (not (or (not x5) (not x2))) (not (and (not x2) (and x4 x6)))) (or (not (and (and x2 x1) (or x3 x1))) (and (not (not x2)) (and (and x4 x5) (not x3)))))) (or (not (not (not (not (not x5))))) (and (not (or (or (or x4 x3) (and x0 x6)) (and (or x2 x2) (and x6 x1)))) (or (not (not (not x3))) (not (or (or x0 x1) (not x3))))))) (or (or (or (not (and (not (or x4 x6)) (not (not x3)))) (or (not (and (not x3) (or x2 x2))) (or (not (and x4 x0)) (or (or x5 x6) (not x1))))) (and (or (or (and (not x2) (and x0 x2)) (or (not x5) (not x5))) (and (and (and x4 x5) (and x5 x3)) (or (not x3) (or x5 x1)))) (not (not (not (or x1 x6)))))) (and (or (or (or (or (and x2 x4) (or x4 x2)) (and (not x1) (or x5 x3))) (or (and (or x5 x2) (and x1 x1)) (and (not x1) (and x5 x6)))) (and (not (or (and x1 x3) (or x5 x3))) (and (and (not x2) (not x2)) (and (and x5 x5) (and x1 x6))))) (or (or (and (and (not x0) (or x3 x6)) (not (and x5 x4))) (and (or (not x3) (or x3 x6)) (not (and x4 x6)))) (not (and (not (or x5 x3)) (and (not x3) (or x2 x1)))))))))
+(check-sat)
+(pop 1)
+(assert (or (not (or (not (and (or (or (and x3 x5) (not x5)) (and (and x5 x2) (not x0))) (not (not (or x6 x5))))) (or (or (not (not (and x0 x6))) (and (not (not x6)) (or (and x6 x5) (or x0 x3)))) (or (and (not (not x4)) (and (and x2 x3) (and x4 x2))) (and (or (or x3 x5) (not x1)) (and (or x5 x2) (or x6 x4))))))) (and (not (and (or (or (and (and x6 x0) (and x1 x2)) (and (and x0 x3) (or x6 x4))) (and (not (or x4 x1)) (and (and x0 x4) (not x4)))) (or (or (and (not x0) (and x4 x1)) (not (or x0 x0))) (and (and (not x5) (and x1 x3)) (not (and x3 x2)))))) (not (not (not (and (not (and x0 x0)) (not (not x0)))))))))
+(assert (and (or (or (and x3 x2) (and x1 x6)) (or (or x6 x3) (not x0))) (or (not (and x5 x5)) (or (not x1) (or x3 x6)))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and (or (not (not (and (and (not (and x2 x5)) (and (or x1 x2) (not x1))) (not (or (or x0 x2) (not x6)))))) (not (or (or (and (or (not x1) (not x6)) (and (not x3) (or x6 x0))) (and (not (or x4 x1)) (or (or x1 x6) (or x1 x2)))) (and (not (not (not x0))) (or (not (and x2 x6)) (not (and x5 x3))))))) (not (and (and (or (not (and (or x5 x4) (and x1 x1))) (and (or (or x1 x1) (not x3)) (and (and x3 x6) (and x6 x1)))) (and (or (or (or x5 x4) (not x2)) (or (not x2) (or x2 x4))) (not (and (not x6) (not x5))))) (and (and (not (or (and x0 x3) (and x3 x2))) (or (not (not x6)) (not (not x4)))) (or (and (and (not x3) (not x1)) (and (and x2 x4) (not x3))) (not (and (and x1 x1) (or x0 x4)))))))))
+(assert (not (not (not (or (or (or (not x4) (or x1 x4)) (or (and x2 x3) (or x4 x5))) (and (not (not x5)) (and (and x0 x6) (and x5 x1))))))))
+(check-sat)
+(pop 1)
+(assert (and (and x2 x0) (not x4)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (or (or (or (not (or (and (and x5 x5) (not x5)) (or (or x1 x2) (not x1)))) (not (and (and (and x6 x5) (or x6 x5)) (and (or x6 x0) (and x6 x4))))) (and (or (or (or (not x3) (or x0 x1)) (or (or x0 x4) (or x6 x4))) (and (and (and x3 x4) (and x0 x0)) (or (and x6 x3) (or x3 x0)))) (not (or (and (or x1 x1) (or x1 x0)) (and (or x0 x3) (and x0 x5)))))) (or (or (and (and (not (not x5)) (and (or x4 x0) (or x3 x2))) (and (and (or x1 x2) (and x0 x2)) (and (and x4 x6) (and x0 x4)))) (or (not (and (and x5 x2) (or x1 x5))) (not (not (not x2))))) (or (not (or (not (and x3 x5)) (and (not x3) (and x2 x3)))) (and (or (and (and x2 x0) (or x6 x4)) (or (or x0 x2) (or x3 x3))) (or (or (not x1) (and x2 x4)) (not (and x2 x6))))))) (and (not (or (or (and (and (and x4 x4) (not x2)) (or (or x3 x2) (not x5))) (and (not (or x5 x2)) (not (or x2 x5)))) (or (not (not (or x3 x0))) (and (not (not x5)) (and (or x0 x1) (or x2 x5)))))) (and (not (and (or (and (and x5 x6) (not x0)) (and (or x0 x1) (and x4 x5))) (not (and (and x4 x0) (or x0 x4))))) (or (not (and (not (or x2 x5)) (or (not x0) (not x0)))) (or (and (or (or x3 x6) (not x2)) (and (not x5) (and x0 x2))) (not (or (or x6 x3) (not x6)))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (or (or x4 x3) (and x5 x3)) (and (and x3 x2) (not x1))))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or x4 x2) (or x4 x2)))
+(assert (not (not (or (not (or (and x3 x5) (not x6))) (or (or (or x1 x5) (or x0 x3)) (not (or x3 x6)))))))
+(assert (or (and (and (or (and x1 x6) (or x2 x4)) (and (and x1 x0) (or x1 x4))) (and (not (and x3 x6)) (not (not x0)))) (and (not (not (and x4 x0))) (not (or (not x6) (and x6 x5))))))
+(assert (or (and (and (and (or (not (and (or (or (not x4) (not x3)) (not (and x3 x3))) (and (not (not x3)) (not (and x0 x2))))) (and (and (not (and (and x1 x0) (or x2 x2))) (or (or (or x3 x4) (not x0)) (not (not x5)))) (or (not (and (not x3) (or x4 x4))) (or (not (and x0 x2)) (not (or x3 x0)))))) (or (or (or (not (and (and x0 x6) (not x3))) (or (not (not x3)) (and (not x3) (or x5 x0)))) (or (and (or (or x0 x5) (and x6 x3)) (and (and x3 x6) (not x3))) (and (or (not x1) (or x4 x5)) (and (or x1 x6) (not x4))))) (and (not (and (and (or x0 x4) (or x3 x6)) (or (and x2 x3) (not x6)))) (and (not (or (not x5) (not x2))) (not (not (not x2))))))) (not (or (or (or (and (or (and x3 x5) (or x0 x0)) (not (and x5 x5))) (and (and (and x0 x1) (or x6 x4)) (or (not x4) (and x6 x5)))) (and (and (not (not x0)) (or (not x4) (and x4 x2))) (or (or (and x6 x1) (not x6)) (not (or x4 x2))))) (and (or (or (not (not x1)) (or (and x4 x4) (not x5))) (and (not (not x5)) (not (and x0 x6)))) (and (or (not (or x3 x0)) (not (or x3 x5))) (or (not (and x2 x2)) (and (and x2 x4) (or x4 x1)))))))) (and (not (or (or (and (or (not (not x5)) (or (or x3 x1) (not x1))) (and (not (or x5 x3)) (not (or x3 x0)))) (not (and (not (or x2 x5)) (and (or x1 x0) (and x0 x5))))) (and (or (and (not (and x3 x1)) (or (and x1 x4) (not x5))) (or (or (not x2) (not x4)) (not (not x4)))) (and (not (or (and x5 x1) (or x4 x5))) (not (and (or x2 x1) (not x1))))))) (or (not (not (and (and (not (not x0)) (and (or x0 x3) (not x0))) (or (and (and x0 x6) (and x0 x4)) (not (and x6 x5)))))) (and (and (or (not (not (and x4 x3))) (or (or (and x1 x4) (or x3 x4)) (not (or x2 x2)))) (or (not (or (and x6 x0) (or x2 x3))) (not (or (and x3 x2) (and x6 x5))))) (or (and (not (and (and x6 x0) (not x0))) (or (and (not x5) (and x3 x3)) (not (or x0 x2)))) (and (not (or (and x5 x3) (not x0))) (or (and (and x6 x4) (or x2 x5)) (or (or x5 x1) (or x0 x2))))))))) (or (not (or (or (not (and (or (or (not x2) (or x3 x0)) (not (and x0 x2))) (or (not (and x3 x4)) (or (and x3 x4) (or x2 x6))))) (not (not (not (not (not x1)))))) (not (or (and (or (not (or x2 x3)) (or (or x4 x3) (or x3 x4))) (and (or (not x0) (and x3 x3)) (and (not x2) (and x0 x0)))) (and (or (and (and x1 x3) (and x0 x0)) (and (and x2 x2) (not x3))) (and (or (and x4 x0) (or x4 x4)) (not (or x5 x0)))))))) (and (or (not (not (and (or (and (not x2) (not x6)) (and (and x3 x4) (not x5))) (or (not (not x2)) (and (not x0) (not x3)))))) (and (and (or (or (or (not x0) (not x3)) (or (or x3 x1) (not x0))) (and (not (not x2)) (or (and x6 x2) (not x2)))) (and (and (not (or x4 x4)) (not (or x0 x0))) (and (not (and x5 x5)) (and (not x2) (and x0 x0))))) (not (or (or (or (and x4 x5) (and x2 x5)) (not (and x6 x3))) (not (not (or x5 x4))))))) (or (not (not (and (or (not (or x6 x3)) (not (not x1))) (not (or (or x6 x0) (or x4 x6)))))) (or (not (and (not (not (and x3 x4))) (not (not (not x5))))) (and (and (not (or (or x5 x4) (not x4))) (not (not (or x6 x1)))) (and (not (and (and x1 x0) (or x0 x1))) (and (and (and x5 x2) (and x2 x5)) (or (not x1) (or x6 x4)))))))))))
+(check-sat)
+(push 1)
+(assert (and (and (or (not (or (not x5) (and x3 x3))) (or (or (not x4) (or x5 x2)) (not (or x2 x0)))) (and (not (not (not x4))) (and (and (not x3) (or x5 x0)) (not (or x3 x5))))) (and (or (or (not (and x6 x4)) (or (and x2 x6) (and x2 x1))) (or (not (not x4)) (not (and x6 x3)))) (or (and (not (and x3 x3)) (not (or x0 x2))) (or (not (or x5 x4)) (or (and x2 x2) (and x1 x5)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (not (or (or (or (and (or (not (or x1 x0)) (not (or x2 x0))) (not (and (and x4 x3) (or x0 x6)))) (and (and (and (or x4 x1) (or x1 x2)) (or (not x1) (not x6))) (not (and (not x4) (and x6 x1))))) (or (and (and (not (not x6)) (or (and x6 x3) (not x1))) (or (or (and x5 x6) (or x5 x5)) (or (or x4 x6) (or x5 x6)))) (and (not (or (or x5 x2) (not x3))) (or (or (and x6 x6) (or x0 x5)) (or (and x1 x2) (and x6 x5)))))) (and (and (and (or (or (and x6 x2) (or x3 x5)) (and (or x6 x1) (and x1 x1))) (not (not (not x5)))) (or (or (not (or x3 x1)) (not (not x0))) (or (or (and x0 x4) (or x6 x6)) (and (not x2) (or x6 x1))))) (and (and (not (not (or x0 x1))) (not (or (or x2 x1) (not x1)))) (or (and (not (or x5 x2)) (or (not x0) (not x6))) (and (and (or x2 x4) (not x5)) (or (and x6 x5) (and x0 x6))))))))))
+(assert (or (or (or (and x2 x5) (and x5 x3)) (not (not x5))) (not (not (or x6 x2)))))
+(assert (not x3))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(assert (not (and (or (and (and (and (or (not (and (not x4) (and x2 x4))) (not (or (or x2 x2) (or x0 x2)))) (not (and (or (or x2 x3) (or x0 x2)) (and (not x1) (not x1))))) (not (or (and (and (or x0 x4) (or x1 x1)) (and (and x3 x0) (not x1))) (or (not (and x3 x3)) (not (and x3 x1)))))) (or (not (not (not (not (and x3 x2))))) (not (or (or (not (or x0 x3)) (and (or x2 x2) (and x1 x0))) (not (and (and x2 x2) (or x0 x0))))))) (and (not (or (not (not (or (or x2 x3) (or x0 x4)))) (or (or (not (not x4)) (not (and x3 x3))) (and (not (not x0)) (and (not x2) (not x3)))))) (and (and (not (not (or (and x0 x1) (or x3 x4)))) (or (and (or (and x1 x2) (or x4 x1)) (or (or x4 x3) (not x4))) (not (and (not x1) (and x2 x1))))) (not (or (not (and (or x4 x0) (and x3 x2))) (not (and (and x0 x4) (not x0)))))))) (or (not (or (or (and (or (or (and x1 x1) (or x2 x1)) (and (not x3) (or x3 x1))) (and (and (and x3 x2) (and x0 x4)) (or (or x0 x4) (or x2 x4)))) (and (not (and (and x1 x2) (not x3))) (or (and (not x2) (or x3 x0)) (or (not x0) (not x2))))) (and (and (and (not (and x3 x3)) (not (not x0))) (or (or (and x0 x1) (not x2)) (not (or x3 x0)))) (or (and (or (and x0 x2) (and x0 x3)) (and (not x3) (or x0 x4))) (and (not (and x2 x1)) (not (not x1))))))) (and (not (not (and (not (or (not x4) (and x0 x0))) (or (not (not x0)) (or (and x1 x3) (and x2 x0)))))) (or (and (and (not (or (and x2 x1) (and x4 x1))) (and (not (and x0 x3)) (and (or x3 x2) (and x1 x4)))) (and (and (or (or x0 x1) (not x0)) (and (and x2 x3) (not x2))) (not (not (or x2 x3))))) (and (and (and (and (or x2 x1) (or x1 x4)) (and (and x2 x4) (or x1 x4))) (or (and (and x2 x0) (not x0)) (and (and x3 x1) (not x0)))) (or (not (or (not x4) (or x1 x2))) (and (or (not x2) (not x3)) (and (or x1 x2) (and x1 x1)))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (not (and (not (or (and (or x1 x0) (not x1)) (not (and x1 x3)))) (or (or (not (not x2)) (and (and x3 x3) (not x1))) (or (or (or x4 x3) (not x3)) (not (not x4)))))) (or (and (not (not (or (and x3 x3) (or x3 x0)))) (not (or (or (or x2 x4) (and x2 x1)) (or (not x2) (not x0))))) (and (not (or (and (not x1) (not x1)) (not (and x3 x0)))) (or (and (not (not x4)) (not (not x2))) (or (not (not x0)) (and (not x4) (or x2 x0))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (and x4 x0))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not x3))
+(assert (not (or x0 x2)))
+(check-sat)
+(pop 1)
+(assert (and (and (not x4) (not x2)) (not (or x1 x2))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(declare-fun x9 () Bool)
+(assert (not (and (or (and (or (or (not (not (or (not x3) (or x9 x2)))) (and (not (or (and x8 x5) (and x0 x4))) (not (and (not x6) (not x1))))) (or (not (or (and (or x2 x9) (and x1 x9)) (not (not x2)))) (not (not (and (or x8 x0) (not x8)))))) (or (and (and (and (or (not x2) (not x5)) (not (or x1 x6))) (not (not (or x2 x4)))) (or (not (and (not x7) (or x1 x6))) (and (or (or x6 x7) (or x8 x7)) (not (and x0 x8))))) (and (not (and (and (and x2 x1) (and x0 x5)) (not (or x8 x8)))) (not (and (and (not x2) (or x5 x8)) (not (not x1))))))) (and (and (not (or (and (or (and x3 x3) (or x2 x5)) (and (or x8 x9) (not x2))) (and (or (not x5) (not x1)) (and (or x6 x7) (not x1))))) (not (and (and (and (or x1 x5) (and x4 x8)) (not (and x6 x4))) (and (or (or x0 x8) (and x3 x5)) (not (and x6 x1)))))) (not (and (and (not (or (or x0 x4) (or x9 x7))) (or (and (and x8 x4) (not x4)) (or (and x0 x5) (or x1 x9)))) (not (and (and (and x3 x5) (and x8 x6)) (and (or x9 x8) (or x2 x7)))))))) (or (or (or (or (or (not (or (or x8 x3) (or x3 x7))) (not (and (not x7) (or x1 x0)))) (and (or (and (or x5 x7) (or x3 x0)) (and (and x0 x6) (not x2))) (not (not (or x4 x3))))) (or (and (not (or (and x2 x4) (or x0 x6))) (not (and (and x6 x7) (not x3)))) (not (and (and (and x7 x5) (and x3 x0)) (and (not x8) (and x6 x1)))))) (and (not (not (not (or (not x2) (not x3))))) (or (or (not (and (not x8) (not x5))) (and (or (or x0 x1) (and x6 x1)) (not (not x1)))) (not (not (or (or x1 x5) (not x0))))))) (and (or (not (and (or (or (not x6) (not x7)) (and (not x3) (and x7 x3))) (and (not (not x0)) (and (not x1) (or x4 x6))))) (or (and (not (and (and x8 x7) (and x9 x7))) (not (or (not x2) (and x0 x6)))) (or (not (not (or x3 x3))) (not (not (or x9 x7)))))) (and (not (not (not (or (and x2 x2) (or x9 x7))))) (or (and (and (or (or x5 x7) (and x2 x0)) (and (or x8 x4) (not x7))) (not (not (and x6 x9)))) (and (not (not (not x0))) (or (and (not x9) (or x1 x7)) (not (or x9 x7)))))))))))
+(assert (not (and (not (not (or x9 x8))) (or (not (not x9)) (or (and x4 x6) (or x3 x8))))))
+(assert (or (or (not (or (and (and (and x9 x5) (or x3 x6)) (not (not x9))) (and (and (and x7 x6) (and x8 x3)) (or (and x1 x8) (and x0 x9))))) (not (not (or (and (and x8 x7) (or x9 x2)) (and (not x1) (not x1)))))) (and (or (and (and (not (or x7 x2)) (not (or x6 x5))) (and (or (and x8 x6) (and x8 x7)) (or (not x6) (not x7)))) (or (or (not (not x3)) (and (and x0 x5) (not x4))) (and (not (or x7 x2)) (not (and x1 x9))))) (or (not (and (or (and x5 x4) (or x1 x0)) (or (and x6 x2) (not x1)))) (and (or (not (not x1)) (and (or x2 x7) (or x6 x1))) (not (or (and x2 x0) (not x4))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (not (not (not (or (and (or (not x2) (and x1 x3)) (not (not x3))) (or (not (not x8)) (or (or x9 x7) (and x3 x3))))))) (not (or (and (not (or (or (and x6 x6) (not x6)) (and (not x1) (not x4)))) (and (not (not (and x9 x7))) (and (and (and x6 x9) (and x1 x2)) (not (or x3 x1))))) (or (or (or (not (not x9)) (not (and x4 x4))) (or (not (and x4 x0)) (or (not x0) (or x2 x0)))) (and (and (and (or x1 x1) (not x9)) (or (or x7 x7) (not x2))) (and (or (and x1 x7) (or x2 x9)) (and (not x2) (not x2)))))))) (and (or (not (and (not (and (not (or x5 x6)) (not (or x3 x8)))) (or (not (not (or x6 x3))) (and (or (or x6 x1) (not x9)) (not (or x8 x2)))))) (not (and (not (or (or (or x7 x1) (not x3)) (or (or x6 x9) (and x8 x1)))) (not (not (not (and x6 x7))))))) (or (not (not (and (and (or (not x3) (not x0)) (or (or x3 x3) (or x4 x3))) (or (and (and x8 x6) (or x7 x7)) (not (or x4 x4)))))) (and (and (and (not (or (or x2 x7) (not x6))) (and (or (not x2) (or x3 x6)) (and (not x8) (not x9)))) (and (not (and (or x1 x5) (and x6 x1))) (or (not (or x6 x1)) (or (or x0 x8) (not x5))))) (and (or (not (not (and x5 x3))) (or (not (or x8 x1)) (not (or x7 x4)))) (and (and (and (or x3 x0) (or x1 x4)) (and (or x6 x7) (not x1))) (or (or (not x0) (and x6 x5)) (not (not x4))))))))) (and (or (and (and (and (not (not (not (and x3 x6)))) (and (or (not (not x6)) (not (not x3))) (or (not (not x6)) (and (or x4 x9) (not x0))))) (and (or (not (not (or x5 x6))) (or (and (and x8 x2) (and x5 x2)) (or (or x0 x4) (or x4 x6)))) (or (and (or (not x0) (or x6 x4)) (not (and x5 x6))) (and (or (and x8 x7) (not x7)) (or (and x2 x5) (and x7 x5)))))) (or (and (not (not (or (not x7) (or x7 x8)))) (not (not (or (and x0 x9) (or x4 x6))))) (and (and (or (not (and x1 x4)) (not (and x5 x4))) (or (or (or x9 x0) (and x9 x9)) (not (or x7 x7)))) (or (not (or (not x3) (or x8 x0))) (or (not (or x3 x4)) (not (not x1))))))) (or (not (and (not (or (not (or x0 x6)) (or (not x9) (not x9)))) (or (not (not (and x6 x9))) (not (and (not x9) (and x8 x2)))))) (not (or (or (and (and (not x6) (or x7 x2)) (and (and x8 x5) (and x0 x8))) (and (not (not x7)) (or (not x6) (or x8 x9)))) (or (and (and (and x5 x6) (and x4 x2)) (and (or x1 x2) (not x4))) (not (and (and x4 x8) (and x7 x7)))))))) (or (and (and (or (or (or (and (and x5 x5) (or x8 x2)) (not (not x8))) (and (not (not x3)) (or (or x9 x8) (not x2)))) (and (or (and (and x4 x8) (and x7 x7)) (and (not x3) (and x8 x0))) (and (not (and x2 x5)) (and (and x9 x4) (and x5 x3))))) (not (and (or (not (not x7)) (and (not x1) (or x5 x1))) (not (not (and x6 x5)))))) (or (not (not (or (and (not x1) (or x1 x0)) (and (and x6 x8) (and x1 x0))))) (or (or (and (not (or x9 x2)) (or (and x5 x6) (and x1 x2))) (not (not (and x7 x2)))) (or (not (not (and x0 x3))) (or (not (and x8 x0)) (and (not x5) (not x7))))))) (or (or (or (and (and (or (and x9 x0) (or x1 x9)) (not (and x4 x4))) (and (and (not x8) (not x1)) (and (or x0 x9) (not x2)))) (not (not (not (not x2))))) (not (and (not (not (or x5 x1))) (and (or (not x9) (not x6)) (not (or x1 x6)))))) (not (or (or (and (and (or x5 x1) (not x1)) (and (not x4) (not x2))) (or (and (and x6 x2) (or x4 x3)) (and (and x1 x7) (and x8 x0)))) (or (or (not (or x9 x4)) (or (and x7 x8) (or x1 x6))) (or (or (or x0 x7) (and x6 x2)) (or (not x5) (not x0)))))))))))
+(assert (not (and (and (and (and (or (and (or x7 x6) (and x4 x6)) (not (or x4 x2))) (and (and (or x7 x6) (or x9 x1)) (or (not x1) (and x1 x8)))) (not (not (and (or x7 x1) (not x7))))) (not (or (not (and (or x7 x2) (and x2 x2))) (or (and (or x5 x1) (and x8 x1)) (or (and x2 x8) (not x6)))))) (or (or (not (not (or (not x2) (or x2 x8)))) (not (and (not (not x9)) (not (and x9 x6))))) (and (or (or (not (and x1 x3)) (not (not x3))) (and (and (and x1 x4) (and x1 x9)) (not (or x1 x7)))) (not (not (or (not x2) (not x0)))))))))
+(check-sat)
+(push 1)
+(assert (and (not (and (and (or (and (and (or (not (or x0 x2)) (not (and x3 x8))) (or (and (not x3) (or x1 x7)) (and (or x0 x3) (or x0 x0)))) (and (not (and (not x6) (not x9))) (or (not (and x9 x4)) (and (or x1 x3) (not x7))))) (or (not (and (and (not x9) (not x4)) (not (not x1)))) (not (or (or (or x7 x9) (and x0 x1)) (not (and x6 x3)))))) (or (not (not (or (and (not x5) (not x0)) (and (and x1 x9) (and x7 x1))))) (or (and (or (and (not x3) (or x9 x8)) (not (and x0 x6))) (not (not (not x5)))) (and (and (and (and x7 x6) (and x7 x2)) (and (not x9) (and x8 x1))) (and (not (not x4)) (not (or x5 x7))))))) (not (not (or (and (and (or (and x5 x6) (not x1)) (or (not x7) (not x6))) (and (or (and x3 x6) (or x4 x3)) (or (and x7 x3) (not x5)))) (or (not (not (or x7 x4))) (and (or (not x6) (or x4 x6)) (or (or x1 x3) (not x2))))))))) (or (and (not (and (or (and (not (not (and x3 x8))) (and (not (and x4 x9)) (not (not x0)))) (or (and (or (or x7 x5) (not x1)) (or (and x8 x0) (not x1))) (and (and (and x8 x9) (or x3 x2)) (not (not x9))))) (or (or (or (and (or x2 x6) (not x1)) (or (not x6) (not x4))) (or (or (not x4) (or x6 x7)) (and (and x8 x0) (and x3 x5)))) (or (and (not (or x1 x6)) (not (not x0))) (not (not (not x0))))))) (or (not (not (and (or (or (and x6 x5) (and x5 x6)) (not (or x9 x2))) (not (not (and x8 x0)))))) (or (not (and (not (not (and x1 x4))) (and (and (not x9) (and x4 x1)) (or (not x9) (not x7))))) (and (or (and (not (or x4 x1)) (not (and x9 x1))) (and (not (and x0 x4)) (and (or x8 x0) (not x5)))) (or (not (and (or x7 x1) (not x9))) (not (not (not x0)))))))) (not (or (or (not (or (and (not (not x3)) (and (or x5 x0) (not x1))) (not (not (not x8))))) (and (and (or (and (and x3 x3) (or x2 x3)) (not (or x5 x3))) (and (and (and x3 x2) (or x6 x8)) (and (or x8 x1) (not x9)))) (or (and (and (and x7 x0) (and x7 x4)) (and (and x8 x3) (not x4))) (not (not (not x8)))))) (and (not (and (not (and (or x6 x4) (or x9 x9))) (or (and (or x8 x3) (or x0 x0)) (not (or x0 x7))))) (or (and (or (and (and x5 x9) (or x7 x2)) (and (not x2) (not x4))) (and (or (not x8) (or x4 x4)) (not (or x9 x4)))) (or (not (not (and x0 x5))) (or (and (not x9) (not x5)) (not (or x7 x7)))))))))))
+(assert (and (not (or x6 x8)) (or (or x4 x6) (or x4 x6))))
+(assert (or (or (not (not (and (or x3 x4) (or x4 x9)))) (or (not (and (not x2) (and x9 x7))) (and (and (and x4 x9) (not x2)) (not (and x8 x5))))) (or (or (and (not (not x3)) (or (and x9 x9) (and x1 x8))) (or (and (and x7 x3) (and x4 x8)) (not (not x4)))) (and (not (not (or x4 x5))) (and (or (or x7 x0) (and x2 x6)) (not (or x7 x7)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (and (or (not (and (or (or (or (not (not x9)) (not (and x2 x7))) (not (or (or x3 x5) (not x6)))) (not (and (and (and x9 x5) (and x2 x4)) (and (or x0 x9) (not x7))))) (and (or (not (and (not x8) (or x6 x7))) (not (and (or x7 x6) (or x3 x5)))) (and (and (and (and x4 x9) (or x0 x8)) (not (not x9))) (not (not (and x6 x1))))))) (or (not (and (and (and (not (or x0 x7)) (not (or x1 x7))) (and (or (or x4 x1) (or x3 x3)) (or (not x7) (or x3 x0)))) (or (and (and (not x6) (and x5 x0)) (not (or x8 x2))) (and (and (or x7 x0) (and x9 x8)) (and (and x0 x2) (not x2)))))) (and (not (not (not (and (not x2) (or x6 x1))))) (and (and (and (and (and x9 x7) (or x2 x0)) (and (or x5 x5) (and x6 x8))) (or (and (and x6 x9) (or x4 x1)) (not (and x5 x5)))) (and (not (and (not x0) (or x9 x1))) (not (not (or x0 x3)))))))) (or (not (and (not (and (or (not (or x2 x6)) (and (or x2 x6) (not x8))) (or (or (and x0 x9) (and x0 x0)) (or (or x3 x0) (and x3 x3))))) (not (not (and (or (or x2 x1) (and x5 x9)) (or (or x1 x1) (and x2 x5))))))) (and (not (or (and (not (or (or x4 x0) (and x6 x9))) (or (not (and x5 x5)) (and (and x0 x7) (or x7 x7)))) (not (not (not (not x9)))))) (or (and (or (and (and (and x2 x6) (and x6 x9)) (or (not x8) (and x3 x0))) (and (not (not x6)) (and (not x1) (or x3 x1)))) (not (or (and (and x8 x7) (and x0 x4)) (or (not x1) (not x0))))) (or (not (or (or (and x7 x1) (and x8 x7)) (and (or x3 x1) (or x6 x2)))) (and (not (not (not x0))) (not (and (or x2 x3) (or x5 x3)))))))))))
+(check-sat)
+(pop 1)
+(assert (and x5 x7))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(check-sat)
+(push 1)
+(assert (and (or (or (not (and (not (or (or (not x5) (not x2)) (and (and x5 x2) (not x2)))) (or (or (and (not x2) (or x2 x1)) (or (or x3 x1) (and x3 x6))) (not (or (or x0 x4) (or x5 x0)))))) (not (and (not (or (not (and x1 x3)) (not (and x5 x4)))) (not (or (or (or x6 x0) (or x5 x3)) (and (or x4 x5) (or x4 x0))))))) (not (or (not (and (not (or (or x0 x6) (and x2 x2))) (or (and (or x3 x6) (or x1 x5)) (and (not x3) (not x3))))) (or (not (and (and (and x2 x3) (not x0)) (not (not x2)))) (not (or (not (and x1 x2)) (not (or x6 x6)))))))) (not (not (not (not (and (and (or (and x4 x2) (and x4 x4)) (or (and x5 x5) (and x0 x4))) (not (not (or x4 x0))))))))))
+(check-sat)
+(pop 1)
+(assert (and (and (not (and (or (not (or (or (or (not x1) (and x6 x5)) (and (and x2 x3) (and x5 x1))) (and (not (not x4)) (and (and x4 x5) (not x1))))) (and (and (not (not (not x5))) (or (or (and x6 x3) (and x3 x6)) (or (not x2) (not x0)))) (and (or (or (or x6 x4) (and x6 x1)) (or (and x1 x6) (or x1 x0))) (or (and (not x6) (and x2 x2)) (not (and x2 x0)))))) (and (and (or (or (not (and x1 x6)) (and (not x0) (not x4))) (or (and (not x4) (not x4)) (and (or x4 x1) (and x2 x1)))) (or (or (not (or x6 x0)) (and (and x6 x5) (not x0))) (and (and (and x2 x2) (and x0 x0)) (or (or x0 x0) (and x3 x4))))) (not (and (not (not (and x1 x5))) (and (and (and x1 x3) (and x4 x2)) (or (or x5 x2) (and x5 x1)))))))) (not (and (not (not (and (and (or (and x6 x2) (and x3 x0)) (or (or x3 x5) (and x4 x4))) (not (or (or x2 x3) (and x5 x6)))))) (or (not (not (or (and (not x2) (not x4)) (and (not x1) (and x1 x2))))) (and (or (and (not (or x5 x5)) (not (or x3 x1))) (and (and (and x4 x3) (or x1 x0)) (and (and x0 x3) (or x3 x3)))) (or (not (not (or x0 x0))) (not (not (and x0 x0))))))))) (or (not (and (or (not (or (not (not (or x5 x5))) (not (not (or x2 x6))))) (and (and (and (not (not x4)) (not (or x2 x4))) (not (or (and x0 x5) (or x4 x1)))) (or (or (or (not x6) (and x5 x2)) (or (not x1) (and x5 x1))) (or (or (and x5 x3) (or x3 x5)) (and (not x1) (or x0 x0)))))) (and (and (not (not (and (or x3 x0) (and x1 x2)))) (not (not (or (or x6 x0) (not x5))))) (not (or (or (not (not x4)) (and (not x6) (or x1 x4))) (and (or (or x6 x0) (and x3 x5)) (not (not x0)))))))) (not (not (not (or (and (or (or (or x0 x2) (and x0 x0)) (or (and x6 x6) (not x6))) (and (or (not x3) (not x2)) (and (and x0 x3) (or x6 x5)))) (and (or (not (not x3)) (or (or x1 x0) (and x2 x6))) (not (not (and x0 x2)))))))))))
+(assert (not x6))
+(assert (or (not (or (and (and (not (not (not x0))) (and (not (not x3)) (or (not x5) (not x6)))) (and (or (or (or x0 x4) (and x0 x6)) (or (not x3) (or x3 x3))) (and (and (not x6) (and x2 x6)) (or (or x5 x3) (and x4 x6))))) (or (and (not (and (or x1 x3) (not x5))) (or (or (and x1 x4) (not x2)) (or (not x5) (or x1 x3)))) (or (and (and (or x4 x3) (and x2 x2)) (or (and x4 x0) (not x5))) (or (or (and x4 x1) (and x3 x5)) (and (or x5 x1) (not x2))))))) (or (or (and (and (not (and (or x4 x0) (not x5))) (and (not (or x2 x1)) (and (and x0 x0) (or x2 x2)))) (or (or (not (or x2 x3)) (or (and x4 x2) (not x4))) (and (and (or x3 x2) (or x1 x4)) (not (not x6))))) (or (or (not (not (or x2 x0))) (not (not (and x0 x0)))) (not (not (and (or x6 x4) (and x3 x5)))))) (or (or (not (or (and (and x4 x1) (or x1 x1)) (and (not x0) (not x5)))) (not (and (not (and x4 x1)) (and (or x3 x0) (and x5 x3))))) (and (and (not (not (not x6))) (or (or (not x5) (or x2 x5)) (and (and x5 x3) (or x3 x1)))) (or (not (and (not x2) (not x5))) (and (or (not x3) (not x5)) (not (not x6)))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (or (not (and (and x2 x5) (and x5 x0))) (not (or (and x0 x0) (or x3 x6)))) (not (not (or (or x5 x1) (and x4 x0))))) (and (not (or (and (and x3 x1) (or x1 x3)) (not (not x0)))) (not (and (or (or x0 x2) (or x4 x2)) (or (and x6 x1) (or x6 x1)))))) (not (not (not (or (or (or x1 x1) (or x3 x0)) (or (and x3 x2) (or x4 x4))))))))
+(assert (not (and (not (and (not (and (and (and (not x1) (not x2)) (not (and x4 x2))) (or (or (or x5 x6) (and x0 x1)) (and (or x1 x5) (not x3))))) (or (and (or (not (not x4)) (not (and x2 x0))) (and (and (or x5 x3) (or x5 x0)) (or (not x3) (or x1 x3)))) (and (or (or (not x1) (and x5 x2)) (not (or x1 x0))) (or (not (and x2 x1)) (or (not x1) (and x6 x2))))))) (and (not (and (and (and (not (not x1)) (or (or x6 x0) (not x5))) (and (and (and x4 x1) (and x4 x4)) (not (or x3 x1)))) (or (and (not (and x5 x4)) (or (or x2 x2) (not x6))) (or (not (and x0 x2)) (and (or x6 x2) (or x1 x2)))))) (and (or (or (not (and (or x0 x4) (not x1))) (not (or (and x2 x4) (and x2 x2)))) (or (and (not (and x4 x4)) (not (and x3 x3))) (and (or (and x1 x0) (not x0)) (or (or x5 x6) (not x0))))) (or (or (and (or (not x5) (or x4 x1)) (and (not x4) (and x3 x5))) (or (not (and x3 x1)) (or (or x6 x1) (not x3)))) (and (or (not (or x0 x1)) (and (and x3 x6) (or x1 x1))) (and (and (and x0 x6) (and x5 x0)) (or (not x4) (or x5 x0))))))))))
+(check-sat)
+(push 1)
+(assert (not (and (or (not (and (not (and (and (and x6 x2) (not x0)) (and (or x5 x6) (and x4 x5)))) (or (or (or (and x4 x1) (not x1)) (and (or x6 x3) (not x3))) (or (and (and x6 x3) (or x4 x4)) (not (or x3 x3)))))) (not (or (or (or (and (or x4 x1) (and x1 x2)) (or (and x5 x3) (not x1))) (not (not (or x3 x3)))) (not (not (and (not x4) (and x6 x0))))))) (or (not (and (and (or (or (not x6) (not x1)) (or (not x5) (not x4))) (and (not (or x6 x4)) (or (not x0) (or x1 x6)))) (or (and (and (or x3 x4) (or x1 x5)) (or (not x2) (or x4 x1))) (and (and (and x6 x0) (and x2 x4)) (and (and x4 x6) (not x6)))))) (or (or (and (not (not (and x4 x4))) (not (and (not x1) (or x2 x2)))) (or (not (or (not x1) (or x6 x0))) (and (not (and x4 x5)) (and (not x5) (and x5 x4))))) (not (or (or (and (not x5) (or x0 x6)) (not (not x0))) (not (not (or x0 x1))))))))))
+(check-sat)
+(push 1)
+(assert (or (not (or (or (and (and x4 x3) (or x1 x4)) (and (not x4) (and x2 x0))) (and (or (not x4) (and x6 x6)) (and (and x5 x5) (not x4))))) (and (or (and (or (and x6 x3) (and x0 x2)) (or (or x3 x1) (or x2 x1))) (or (or (not x0) (not x1)) (and (or x2 x0) (or x5 x6)))) (and (and (not (not x0)) (or (or x3 x1) (or x3 x3))) (not (and (and x3 x0) (and x3 x1)))))))
+(assert (and (or (or (or (and x3 x0) (or x3 x4)) (not (or x5 x6))) (and (and (and x2 x3) (not x4)) (or (and x4 x0) (not x6)))) (not (and (not (not x2)) (or (or x2 x1) (or x0 x2))))))
+(assert (or (not (or (or (or (and (or (or (and (or x4 x2) (and x2 x3)) (and (not x4) (or x4 x5))) (not (not (and x1 x6)))) (not (and (or (and x3 x4) (and x4 x3)) (and (and x1 x6) (or x1 x4))))) (or (and (or (and (or x3 x0) (and x1 x5)) (and (or x2 x1) (or x2 x2))) (or (or (and x3 x4) (and x6 x1)) (or (not x5) (or x0 x2)))) (and (not (and (not x4) (not x1))) (and (or (not x5) (or x2 x6)) (or (and x6 x4) (not x5)))))) (or (and (not (or (and (or x4 x3) (not x2)) (or (or x6 x6) (and x4 x0)))) (or (or (and (or x6 x5) (or x3 x3)) (and (or x6 x4) (not x4))) (not (not (and x4 x3))))) (not (or (or (or (and x5 x4) (or x0 x6)) (or (not x6) (and x2 x3))) (and (or (not x1) (or x6 x5)) (and (and x0 x2) (or x6 x6))))))) (and (and (and (and (or (not (not x6)) (and (and x5 x3) (and x2 x4))) (not (not (not x0)))) (and (or (or (and x6 x4) (not x4)) (not (or x3 x3))) (not (or (not x2) (and x1 x5))))) (or (or (or (or (and x3 x2) (not x1)) (not (not x6))) (and (not (not x4)) (and (not x6) (not x4)))) (or (and (not (or x2 x0)) (or (or x2 x5) (or x3 x3))) (and (not (not x2)) (not (or x2 x5)))))) (and (or (or (and (and (and x0 x0) (and x2 x5)) (not (and x4 x2))) (or (not (and x1 x0)) (not (and x3 x0)))) (and (and (or (or x0 x3) (not x4)) (or (not x5) (not x5))) (or (or (or x6 x2) (and x0 x5)) (not (and x0 x1))))) (or (not (not (and (not x0) (or x1 x6)))) (and (or (or (or x5 x6) (or x1 x5)) (not (or x2 x5))) (or (or (and x4 x2) (not x1)) (or (and x0 x0) (or x2 x6))))))))) (and (and (and (not (or (not (or (or (not x6) (and x4 x2)) (or (not x4) (and x4 x6)))) (or (or (and (not x1) (and x6 x1)) (or (not x4) (and x4 x5))) (or (and (not x3) (not x0)) (or (not x3) (or x6 x2)))))) (or (or (not (and (or (or x6 x1) (or x0 x1)) (not (and x0 x1)))) (or (or (or (and x5 x2) (and x6 x1)) (not (not x3))) (not (or (and x3 x2) (not x0))))) (and (not (not (and (or x2 x3) (not x1)))) (not (or (or (not x3) (not x1)) (and (and x2 x6) (and x2 x1))))))) (and (or (or (or (and (and (not x5) (or x4 x1)) (and (or x3 x5) (not x3))) (not (or (not x0) (or x2 x6)))) (not (and (or (or x2 x2) (or x6 x6)) (and (and x4 x6) (and x2 x1))))) (or (or (and (and (not x0) (and x0 x2)) (and (and x0 x4) (not x0))) (not (and (not x0) (and x2 x0)))) (not (or (and (and x3 x1) (or x5 x2)) (or (or x4 x3) (or x4 x4)))))) (and (or (not (not (and (or x0 x4) (not x4)))) (and (or (or (or x5 x5) (or x0 x5)) (or (or x6 x4) (not x5))) (and (not (or x6 x0)) (and (or x2 x6) (or x0 x6))))) (and (or (not (not (or x2 x0))) (or (not (not x5)) (or (not x4) (or x5 x0)))) (and (or (or (or x0 x6) (not x4)) (not (or x2 x0))) (and (or (and x2 x3) (and x5 x5)) (or (and x4 x5) (not x2)))))))) (and (not (and (or (and (not (or (not x2) (or x6 x1))) (or (and (or x1 x3) (and x0 x5)) (or (not x5) (or x0 x5)))) (and (and (and (not x3) (or x2 x1)) (or (or x3 x0) (not x5))) (or (and (and x5 x6) (and x6 x2)) (or (not x1) (not x6))))) (not (not (not (not (not x0))))))) (or (not (not (and (and (or (not x3) (not x3)) (and (not x5) (not x5))) (not (not (or x0 x3)))))) (or (not (not (not (not (and x1 x0))))) (or (or (not (not (not x0))) (or (or (or x0 x2) (and x1 x3)) (or (and x6 x4) (and x6 x6)))) (and (not (or (and x4 x1) (and x4 x0))) (not (or (and x6 x6) (or x6 x4)))))))))))
+(check-sat)
+(pop 1)
+(assert (and (and (and x5 x2) (and x2 x2)) (not (and x1 x1))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(assert (or (and (not (or (and (and (not (not (and x1 x2))) (and (not (not x1)) (not (and x3 x0)))) (not (or (and (and x0 x2) (or x3 x3)) (not (not x1))))) (not (or (and (not (not x1)) (not (not x0))) (not (or (or x0 x3) (not x0))))))) (or (and (and (not (or (or (and x2 x2) (or x1 x2)) (not (and x3 x3)))) (not (or (not (not x2)) (and (and x2 x1) (and x1 x1))))) (or (or (and (not (or x2 x3)) (or (not x0) (and x1 x1))) (or (or (or x3 x2) (and x2 x3)) (or (and x1 x0) (not x3)))) (or (and (not (or x3 x3)) (or (and x2 x2) (or x3 x0))) (and (not (or x0 x2)) (and (not x1) (or x2 x3)))))) (not (not (not (or (not (not x3)) (or (and x0 x3) (or x0 x3)))))))) (not (or (or (or (not (or (or (and x3 x0) (not x3)) (or (and x2 x0) (and x1 x2)))) (and (or (not (and x0 x2)) (not (or x1 x1))) (or (or (or x3 x1) (or x1 x2)) (or (not x1) (and x1 x1))))) (not (not (not (and (and x0 x3) (or x1 x1)))))) (and (and (and (and (and (or x3 x0) (or x1 x3)) (and (not x1) (not x2))) (not (not (not x0)))) (not (and (or (and x3 x3) (or x2 x3)) (not (or x1 x1))))) (and (or (not (and (and x0 x2) (not x0))) (or (not (or x3 x0)) (not (or x1 x0)))) (or (and (and (and x2 x0) (not x1)) (not (not x0))) (and (or (not x3) (or x1 x1)) (not (and x0 x3))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (and x0 x2)) (and (not x2) (and x0 x2))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (and (or (not (or (or (and (not (or x3 x3)) (or (not x1) (or x0 x2))) (and (or (and x3 x1) (or x3 x3)) (not (or x1 x3)))) (or (or (not (and x3 x2)) (not (or x1 x1))) (or (and (or x0 x1) (and x0 x1)) (and (or x0 x2) (and x1 x1)))))) (not (and (not (not (not (and x0 x1)))) (or (and (or (or x1 x3) (not x3)) (and (and x3 x1) (and x1 x1))) (not (not (not x1))))))) (not (and (or (and (or (not (and x0 x3)) (and (or x0 x0) (or x0 x0))) (and (and (or x1 x0) (and x1 x2)) (and (not x3) (or x0 x1)))) (and (not (or (not x0) (not x2))) (or (or (and x0 x0) (not x0)) (and (not x1) (and x2 x3))))) (and (and (not (or (and x3 x1) (or x0 x1))) (not (or (or x2 x2) (not x2)))) (not (or (and (and x2 x3) (or x2 x0)) (or (and x0 x0) (not x2)))))))) (not (or (or (or (and (and (or (and x2 x0) (not x3)) (or (or x0 x1) (not x2))) (not (and (not x3) (not x2)))) (not (and (and (and x0 x0) (not x3)) (and (not x3) (and x0 x2))))) (not (not (and (and (and x2 x1) (not x3)) (or (or x3 x2) (not x2)))))) (not (or (not (or (not (and x0 x0)) (or (not x3) (or x3 x3)))) (or (and (or (and x0 x3) (not x2)) (not (not x2))) (or (not (or x0 x3)) (or (and x1 x2) (and x1 x0))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (or (and (not (or (or (and (or (or x7 x2) (and x4 x1)) (or (or x0 x5) (and x1 x2))) (not (or (not x5) (or x8 x6)))) (not (or (or (not x0) (and x1 x1)) (not (or x4 x6)))))) (and (and (and (or (or (not x1) (or x3 x0)) (not (not x0))) (or (not (or x2 x7)) (or (and x2 x3) (and x0 x5)))) (or (and (not (and x3 x5)) (and (or x1 x7) (and x0 x7))) (not (and (not x2) (and x5 x0))))) (and (not (not (or (not x1) (or x0 x3)))) (and (not (and (or x2 x5) (and x5 x3))) (and (or (or x2 x5) (and x8 x6)) (or (not x2) (or x8 x6))))))) (or (or (and (not (and (not (or x4 x0)) (or (or x1 x6) (or x6 x0)))) (and (not (not (not x8))) (not (and (not x5) (and x2 x6))))) (not (not (or (not (not x8)) (not (and x7 x8)))))) (or (not (and (and (and (not x2) (not x5)) (and (not x1) (and x5 x0))) (not (not (and x5 x1))))) (and (not (or (not (not x0)) (not (and x8 x0)))) (not (or (or (or x8 x5) (not x8)) (and (not x4) (and x7 x0))))))))) (or (not (or (not (or (not (or (not (not x8)) (not (not x8)))) (and (and (not (not x6)) (not (or x1 x3))) (or (and (not x8) (and x6 x4)) (not (or x2 x1)))))) (not (or (or (and (and (not x4) (or x8 x7)) (or (and x0 x8) (and x4 x3))) (not (or (or x3 x7) (or x2 x5)))) (not (and (not (or x5 x1)) (not (not x8)))))))) (and (or (and (or (not (not (or (not x6) (or x0 x8)))) (and (and (and (not x5) (not x1)) (not (or x4 x4))) (and (and (not x3) (or x7 x6)) (not (or x8 x7))))) (not (and (or (not (and x8 x0)) (not (and x7 x6))) (and (and (or x0 x0) (or x3 x4)) (not (or x8 x5)))))) (and (or (not (or (not (or x5 x8)) (or (and x2 x2) (not x8)))) (or (not (not (not x0))) (or (and (and x1 x5) (not x3)) (or (and x1 x7) (not x2))))) (and (and (or (not (and x2 x7)) (not (or x7 x8))) (and (and (or x6 x1) (or x6 x4)) (not (and x3 x7)))) (and (or (not (or x7 x1)) (not (not x0))) (and (not (or x3 x6)) (not (not x7))))))) (or (or (not (not (and (not (or x4 x1)) (not (and x6 x3))))) (not (not (and (not (or x4 x7)) (or (and x5 x7) (and x2 x1)))))) (and (and (not (or (not (not x6)) (not (and x1 x3)))) (or (not (or (and x6 x4) (and x2 x2))) (or (or (or x7 x6) (not x3)) (and (and x3 x4) (not x7))))) (or (or (not (or (and x7 x4) (not x8))) (and (not (or x6 x5)) (and (and x6 x5) (and x4 x0)))) (and (not (or (not x4) (and x3 x8))) (and (not (not x8)) (not (not x4)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (or (or (and (and (and (and (and x3 x7) (or x3 x2)) (or (and x7 x7) (and x6 x5))) (or (or (and x4 x5) (or x6 x6)) (and (and x4 x3) (and x5 x5)))) (and (and (or (or x5 x0) (and x8 x2)) (and (or x1 x6) (and x5 x0))) (or (not (and x8 x4)) (and (not x8) (or x0 x1))))) (and (or (or (and (not x8) (not x8)) (and (not x7) (and x8 x5))) (not (and (or x1 x3) (or x5 x0)))) (not (and (not (and x8 x1)) (not (not x2)))))) (and (or (and (not (not (or x2 x5))) (or (not (or x8 x8)) (and (not x6) (and x7 x8)))) (or (and (not (or x6 x2)) (and (not x1) (and x2 x2))) (not (or (or x6 x3) (and x6 x0))))) (not (or (or (not (or x1 x7)) (or (and x3 x6) (and x5 x6))) (and (or (not x0) (or x0 x2)) (or (not x2) (and x0 x8))))))) (not (or (or (not (not (and (or x5 x4) (or x4 x2)))) (and (not (or (or x1 x6) (not x8))) (or (not (not x3)) (and (or x4 x7) (and x2 x4))))) (and (not (not (or (or x0 x8) (not x4)))) (or (and (and (not x4) (and x2 x5)) (not (and x3 x5))) (and (not (or x0 x0)) (not (not x3)))))))))
+(check-sat)
+(pop 1)
+(assert (or x3 x3))
+(check-sat)
+(pop 1)
+(assert (not (and (not (and (or x4 x1) (and x6 x3))) (and (not (and x3 x6)) (and (not x6) (and x5 x6))))))
+(assert (or (not (or (and (or (or (not (and x6 x7)) (or (not x8) (not x6))) (or (not (and x1 x8)) (or (not x6) (not x4)))) (and (and (or (not x4) (not x3)) (and (not x7) (and x4 x7))) (and (and (or x2 x7) (or x5 x2)) (and (not x1) (not x2))))) (not (not (or (and (and x5 x0) (not x1)) (and (and x4 x8) (not x1))))))) (not (and (not (or (not (or (or x7 x4) (not x1))) (not (not (not x2))))) (not (not (not (not (or x7 x7)))))))))
+(check-sat)
+(push 1)
+(assert (or (and (not (or (and (or x8 x2) (and x3 x4)) (not (or x3 x4)))) (and (not (and (and x2 x4) (or x7 x1))) (not (not (or x7 x1))))) (and (not (not (or (and x5 x4) (or x2 x6)))) (and (or (or (and x1 x1) (or x2 x3)) (not (or x3 x1))) (or (and (or x6 x7) (or x2 x0)) (not (and x8 x0)))))))
+(check-sat)
+(pop 1)
+(assert (and (or (not (and (or (or (or (and (not x0) (not x1)) (and (or x0 x2) (not x0))) (or (or (or x0 x0) (not x2)) (not (not x6)))) (and (not (and (or x5 x3) (not x5))) (not (or (and x1 x6) (and x0 x1))))) (and (or (and (and (or x6 x7) (and x6 x8)) (or (or x5 x7) (and x5 x3))) (not (not (not x7)))) (or (not (and (or x6 x3) (and x8 x3))) (or (and (and x6 x2) (and x3 x0)) (not (and x6 x0))))))) (and (and (and (or (or (and (and x3 x7) (or x0 x0)) (and (or x4 x4) (not x3))) (not (and (not x6) (and x7 x5)))) (and (or (not (or x1 x8)) (and (not x5) (or x8 x4))) (and (or (or x5 x1) (or x6 x3)) (not (not x2))))) (or (and (or (or (not x5) (and x2 x0)) (not (and x7 x1))) (and (and (and x1 x1) (not x6)) (or (not x0) (not x1)))) (and (or (and (or x8 x7) (and x1 x2)) (and (and x8 x0) (or x6 x7))) (not (not (or x6 x6)))))) (and (or (not (or (or (not x6) (or x1 x8)) (not (and x3 x3)))) (and (not (not (not x2))) (and (or (not x7) (and x5 x3)) (or (not x0) (and x5 x8))))) (and (and (or (not (and x1 x6)) (not (and x0 x4))) (not (or (or x8 x5) (not x8)))) (or (or (not (not x5)) (and (or x8 x1) (or x5 x4))) (or (and (and x4 x4) (not x3)) (and (or x1 x1) (and x7 x4)))))))) (or (and (and (or (or (not (and (not x8) (and x8 x0))) (not (and (and x4 x2) (not x2)))) (or (and (and (or x7 x6) (or x6 x7)) (not (and x1 x2))) (or (not (or x1 x6)) (not (not x3))))) (and (and (or (or (not x4) (not x5)) (or (or x1 x1) (and x5 x6))) (and (or (or x1 x8) (or x2 x0)) (and (not x4) (or x5 x4)))) (not (not (not (or x2 x4)))))) (or (not (or (or (or (and x8 x0) (or x4 x6)) (not (and x8 x0))) (and (or (not x2) (not x2)) (and (not x5) (not x2))))) (not (or (not (not (and x4 x8))) (not (not (or x1 x1))))))) (or (and (not (and (and (and (and x5 x5) (and x7 x6)) (or (and x1 x0) (and x1 x2))) (and (not (not x1)) (and (and x1 x0) (or x1 x8))))) (and (not (and (and (or x0 x2) (not x5)) (or (and x1 x3) (or x0 x2)))) (and (not (and (or x0 x3) (or x1 x1))) (not (or (or x6 x1) (or x5 x0)))))) (or (and (not (or (not (not x3)) (not (and x4 x3)))) (and (not (not (not x2))) (not (or (or x8 x2) (or x8 x2))))) (or (or (not (or (or x2 x0) (or x7 x0))) (and (or (or x4 x3) (not x7)) (and (and x7 x7) (not x1)))) (or (or (and (and x8 x8) (or x8 x0)) (or (not x0) (and x1 x7))) (or (not (or x1 x0)) (or (and x1 x3) (or x5 x3))))))))))
+(check-sat)
+(push 1)
+(assert (or (not (not (or (or (or x5 x4) (not x5)) (and (and x3 x7) (and x2 x7))))) (and (or (or (not (or x8 x6)) (not (not x1))) (not (not (or x5 x2)))) (or (and (or (and x5 x3) (not x3)) (or (not x8) (not x6))) (or (and (not x2) (not x8)) (not (not x8)))))))
+(assert (and (and (and x1 x2) (or x4 x0)) (or (and x2 x6) (not x1))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (and (not (or (or (and (and (or (and (and x1 x1) (or x0 x0)) (not (and x5 x1))) (and (not (not x3)) (or (or x2 x4) (and x1 x2)))) (not (or (or (and x8 x2) (not x3)) (or (or x4 x1) (not x8))))) (or (or (and (and (not x8) (or x5 x0)) (or (not x3) (or x1 x2))) (and (and (and x6 x6) (not x5)) (not (not x6)))) (or (or (not (or x1 x7)) (or (and x6 x5) (and x5 x5))) (or (not (or x3 x6)) (or (or x8 x3) (and x4 x0)))))) (and (and (or (and (or (or x5 x8) (not x0)) (or (or x6 x2) (and x0 x3))) (and (not (and x1 x0)) (and (or x7 x4) (or x1 x7)))) (not (not (or (and x2 x3) (or x0 x6))))) (not (not (or (or (and x3 x5) (not x1)) (not (and x6 x4)))))))) (and (and (not (and (not (not (and (not x4) (and x1 x1)))) (or (not (and (or x2 x1) (or x0 x7))) (or (and (not x3) (and x0 x0)) (or (and x4 x1) (not x7)))))) (or (or (or (not (not (and x2 x1))) (and (or (and x5 x0) (and x5 x4)) (not (and x2 x6)))) (not (or (not (or x3 x2)) (not (and x1 x8))))) (or (not (or (and (not x8) (or x4 x8)) (and (not x0) (not x6)))) (not (and (and (and x2 x1) (not x8)) (and (not x6) (and x2 x8))))))) (or (not (not (or (and (or (not x7) (or x6 x0)) (not (not x8))) (or (and (not x0) (not x6)) (not (or x5 x2)))))) (not (or (and (not (and (not x5) (not x7))) (or (and (not x3) (or x4 x1)) (and (and x1 x1) (and x8 x2)))) (and (or (not (or x0 x6)) (not (or x8 x0))) (not (or (not x1) (or x5 x8))))))))) (or (and (or (and (and (and (or (or (or x2 x4) (not x8)) (and (and x5 x0) (not x6))) (and (and (and x2 x1) (or x8 x7)) (not (or x1 x2)))) (and (not (not (not x4))) (and (or (and x0 x0) (or x0 x8)) (not (not x3))))) (or (and (and (or (or x5 x8) (and x8 x5)) (or (not x2) (not x3))) (and (not (not x5)) (and (not x5) (or x6 x4)))) (not (or (or (not x6) (and x2 x7)) (or (or x8 x5) (not x2)))))) (or (and (or (or (not (or x6 x0)) (or (and x5 x4) (or x0 x0))) (or (and (or x6 x5) (not x1)) (and (not x7) (and x0 x4)))) (not (not (or (not x5) (and x0 x7))))) (not (and (not (not (not x2))) (not (or (or x0 x3) (and x3 x7))))))) (or (not (and (not (and (or (not x5) (and x4 x0)) (not (and x5 x1)))) (and (and (or (or x4 x3) (not x6)) (not (not x6))) (not (or (not x8) (or x0 x2)))))) (and (or (not (and (not (and x8 x7)) (and (not x6) (and x3 x8)))) (or (and (or (not x2) (or x6 x7)) (or (not x2) (not x1))) (not (not (not x2))))) (and (or (and (or (or x3 x6) (not x6)) (or (not x4) (and x2 x0))) (or (or (not x0) (and x6 x7)) (not (not x7)))) (and (not (and (and x5 x0) (or x2 x8))) (or (and (not x4) (and x8 x2)) (and (not x3) (not x2)))))))) (and (or (not (and (and (not (and (and x6 x5) (and x5 x3))) (or (and (and x7 x2) (or x4 x1)) (or (or x8 x0) (not x0)))) (not (and (not (not x0)) (not (and x2 x1)))))) (not (or (and (not (or (not x2) (not x5))) (or (or (and x3 x7) (or x4 x8)) (and (and x8 x1) (not x0)))) (or (not (not (or x0 x5))) (or (and (and x7 x0) (or x2 x5)) (not (and x0 x0))))))) (and (not (not (or (not (or (not x5) (not x6))) (and (not (and x4 x8)) (or (not x8) (or x3 x8)))))) (and (and (not (not (or (or x8 x8) (and x0 x4)))) (or (not (and (and x6 x2) (or x3 x6))) (and (not (and x6 x2)) (not (not x8))))) (or (or (and (and (not x5) (not x3)) (not (and x3 x7))) (and (not (and x4 x7)) (not (not x0)))) (or (not (or (not x6) (and x8 x6))) (not (or (not x8) (or x2 x1)))))))))))
+(assert (or (or (or (not (and (and x4 x0) (or x0 x7))) (and (or (or x8 x3) (and x2 x0)) (and (and x4 x0) (and x1 x8)))) (not (or (or (not x8) (not x3)) (not (and x5 x7))))) (or (not (not (and (not x6) (and x8 x6)))) (or (or (or (and x7 x7) (or x7 x4)) (not (and x7 x3))) (or (and (not x8) (not x5)) (and (and x3 x4) (not x6)))))))
+(assert (not (not (and (or x8 x1) (or x5 x7)))))
+(check-sat)
+(pop 1)
+(assert (not (or (not (not (or (and (and (not (or x0 x1)) (not (and x5 x5))) (not (or (or x7 x4) (not x4)))) (and (not (not (or x6 x5))) (or (and (not x2) (and x6 x4)) (not (and x6 x8))))))) (not (and (or (and (or (or (and x0 x1) (not x5)) (not (not x8))) (and (and (and x4 x5) (or x8 x1)) (and (not x4) (and x4 x6)))) (not (not (or (and x4 x6) (or x7 x1))))) (not (not (or (not (not x8)) (not (and x6 x1))))))))))
+(assert (and (and x6 x5) (or x5 x0)))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(assert (not (and (and (or (and (and (or (and (and x1 x1) (and x0 x0)) (or (and x1 x0) (or x1 x0))) (or (not (and x0 x0)) (or (or x0 x1) (or x0 x1)))) (not (and (not (and x1 x1)) (or (not x0) (not x0))))) (and (or (not (not (not x0))) (and (and (or x0 x1) (and x1 x0)) (not (and x1 x1)))) (or (not (not (not x1))) (or (or (and x1 x0) (not x1)) (not (and x0 x0)))))) (not (not (or (and (and (or x1 x0) (not x0)) (not (and x1 x0))) (and (or (not x0) (and x0 x0)) (and (or x0 x0) (or x1 x1))))))) (or (or (or (or (or (or (not x0) (and x1 x0)) (not (or x0 x0))) (and (not (or x0 x1)) (or (not x1) (not x0)))) (or (and (or (or x1 x0) (and x1 x0)) (not (and x1 x0))) (and (and (not x1) (or x1 x1)) (and (not x0) (and x0 x1))))) (or (and (or (or (not x0) (not x0)) (and (not x1) (and x1 x1))) (or (or (and x1 x1) (not x1)) (and (or x0 x1) (and x0 x1)))) (and (and (and (not x1) (not x0)) (or (or x0 x1) (or x1 x0))) (and (or (and x0 x0) (or x0 x1)) (or (or x1 x0) (and x1 x1)))))) (and (not (and (or (not (and x1 x1)) (or (and x0 x1) (not x1))) (not (and (not x1) (or x0 x0))))) (and (not (not (and (not x1) (not x0)))) (not (and (or (not x0) (and x1 x1)) (not (and x1 x0))))))))))
+(check-sat)
+(push 1)
+(assert (not (or (not (and (and (not (not (not (or (or x0 x1) (not x1))))) (and (and (and (and (not x0) (not x1)) (or (not x1) (not x1))) (and (and (not x1) (or x1 x0)) (and (and x0 x0) (or x0 x1)))) (or (and (not (and x0 x0)) (and (and x1 x1) (and x0 x0))) (and (not (and x0 x1)) (or (and x0 x0) (or x1 x1)))))) (not (and (or (and (not (or x0 x1)) (or (or x0 x0) (and x1 x1))) (and (not (or x0 x1)) (or (not x1) (and x1 x0)))) (and (and (not (or x1 x0)) (and (or x0 x1) (and x0 x1))) (not (not (not x1)))))))) (and (or (not (and (not (not (and (or x1 x1) (or x0 x0)))) (or (not (and (or x1 x1) (not x1))) (not (and (and x0 x0) (not x1)))))) (not (not (not (not (not (and x1 x0))))))) (and (not (not (or (or (or (and x0 x1) (and x0 x0)) (and (not x0) (or x1 x0))) (and (or (or x1 x1) (and x0 x0)) (or (not x0) (and x1 x1)))))) (or (not (and (and (or (not x0) (not x0)) (not (or x1 x0))) (or (and (and x1 x0) (not x0)) (or (or x1 x1) (and x1 x0))))) (and (not (not (and (or x1 x0) (and x0 x1)))) (and (and (not (and x1 x1)) (or (or x0 x1) (not x0))) (and (and (not x0) (not x0)) (or (and x0 x0) (or x0 x1)))))))))))
+(assert (not (not (and (or (or (not x1) (or x0 x0)) (and (and x0 x1) (or x0 x0))) (not (not (and x0 x1)))))))
+(assert (or (and (or x0 x1) (and x1 x0)) (or (and x1 x0) (not x0))))
+(assert (not (or x0 x0)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or (and x0 x0) (and x0 x0)) (and (or x1 x0) (and x1 x0))))
+(assert (and x1 x1))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (and (or x3 x1) (not x6)))
+(check-sat)
+(push 1)
+(assert (or (or (or (not (not (or (not (not x6)) (or (and x3 x1) (not x4))))) (or (or (or (and (and x0 x1) (not x0)) (or (not x0) (and x0 x6))) (and (or (or x6 x0) (and x3 x1)) (or (or x3 x6) (and x4 x0)))) (not (not (or (not x4) (and x5 x3)))))) (and (not (or (not (and (or x1 x2) (and x1 x0))) (and (and (or x5 x0) (and x6 x2)) (and (and x4 x5) (not x3))))) (or (and (and (not (and x2 x0)) (or (or x1 x2) (and x2 x5))) (and (or (or x4 x3) (and x1 x3)) (not (not x5)))) (and (and (or (not x0) (not x4)) (or (or x5 x1) (or x3 x4))) (not (or (and x2 x4) (not x2))))))) (and (or (not (and (and (and (not x6) (and x1 x4)) (not (not x1))) (or (and (not x6) (or x2 x0)) (and (not x2) (or x0 x2))))) (not (and (not (or (or x6 x4) (or x2 x1))) (or (not (or x6 x4)) (or (not x5) (and x6 x2)))))) (or (not (not (or (and (not x4) (not x5)) (or (and x0 x6) (or x3 x3))))) (or (and (and (or (not x3) (or x2 x0)) (and (or x4 x5) (or x6 x1))) (not (or (and x5 x2) (not x4)))) (or (or (not (not x1)) (or (or x5 x4) (not x2))) (not (and (or x6 x4) (or x6 x1)))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or (not (and (or (or (not (or (or (and x3 x5) (or x6 x2)) (not (and x0 x4)))) (not (or (and (or x6 x0) (and x3 x2)) (not (not x3))))) (and (or (not (not (or x6 x2))) (and (and (or x0 x2) (or x6 x3)) (and (not x3) (not x6)))) (not (or (not (or x4 x4)) (not (not x0)))))) (not (not (not (or (not (and x2 x2)) (or (or x6 x4) (or x6 x2)))))))) (or (or (and (not (or (and (and (or x3 x3) (and x1 x0)) (or (not x6) (not x6))) (or (or (not x2) (not x2)) (or (not x6) (or x0 x5))))) (not (and (and (and (not x5) (or x0 x5)) (not (or x4 x3))) (not (and (and x3 x0) (and x3 x0)))))) (or (not (not (and (or (and x3 x0) (not x6)) (and (and x5 x6) (or x1 x0))))) (and (and (or (and (and x6 x0) (and x4 x1)) (or (or x4 x4) (or x0 x4))) (not (or (and x5 x6) (not x3)))) (or (or (not (not x4)) (and (not x2) (or x5 x5))) (and (or (and x0 x0) (not x4)) (and (or x2 x0) (not x6))))))) (and (not (or (or (and (not (and x4 x2)) (or (and x6 x2) (and x0 x1))) (and (or (not x3) (not x6)) (or (and x2 x3) (and x4 x3)))) (not (and (and (and x4 x0) (and x5 x0)) (not (or x0 x0)))))) (not (not (or (or (or (and x1 x1) (not x2)) (not (or x5 x0))) (or (or (or x2 x6) (and x4 x4)) (and (not x1) (and x3 x1))))))))) (and (or (and (or (or (not (and (or (and x0 x0) (and x0 x6)) (not (or x4 x5)))) (and (not (and (and x1 x3) (or x0 x5))) (or (not (not x5)) (not (or x4 x6))))) (and (not (not (not (and x4 x4)))) (or (or (and (not x2) (not x6)) (not (not x5))) (and (and (or x3 x5) (and x5 x1)) (not (or x4 x6)))))) (or (and (and (or (or (and x2 x5) (not x1)) (not (or x3 x5))) (not (or (or x1 x5) (and x6 x4)))) (or (or (and (or x1 x4) (or x3 x1)) (and (not x1) (or x5 x6))) (not (not (and x2 x4))))) (and (or (not (and (or x4 x3) (or x2 x0))) (not (or (and x3 x2) (or x0 x1)))) (not (not (not (and x1 x4))))))) (and (and (and (and (not (not (or x0 x3))) (and (not (or x0 x4)) (or (and x4 x3) (not x5)))) (or (or (not (not x1)) (and (and x4 x2) (or x1 x0))) (not (and (or x4 x4) (not x2))))) (or (or (and (or (and x4 x3) (or x2 x6)) (not (not x3))) (not (and (not x0) (or x4 x4)))) (or (and (not (or x3 x2)) (and (and x4 x0) (and x0 x1))) (or (not (or x0 x4)) (or (or x1 x2) (and x5 x0)))))) (not (not (and (and (and (not x4) (not x5)) (or (and x5 x0) (or x2 x5))) (not (or (not x3) (or x6 x3)))))))) (not (or (not (not (and (or (or (or x6 x3) (not x4)) (not (not x0))) (not (and (not x3) (not x2)))))) (not (or (or (not (and (not x6) (or x3 x0))) (not (or (not x1) (or x3 x0)))) (and (and (and (or x5 x2) (and x5 x2)) (or (not x4) (or x3 x0))) (and (and (not x0) (and x0 x0)) (and (not x6) (not x3)))))))))))
+(assert (not (and (and (or (not (not (and (not (or x5 x2)) (not (not x6))))) (not (and (not (or (or x0 x5) (not x0))) (or (and (or x2 x2) (or x3 x6)) (or (or x4 x0) (and x0 x0)))))) (or (and (and (and (or (and x6 x0) (or x3 x6)) (and (or x2 x1) (or x6 x6))) (not (not (not x4)))) (not (or (not (and x6 x0)) (not (not x5))))) (or (and (not (not (not x6))) (and (not (not x1)) (and (and x2 x6) (or x2 x5)))) (and (not (and (or x4 x0) (and x4 x0))) (or (not (not x3)) (not (not x4))))))) (not (not (and (or (not (and (or x4 x1) (not x4))) (or (not (or x3 x6)) (not (or x0 x0)))) (not (or (not (not x2)) (and (not x4) (or x3 x1))))))))))
+(assert (or (or (not (not (not (not (not (and x2 x3)))))) (or (or (not (not (and (and x0 x2) (and x3 x4)))) (and (and (and (and x3 x3) (and x2 x2)) (not (or x0 x0))) (not (not (not x5))))) (and (not (or (not (or x6 x5)) (and (not x3) (and x5 x0)))) (and (not (not (not x4))) (not (not (and x5 x4))))))) (or (not (not (or (not (or (or x6 x5) (or x6 x1))) (or (not (or x2 x0)) (or (and x3 x6) (and x5 x3)))))) (or (or (or (or (not (not x4)) (and (and x0 x1) (and x3 x6))) (and (not (not x4)) (and (or x0 x3) (not x5)))) (not (not (not (and x2 x4))))) (not (and (not (not (not x5))) (and (and (or x2 x3) (not x1)) (not (and x4 x4)))))))))
+(assert (and (and (or (or (not (not x2)) (and (not x3) (not x1))) (not (or (and x0 x0) (or x4 x4)))) (and (not (or (and x3 x3) (or x0 x0))) (and (and (or x5 x5) (or x2 x0)) (not (not x4))))) (not (and (or (and (and x4 x3) (not x6)) (not (and x5 x3))) (and (and (and x0 x4) (or x0 x3)) (and (not x1) (or x2 x1)))))))
+(assert (not (or (not (and (and (and x6 x4) (not x5)) (not (and x4 x6)))) (and (or (or (and x2 x1) (and x3 x2)) (not (not x3))) (or (or (or x5 x0) (or x1 x3)) (and (and x3 x4) (or x4 x3)))))))
+(check-sat)
+(pop 1)
+(assert (not (not (not (or x3 x2)))))
+(check-sat)
+(push 1)
+(assert (not (and (not (and (and (or (or (not (not (and x4 x0))) (not (or (or x1 x2) (or x3 x1)))) (not (or (and (not x2) (and x4 x4)) (and (not x6) (not x4))))) (or (or (not (and (or x1 x5) (and x5 x5))) (not (or (or x5 x2) (or x1 x3)))) (not (and (and (not x3) (and x2 x5)) (or (or x3 x5) (and x4 x6)))))) (and (and (not (or (not (not x2)) (and (not x2) (and x4 x4)))) (not (and (and (not x5) (or x4 x0)) (not (and x5 x5))))) (or (not (not (not (not x1)))) (and (or (not (not x2)) (not (not x4))) (and (and (or x0 x1) (or x6 x4)) (or (not x4) (or x2 x3)))))))) (or (not (not (or (not (and (not (and x3 x4)) (not (not x6)))) (not (and (and (not x4) (or x1 x4)) (not (or x1 x5))))))) (and (and (not (or (or (and (or x5 x0) (or x3 x1)) (or (not x2) (or x0 x5))) (not (not (and x5 x4))))) (not (or (and (and (or x3 x3) (and x2 x6)) (and (and x3 x5) (and x1 x5))) (not (or (not x2) (not x0)))))) (and (and (and (or (and (or x3 x1) (or x6 x4)) (and (or x5 x3) (and x6 x1))) (or (and (or x2 x2) (or x6 x5)) (or (or x0 x0) (or x3 x5)))) (or (or (not (or x4 x4)) (and (and x0 x3) (and x5 x5))) (or (or (and x1 x3) (and x1 x5)) (and (and x1 x2) (or x2 x0))))) (or (and (or (and (or x0 x1) (not x4)) (and (not x4) (not x3))) (or (not (not x3)) (or (or x6 x4) (and x4 x4)))) (or (or (not (or x6 x5)) (and (or x2 x2) (and x2 x1))) (not (and (not x2) (or x1 x5)))))))))))
+(assert (or x5 x5))
+(assert (or (or (not x5) (and x4 x3)) (not (and x1 x4))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (and x1 x1)) (not (not x3))))
+(check-sat)
+(push 1)
+(assert (or (not (not x6)) (and (not x2) (or x6 x1))))
+(check-sat)
+(pop 1)
+(assert (or (not (not (and (not x3) (and x1 x4)))) (or (and (not (or x5 x0)) (not (or x1 x2))) (or (or (not x6) (or x3 x5)) (and (or x4 x5) (or x0 x6))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (and (and x4 x3) (not x4)) (or (or x3 x5) (or x1 x6))))
+(assert (not (not (not (not (not (not x6)))))))
+(check-sat)
+(pop 1)
+(assert (not (and (and (and (not (and x1 x1)) (or (and x5 x4) (not x1))) (not (and (or x0 x2) (or x0 x5)))) (not (and (and (or x0 x3) (and x4 x0)) (or (not x3) (not x1)))))))
+(assert (and (or (not x3) (and x0 x2)) (not (not x2))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (and (not (not (and (and (not x3) (not x2)) (not (not x1))))) (or (not (and (not (not x5)) (and (and x3 x3) (and x0 x2)))) (or (or (not (not x0)) (or (or x1 x5) (not x2))) (not (or (or x4 x5) (not x4))))))))
+(assert (not (or (not (not (and (not x5) (not x4)))) (or (and (and (and x5 x0) (not x2)) (and (or x1 x1) (or x3 x5))) (and (not (and x5 x0)) (or (not x0) (or x1 x2)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (and x4 x4)) (not (and x0 x4))))
+(check-sat)
+(push 1)
+(assert (or (not x2) (not x2)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (and (and (and x1 x0) (and x2 x5)) (or (and x3 x2) (or x1 x0))) (not (or (and x3 x1) (or x0 x1)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (and (or (and (or (not (and (or (and (not x1) (or x0 x2)) (and (not x3) (and x1 x1))) (not (or (not x0) (not x6))))) (and (not (and (not (and x6 x5)) (not (and x2 x3)))) (or (or (or (not x0) (and x4 x0)) (or (and x3 x3) (and x4 x1))) (and (not (and x1 x2)) (or (and x4 x3) (or x2 x0)))))) (or (and (and (not (and (and x5 x0) (and x4 x2))) (or (not (and x1 x5)) (and (not x0) (or x0 x0)))) (not (not (and (not x0) (and x6 x2))))) (not (and (or (and (or x5 x5) (and x3 x3)) (and (not x0) (or x5 x1))) (not (or (or x0 x0) (or x0 x2))))))) (or (or (not (not (and (or (or x0 x6) (and x2 x0)) (and (and x3 x1) (and x2 x4))))) (and (or (or (not (or x6 x3)) (or (and x0 x4) (or x5 x5))) (not (and (not x4) (not x3)))) (or (and (and (or x2 x6) (and x4 x6)) (and (not x6) (not x5))) (and (not (and x2 x5)) (or (and x0 x2) (or x5 x4)))))) (not (or (or (not (not (not x0))) (or (not (or x4 x1)) (not (not x4)))) (or (and (or (or x5 x6) (not x0)) (not (or x5 x3))) (and (and (or x3 x1) (or x3 x2)) (or (and x0 x4) (or x3 x1)))))))) (not (not (not (not (not (and (or (and x6 x1) (or x4 x4)) (and (not x0) (and x1 x2))))))))))
+(check-sat)
+(push 1)
+(assert (not (or (not (or x6 x1)) (and (not x0) (and x3 x0)))))
+(assert (not (or (and (and (not (not x4)) (or (and x6 x1) (not x1))) (not (and (not x1) (and x5 x3)))) (not (not (not (not x2)))))))
+(check-sat)
+(pop 1)
+(assert (or (not (not (and (and (and (or (or (not (and x0 x3)) (or (not x2) (not x5))) (or (and (not x1) (not x5)) (or (not x1) (and x3 x0)))) (and (or (or (or x4 x1) (not x4)) (or (not x1) (not x4))) (or (not (and x3 x4)) (not (not x1))))) (not (or (not (not (and x2 x2))) (not (or (and x3 x5) (not x0)))))) (and (and (or (or (and (and x5 x1) (or x6 x6)) (not (and x4 x3))) (or (not (not x6)) (and (not x3) (or x2 x3)))) (not (or (not (or x4 x5)) (not (not x6))))) (and (and (and (and (or x2 x2) (or x1 x4)) (or (and x4 x2) (not x3))) (or (not (not x6)) (and (and x1 x0) (or x2 x4)))) (and (not (or (and x1 x5) (or x4 x1))) (not (or (or x3 x2) (and x5 x4))))))))) (not (or (not (not (and (or (and (or (not x4) (or x5 x6)) (not (and x1 x4))) (and (or (or x5 x5) (not x0)) (not (and x1 x2)))) (not (and (and (not x2) (not x2)) (and (or x5 x4) (not x2))))))) (or (not (or (or (or (not (or x2 x1)) (and (and x6 x5) (not x2))) (not (or (not x6) (not x4)))) (not (not (and (not x4) (and x6 x0)))))) (and (or (and (or (or (and x6 x0) (not x0)) (and (or x6 x1) (not x3))) (and (not (or x6 x2)) (not (or x1 x2)))) (and (and (or (or x1 x2) (and x0 x3)) (not (and x0 x4))) (and (and (not x0) (not x1)) (or (not x2) (and x4 x1))))) (or (and (or (or (or x1 x0) (not x3)) (or (and x6 x0) (or x2 x0))) (not (not (and x5 x0)))) (or (and (or (and x5 x5) (or x0 x2)) (or (not x1) (or x0 x6))) (or (and (not x3) (not x3)) (or (not x0) (and x1 x5)))))))))))
+(assert (or (not (or x6 x5)) (and (not x3) (or x1 x3))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (or (not (or (or (or (not x0) (not x3)) (and (or x3 x5) (or x3 x1))) (not (or (not x4) (or x1 x5))))) (not (or (and (and (not x2) (and x5 x5)) (not (not x1))) (or (not (and x2 x4)) (not (or x0 x5))))))) (and (and (or (not (and (not (and x1 x0)) (or (not x1) (and x6 x4)))) (or (not (and (and x1 x5) (not x4))) (and (or (or x3 x3) (and x3 x6)) (not (not x3))))) (not (not (and (and (and x1 x0) (or x3 x5)) (and (or x3 x1) (not x5)))))) (or (and (or (and (or (or x2 x5) (not x5)) (or (or x1 x2) (and x0 x0))) (and (not (not x2)) (and (and x3 x5) (not x1)))) (and (and (not (not x3)) (and (or x0 x3) (and x2 x6))) (and (and (not x6) (or x1 x6)) (and (and x0 x5) (or x0 x0))))) (not (or (and (not (not x4)) (and (not x0) (and x1 x3))) (or (or (not x3) (and x6 x2)) (and (not x5) (and x0 x3)))))))))
+(check-sat)
+(push 1)
+(assert (and (not (or (or (not (not x2)) (not (not x2))) (not (or (or x3 x6) (and x6 x4))))) (or (and (or (or (not x3) (not x6)) (not (not x5))) (not (or (or x4 x6) (and x3 x6)))) (not (not (not (and x3 x6)))))))
+(assert (or (and x4 x1) (and x6 x3)))
+(assert (not (and (not (not (and x3 x0))) (and (not (not x1)) (or (or x0 x6) (and x2 x5))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and x4 x3))
+(assert (not (or (not (not x5)) (and (and x6 x6) (or x1 x0)))))
+(assert (not (and (and (not (or (not (not x6)) (and (and x0 x5) (or x2 x1)))) (or (not (or (or x6 x3) (or x1 x2))) (and (and (and x5 x5) (or x3 x6)) (not (or x0 x6))))) (not (and (or (or (or x2 x2) (or x4 x4)) (and (or x1 x1) (or x4 x5))) (not (and (and x5 x2) (or x3 x3))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(assert (and (not (not (and (not (not (or (or (or x2 x1) (and x5 x0)) (or (not x3) (and x4 x0))))) (or (or (not (not (not x1))) (and (or (or x5 x4) (or x2 x0)) (and (not x3) (and x3 x2)))) (and (not (or (or x2 x4) (not x4))) (or (or (not x4) (not x1)) (and (and x3 x3) (and x4 x3)))))))) (or (not (or (and (and (not (not (or x0 x4))) (and (or (not x2) (or x4 x1)) (and (and x3 x3) (or x0 x3)))) (not (and (and (not x0) (or x3 x4)) (or (and x2 x5) (and x4 x3))))) (not (or (not (not (not x5))) (and (or (and x2 x3) (and x4 x1)) (and (and x0 x3) (not x1))))))) (and (not (not (or (or (and (or x3 x3) (and x4 x5)) (or (or x3 x5) (not x4))) (and (and (or x5 x3) (and x0 x3)) (or (not x4) (not x4)))))) (and (or (or (and (and (and x1 x4) (not x4)) (or (not x1) (and x5 x4))) (and (or (not x2) (and x5 x4)) (or (or x1 x3) (not x5)))) (and (or (and (not x1) (or x3 x1)) (and (or x3 x0) (or x5 x1))) (not (not (or x4 x5))))) (or (or (not (or (and x3 x0) (or x4 x3))) (and (not (and x2 x4)) (not (not x0)))) (or (not (or (and x0 x4) (and x2 x4))) (not (or (not x5) (or x2 x4))))))))))
+(assert (and (and (or (or (not (and (or (or x4 x3) (and x1 x3)) (and (and x3 x3) (not x5)))) (or (not (or (not x2) (not x4))) (not (or (or x1 x3) (not x3))))) (or (not (or (not (or x4 x1)) (and (not x2) (and x1 x2)))) (not (not (and (and x3 x4) (not x2)))))) (or (not (not (or (not (or x5 x5)) (not (or x3 x5))))) (and (or (or (not (and x2 x2)) (and (or x1 x3) (or x3 x5))) (and (and (or x1 x1) (or x4 x0)) (not (or x0 x1)))) (and (and (not (not x4)) (or (not x2) (or x0 x4))) (or (and (and x4 x5) (and x5 x4)) (or (and x0 x0) (and x3 x4))))))) (and (or (not (or (not (or (not x5) (not x0))) (and (and (not x1) (not x0)) (not (not x5))))) (or (and (and (or (or x1 x2) (or x1 x0)) (not (or x2 x2))) (or (or (not x4) (not x3)) (not (or x1 x4)))) (not (or (and (not x2) (or x2 x0)) (not (or x3 x3)))))) (or (or (not (not (and (and x0 x2) (and x4 x5)))) (not (not (or (not x4) (or x0 x3))))) (or (or (not (or (or x5 x0) (or x5 x1))) (or (not (and x5 x5)) (and (or x3 x1) (not x0)))) (not (or (not (not x3)) (not (and x1 x5)))))))))
+(assert (or (and (or (or x4 x1) (or x1 x2)) (and (and x5 x3) (and x0 x2))) (not (not (and x2 x2)))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (and (or (and (not (and (and (not (or (or x3 x4) (and x0 x0))) (or (or (and x4 x3) (and x1 x2)) (and (and x4 x4) (or x2 x4)))) (and (and (not (not x5)) (not (not x5))) (not (not (not x4)))))) (not (and (and (not (not (not x1))) (or (or (not x5) (not x4)) (or (and x3 x1) (or x5 x3)))) (and (and (not (and x1 x1)) (or (not x5) (or x0 x1))) (not (and (and x1 x3) (or x0 x0))))))) (or (not (or (not (and (not (or x3 x0)) (not (or x5 x4)))) (or (and (and (or x2 x0) (not x2)) (or (and x5 x2) (not x1))) (or (not (not x2)) (not (not x5)))))) (not (or (not (or (or (or x0 x1) (or x3 x5)) (and (and x2 x3) (and x2 x3)))) (not (or (or (not x5) (not x2)) (not (and x4 x5)))))))) (or (not (not (not (and (or (or (not x1) (not x5)) (not (not x4))) (or (and (and x2 x4) (or x5 x1)) (or (and x4 x2) (and x3 x1))))))) (and (or (not (or (or (not (not x4)) (or (not x3) (not x2))) (not (not (and x0 x1))))) (or (not (not (or (and x4 x1) (or x2 x1)))) (not (or (not (or x3 x3)) (and (and x5 x1) (or x5 x4)))))) (and (not (or (or (and (and x3 x2) (not x3)) (and (or x2 x5) (not x5))) (not (or (and x2 x1) (or x4 x4))))) (and (or (or (or (and x3 x1) (not x3)) (not (not x5))) (and (or (not x1) (or x1 x3)) (not (and x2 x2)))) (and (or (and (and x1 x1) (or x5 x0)) (and (or x3 x5) (and x5 x1))) (and (not (and x4 x4)) (and (and x4 x5) (or x1 x2))))))))) (and (and (and (or (and (or (or (or (and x4 x0) (not x0)) (and (or x5 x5) (or x1 x5))) (or (not (or x2 x4)) (and (or x1 x4) (not x4)))) (and (or (or (and x2 x1) (not x3)) (and (and x3 x0) (and x5 x4))) (or (not (not x4)) (and (or x2 x3) (or x4 x4))))) (and (not (and (and (and x5 x4) (or x4 x4)) (and (not x1) (not x4)))) (or (and (not (or x0 x3)) (not (or x0 x2))) (and (not (not x1)) (or (and x4 x3) (not x2)))))) (not (not (and (not (not (and x0 x2))) (or (and (or x3 x0) (or x3 x0)) (or (and x4 x3) (or x0 x5))))))) (not (not (or (or (or (and (and x3 x4) (and x2 x3)) (and (and x1 x0) (and x3 x4))) (not (or (and x0 x2) (not x4)))) (or (not (and (or x3 x1) (or x4 x0))) (and (not (and x5 x3)) (or (not x4) (not x0)))))))) (or (or (and (and (not (and (not (or x5 x1)) (or (and x5 x1) (or x4 x2)))) (not (not (or (not x3) (and x4 x2))))) (not (not (and (and (not x5) (not x2)) (and (or x5 x5) (or x1 x2)))))) (not (and (and (not (not (not x3))) (not (not (not x0)))) (not (or (and (or x3 x3) (not x2)) (and (not x2) (and x2 x1))))))) (not (not (and (not (or (and (not x3) (or x2 x2)) (or (not x2) (not x2)))) (or (and (or (and x3 x3) (not x0)) (and (not x0) (and x0 x0))) (not (or (not x3) (or x4 x2)))))))))))
+(check-sat)
+(pop 1)
+(assert (and (or (not (and (or (not (and (not (not x3)) (or (and x3 x4) (not x0)))) (not (or (and (not x0) (not x5)) (or (or x3 x4) (or x4 x1))))) (or (or (not (not (and x3 x1))) (or (or (and x0 x1) (not x1)) (or (not x5) (not x3)))) (and (and (or (or x0 x5) (or x2 x3)) (and (or x4 x1) (or x4 x1))) (not (and (or x3 x5) (and x1 x4))))))) (not (or (and (and (or (or (not x4) (not x5)) (and (or x2 x5) (not x5))) (or (or (not x2) (and x4 x3)) (or (or x1 x1) (or x0 x3)))) (and (not (and (or x0 x4) (or x0 x3))) (or (and (not x0) (or x5 x4)) (and (or x2 x4) (and x0 x2))))) (and (not (not (or (or x3 x4) (or x4 x4)))) (and (and (not (or x2 x3)) (and (or x1 x0) (and x1 x3))) (or (or (not x2) (and x3 x0)) (and (not x5) (and x3 x0)))))))) (not (not (or (and (or (or (and (or x1 x3) (and x2 x1)) (not (or x3 x1))) (not (and (not x4) (or x4 x5)))) (or (not (and (and x1 x2) (and x1 x1))) (not (not (or x5 x0))))) (or (and (not (not (or x1 x4))) (not (and (or x1 x3) (or x3 x0)))) (not (not (and (and x0 x2) (or x0 x1))))))))))
+(assert (and (and (or (and (not (and (or (and (or x4 x2) (not x3)) (and (not x2) (and x0 x5))) (not (not (and x5 x4))))) (or (not (not (or (and x4 x4) (or x3 x1)))) (not (or (not (not x2)) (or (not x3) (not x2)))))) (and (not (or (and (or (not x4) (or x2 x1)) (not (not x1))) (and (or (or x4 x5) (or x1 x4)) (not (not x2))))) (or (not (not (not (not x5)))) (not (and (not (not x0)) (or (not x3) (or x5 x4))))))) (or (and (or (not (not (or (and x2 x4) (not x1)))) (not (or (or (not x2) (not x1)) (not (not x4))))) (or (not (and (not (or x4 x5)) (and (or x3 x5) (and x1 x2)))) (and (not (or (and x1 x3) (not x3))) (or (or (or x2 x0) (and x2 x4)) (or (or x3 x1) (or x4 x5)))))) (not (or (not (or (not (and x5 x4)) (or (or x1 x2) (and x5 x5)))) (not (or (not (not x4)) (not (and x0 x1)))))))) (and (and (not (and (and (and (or (and x4 x1) (or x5 x3)) (or (or x3 x3) (or x3 x2))) (or (not (and x3 x5)) (and (and x5 x2) (or x4 x2)))) (and (or (or (and x2 x3) (or x5 x2)) (or (not x0) (not x5))) (and (not (not x5)) (or (not x5) (not x4)))))) (not (and (not (not (and (not x0) (or x2 x2)))) (and (or (not (or x3 x5)) (not (not x1))) (not (and (and x5 x1) (and x2 x1))))))) (not (and (not (or (or (and (or x0 x2) (and x1 x1)) (or (or x2 x4) (or x5 x5))) (or (or (and x4 x0) (or x5 x5)) (not (not x1))))) (and (and (or (or (and x1 x4) (and x2 x5)) (not (and x0 x0))) (and (or (and x1 x4) (and x2 x1)) (or (and x1 x1) (and x5 x4)))) (or (or (not (and x1 x1)) (or (and x3 x2) (and x0 x5))) (not (and (or x4 x5) (and x3 x1))))))))))
+(assert (not (and (and (and (or x3 x0) (and x1 x5)) (and (or x4 x2) (and x3 x4))) (or (and (and x2 x0) (or x2 x2)) (or (not x0) (and x3 x4))))))
+(check-sat)
+(push 1)
+(assert (not (not (not (and (or (and (and (or (not (or x3 x0)) (and (and x1 x2) (and x1 x1))) (not (not (or x5 x1)))) (and (and (and (not x5) (and x2 x5)) (and (or x4 x2) (and x2 x3))) (or (or (or x1 x5) (not x2)) (and (and x2 x0) (or x4 x4))))) (or (or (not (and (and x3 x1) (or x5 x4))) (not (not (or x2 x1)))) (or (not (not (and x5 x2))) (or (not (not x3)) (and (and x3 x4) (not x1)))))) (not (not (not (and (not (not x3)) (or (not x2) (or x2 x3)))))))))))
+(assert (and (not (and (or (or (or (and (not x4) (and x2 x2)) (or (and x3 x2) (and x0 x1))) (not (or (and x3 x4) (not x3)))) (and (and (or (and x0 x4) (and x1 x5)) (and (or x4 x2) (and x3 x4))) (and (or (not x4) (or x1 x3)) (not (not x0))))) (not (or (and (and (or x1 x0) (and x0 x0)) (or (and x5 x3) (or x2 x5))) (not (and (or x4 x3) (not x0))))))) (not (or (not (not (not (and (or x2 x1) (not x1))))) (not (or (not (or (or x3 x0) (or x3 x1))) (or (or (or x3 x5) (not x1)) (not (and x5 x5)))))))))
+(check-sat)
+(pop 1)
+(assert (or (or (and x5 x2) (or x1 x1)) (or (not x5) (or x3 x2))))
+(assert (or (not (and (or (and x0 x5) (and x4 x5)) (or (not x4) (not x0)))) (not (or (not (not x4)) (or (not x5) (and x4 x2))))))
+(assert (not (or (not (or (not (or x1 x1)) (and (and x2 x5) (or x2 x5)))) (not (or (or (not x0) (and x5 x4)) (not (and x1 x3)))))))
+(assert (not (or (and (or (not x1) (or x0 x2)) (and (and x1 x1) (and x2 x4))) (and (not (not x5)) (not (not x0))))))
+(assert (not (or (or (or (and x1 x2) (not x0)) (and (not x2) (and x0 x2))) (and (not (and x2 x4)) (and (and x5 x0) (or x2 x4))))))
+(assert (or (or (or x3 x0) (or x0 x0)) (and (not x0) (not x1))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(check-sat)
+(push 1)
+(assert (not (or (not x1) (or x1 x0))))
+(assert (and (and x2 x1) (not x0)))
+(assert (not (not (or (not (and (not x2) (or x2 x3))) (not (and (not x2) (and x3 x3)))))))
+(assert (and (not (and (not x3) (not x0))) (and (not (or x3 x3)) (or (not x2) (or x0 x1)))))
+(assert (and (not (and (not (not (and (and (or (and x0 x0) (and x1 x0)) (or (or x2 x1) (and x1 x1))) (and (or (or x0 x3) (and x1 x0)) (not (and x0 x3)))))) (or (and (not (not (not (or x2 x3)))) (not (and (and (or x2 x1) (not x3)) (and (or x1 x1) (or x3 x1))))) (and (and (and (not (and x2 x3)) (or (or x3 x3) (or x2 x2))) (not (not (or x2 x2)))) (and (and (or (and x0 x0) (and x1 x1)) (not (or x3 x0))) (and (or (or x3 x3) (and x3 x2)) (or (not x0) (not x0)))))))) (not (or (or (and (and (not (or (not x1) (or x3 x3))) (and (and (not x0) (and x1 x3)) (and (and x3 x1) (not x2)))) (and (or (and (not x1) (not x1)) (and (not x1) (or x0 x2))) (not (and (or x1 x1) (and x2 x2))))) (or (or (and (or (or x3 x1) (and x1 x3)) (or (not x3) (not x3))) (or (or (not x0) (not x1)) (and (and x3 x2) (or x0 x3)))) (not (or (not (or x1 x0)) (or (and x3 x3) (or x0 x2)))))) (and (not (or (not (not (and x2 x3))) (not (not (and x1 x3))))) (or (not (and (or (and x0 x3) (or x0 x0)) (not (not x2)))) (not (and (not (and x3 x3)) (not (and x1 x2))))))))))
+(assert (not (or (not (or (not (and (and (and x1 x2) (not x1)) (or (or x1 x1) (or x3 x3)))) (not (or (not (not x3)) (and (and x3 x0) (or x3 x3)))))) (not (and (not (and (or (and x3 x2) (and x1 x0)) (not (not x2)))) (or (not (not (or x3 x1))) (or (not (not x2)) (and (or x1 x2) (and x1 x1)))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (or (and (or (not x1) (not x2)) (and (or x1 x1) (and x0 x2))) (not (not (not x0)))) (or (or (not (or x1 x2)) (and (not x3) (or x0 x2))) (not (or (not x2) (or x3 x1))))))
+(check-sat)
+(push 1)
+(assert (not (not (and x2 x0))))
+(assert (not (and (and (and (not (and (or (or x0 x3) (not x0)) (not (and x3 x0)))) (and (or (and (and x3 x2) (not x2)) (and (not x1) (or x1 x3))) (and (or (not x3) (or x3 x3)) (and (or x0 x2) (not x0))))) (or (and (not (not (not x2))) (or (and (and x1 x0) (or x3 x1)) (and (or x3 x0) (not x0)))) (and (not (not (and x2 x2))) (and (not (and x0 x2)) (not (or x2 x1)))))) (or (or (not (not (and (and x3 x3) (or x1 x0)))) (or (not (not (or x0 x0))) (or (not (not x1)) (or (not x3) (not x2))))) (not (and (and (and (or x0 x1) (and x0 x0)) (not (and x3 x1))) (not (and (and x0 x0) (not x1)))))))))
+(check-sat)
+(pop 1)
+(assert (not (not (or (and (or x0 x2) (not x1)) (and (or x2 x0) (not x2))))))
+(assert (and (or (and (not x0) (not x2)) (not (not x3))) (or (not (or x0 x0)) (and (not x0) (and x2 x3)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(assert (or (not (or (not (not x0)) (and (or x1 x0) (not x0)))) (and (and (or (and x1 x1) (and x0 x1)) (not (not x1))) (or (not (or x0 x1)) (or (not x1) (or x0 x0))))))
+(check-sat)
+(push 1)
+(assert (or (not (and (and (or (not (not (and x1 x1))) (not (and (or x1 x0) (or x0 x1)))) (or (not (and (not x0) (and x0 x0))) (and (and (or x1 x0) (and x1 x1)) (not (not x1))))) (not (and (or (or (and x1 x0) (and x1 x1)) (not (or x1 x1))) (and (not (not x0)) (not (or x1 x1))))))) (and (not (and (or (and (and (not x0) (not x0)) (or (or x0 x1) (or x0 x1))) (not (and (or x1 x0) (and x1 x0)))) (and (not (or (not x1) (not x1))) (not (or (or x0 x1) (and x0 x0)))))) (not (or (and (or (and (and x0 x1) (or x1 x0)) (or (or x0 x1) (or x1 x1))) (and (not (not x1)) (and (not x1) (not x1)))) (not (or (not (or x0 x0)) (and (or x0 x1) (or x0 x0)))))))))
+(assert (not (not (not x0))))
+(assert (or (not (or (or (or (not (not (or (and (not x0) (or x0 x1)) (or (not x0) (and x1 x1))))) (not (or (and (not (or x1 x0)) (not (not x0))) (not (or (and x0 x0) (not x0)))))) (and (not (not (or (or (or x1 x1) (and x1 x1)) (or (and x1 x0) (and x0 x0))))) (not (or (and (not (and x0 x0)) (not (not x0))) (or (and (not x1) (not x0)) (or (or x0 x1) (or x1 x0))))))) (and (and (and (and (and (not (or x1 x1)) (and (not x0) (not x0))) (not (and (or x1 x1) (not x0)))) (and (not (and (and x0 x0) (or x1 x1))) (not (not (not x1))))) (or (and (or (or (not x0) (or x0 x1)) (not (and x1 x0))) (and (or (or x1 x0) (and x0 x0)) (and (and x0 x1) (or x0 x1)))) (not (not (not (or x0 x0)))))) (and (not (not (and (not (or x0 x0)) (and (not x0) (not x1))))) (and (or (and (or (not x0) (and x1 x0)) (and (and x1 x0) (or x0 x0))) (or (not (not x0)) (and (not x0) (or x0 x1)))) (and (and (not (or x1 x0)) (or (or x0 x1) (and x1 x0))) (and (or (and x1 x1) (not x1)) (or (or x1 x0) (or x0 x0))))))))) (or (and (and (not (not (or (and (not (not x1)) (and (or x1 x1) (and x1 x1))) (or (or (and x0 x1) (or x0 x0)) (or (not x0) (and x1 x1)))))) (not (and (not (and (or (or x1 x0) (not x0)) (not (not x1)))) (not (and (or (or x0 x0) (and x1 x1)) (not (or x1 x1))))))) (or (and (not (not (not (not (and x0 x1))))) (not (not (or (and (not x0) (or x0 x1)) (or (not x0) (or x0 x0)))))) (not (or (and (and (and (and x0 x1) (or x0 x1)) (or (not x0) (or x1 x0))) (not (and (and x1 x1) (and x0 x1)))) (not (not (not (or x0 x1)))))))) (not (and (or (not (not (or (not (and x0 x1)) (or (not x0) (and x0 x1))))) (and (not (not (or (or x0 x0) (or x1 x0)))) (or (or (or (or x0 x0) (and x1 x1)) (and (or x0 x1) (not x0))) (not (and (not x1) (and x1 x0)))))) (and (and (and (not (or (and x1 x0) (not x0))) (not (not (and x1 x1)))) (not (not (or (and x1 x1) (or x0 x1))))) (not (and (and (and (or x0 x0) (and x1 x1)) (not (not x0))) (not (or (and x0 x1) (and x0 x0)))))))))))
+(check-sat)
+(pop 1)
+(assert (or x0 x1))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (not (or (and (and (and (and (and x0 x1) (and x1 x1)) (or (not x1) (not x0))) (and (or (not x1) (and x0 x1)) (not (and x0 x0)))) (and (not (not (or x1 x0))) (and (not (or x0 x0)) (and (and x1 x1) (and x1 x0))))) (not (not (not (not (not x0))))))) (not (and (not (and (or (not (and x0 x0)) (or (not x1) (not x1))) (or (or (and x0 x0) (and x0 x0)) (or (or x0 x1) (or x1 x0))))) (or (not (not (and (and x0 x1) (or x0 x0)))) (or (or (or (and x1 x0) (not x1)) (and (or x0 x0) (or x0 x0))) (and (and (or x1 x0) (or x0 x0)) (or (or x0 x1) (not x0)))))))))
+(check-sat)
+(push 1)
+(assert (or (not (or (or (not (or (not (or (and x1 x1) (not x1))) (or (and (or x0 x0) (not x0)) (not (not x1))))) (and (not (or (and (not x0) (or x1 x1)) (and (not x0) (or x1 x1)))) (and (not (not (and x0 x1))) (and (not (not x1)) (or (not x1) (not x0)))))) (not (and (not (not (or (and x1 x0) (and x1 x0)))) (or (not (or (and x0 x0) (not x0))) (and (not (and x1 x1)) (not (not x1)))))))) (and (and (and (and (or (not (and (or x1 x0) (not x1))) (and (and (and x0 x0) (not x0)) (and (or x1 x1) (and x0 x0)))) (and (and (not (not x0)) (not (or x1 x0))) (or (or (not x0) (and x1 x1)) (not (not x0))))) (not (not (not (not (not x0)))))) (not (not (or (and (or (and x0 x1) (and x1 x0)) (or (not x1) (not x0))) (not (and (and x0 x1) (or x1 x1))))))) (or (or (or (or (not (or (not x0) (or x0 x0))) (and (not (or x1 x1)) (not (not x1)))) (not (or (and (or x1 x1) (not x1)) (and (not x0) (and x0 x1))))) (not (and (not (or (or x1 x1) (or x1 x1))) (not (or (not x0) (or x0 x1)))))) (or (or (and (or (or (not x1) (not x0)) (or (and x0 x1) (not x1))) (not (or (not x0) (not x1)))) (and (not (or (and x0 x0) (or x1 x0))) (or (not (not x0)) (or (or x1 x0) (not x0))))) (not (not (and (and (and x1 x0) (and x1 x0)) (and (not x1) (and x0 x0))))))))))
+(assert (not (or (or (or (not (and (or (not x0) (and x1 x1)) (and (and x1 x1) (or x1 x0)))) (and (or (not (or x0 x0)) (and (or x1 x0) (not x0))) (not (or (or x0 x1) (not x1))))) (or (not (and (and (not x0) (or x1 x1)) (or (or x1 x0) (and x1 x1)))) (or (and (not (and x1 x1)) (not (and x0 x0))) (not (and (not x1) (and x1 x0)))))) (or (and (and (and (not (and x1 x0)) (and (not x0) (or x0 x1))) (and (or (and x0 x1) (or x0 x0)) (not (not x1)))) (or (not (or (not x0) (not x1))) (or (and (and x0 x1) (and x1 x0)) (or (or x1 x0) (or x0 x1))))) (not (or (and (or (not x1) (or x0 x0)) (and (and x0 x0) (or x0 x1))) (not (and (and x1 x1) (not x0)))))))))
+(check-sat)
+(push 1)
+(assert (or (and (or (or x0 x0) (or x1 x0)) (or (not x0) (or x0 x0))) (and (not (or x1 x0)) (not (not x1)))))
+(assert (or (or (and (and (and x0 x1) (not x0)) (and (and x0 x1) (or x0 x0))) (or (or (or x1 x1) (and x0 x0)) (not (not x1)))) (not (or (not (not x0)) (not (or x1 x0))))))
+(check-sat)
+(push 1)
+(assert (or (or (not (not (and (not (not x0)) (or (or x0 x1) (and x0 x1))))) (and (not (and (and (or x1 x0) (and x1 x0)) (not (not x0)))) (not (and (and (and x0 x0) (and x1 x1)) (and (or x1 x0) (not x0)))))) (and (not (not (or (and (and x1 x0) (not x1)) (or (and x1 x1) (or x1 x0))))) (not (or (and (and (not x0) (not x1)) (or (and x1 x0) (or x1 x0))) (and (or (not x1) (not x1)) (or (not x1) (or x1 x0))))))))
+(assert (or (and x1 x1) (not x0)))
+(check-sat)
+(pop 1)
+(assert (or (or (or (and (not (and (or (and x1 x1) (and x1 x1)) (and (and x0 x0) (not x0)))) (not (and (not (or x0 x0)) (or (not x1) (not x0))))) (not (or (and (not (and x1 x0)) (not (or x1 x1))) (not (or (not x1) (not x0)))))) (and (not (not (or (or (or x0 x0) (not x1)) (and (or x0 x1) (or x1 x1))))) (not (not (or (or (not x1) (not x0)) (or (not x0) (not x1))))))) (or (and (and (and (not (and (and x0 x1) (and x0 x0))) (and (or (and x0 x1) (not x0)) (or (not x1) (or x1 x0)))) (or (and (not (and x1 x0)) (and (or x0 x1) (or x1 x1))) (and (or (not x1) (not x0)) (not (or x0 x1))))) (not (or (or (or (not x1) (not x0)) (not (and x0 x1))) (or (not (not x0)) (or (or x1 x0) (and x0 x0)))))) (not (and (not (and (and (or x1 x0) (not x0)) (or (or x0 x0) (not x0)))) (and (not (or (not x0) (or x0 x0))) (and (or (and x0 x1) (or x0 x0)) (not (and x1 x1)))))))))
+(assert (or (and (or (and (or (and (and (or x1 x0) (not x1)) (and (and x0 x1) (not x0))) (not (or (and x1 x0) (or x0 x1)))) (and (or (not (or x0 x0)) (not (not x0))) (not (or (not x0) (or x0 x0))))) (and (not (and (and (and x1 x0) (or x1 x0)) (and (or x1 x1) (not x1)))) (not (not (not (and x1 x0)))))) (and (not (and (not (and (or x1 x1) (or x0 x0))) (not (or (or x1 x1) (and x0 x0))))) (and (or (not (not (not x0))) (not (not (or x0 x0)))) (and (or (and (or x0 x1) (and x1 x1)) (and (not x1) (and x1 x0))) (and (or (and x0 x0) (not x0)) (or (not x1) (not x0))))))) (and (not (and (or (not (and (and x0 x0) (not x0))) (not (or (and x1 x1) (not x0)))) (or (not (or (not x1) (not x0))) (or (not (and x0 x0)) (and (or x0 x1) (and x1 x1)))))) (not (not (and (not (not (or x1 x1))) (not (not (or x1 x0)))))))))
+(assert (not x0))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(assert (not (not (not (and (not (or (or (or (and x8 x3) (not x7)) (and (and x4 x3) (not x8))) (or (or (and x2 x7) (and x8 x0)) (and (or x2 x2) (or x8 x2))))) (or (not (or (or (or x5 x6) (or x8 x3)) (not (and x7 x6)))) (and (and (and (and x8 x1) (not x4)) (or (and x2 x7) (and x4 x2))) (and (and (not x3) (not x5)) (and (not x3) (or x5 x6))))))))))
+(assert (and (and (not (or (or (not (not (and (not x1) (or x6 x3)))) (not (not (or (and x4 x8) (and x5 x4))))) (and (and (and (not (not x7)) (or (not x2) (or x4 x5))) (or (not (and x1 x5)) (or (not x2) (not x4)))) (and (not (and (not x6) (or x7 x0))) (or (or (and x2 x8) (and x0 x0)) (and (and x3 x3) (and x4 x3))))))) (not (not (not (or (or (and (or x1 x3) (not x0)) (not (not x7))) (not (or (and x2 x5) (and x8 x5)))))))) (not (not (or (and (or (or (not (or x1 x2)) (not (or x6 x3))) (not (or (and x0 x4) (and x3 x4)))) (or (not (and (not x2) (not x4))) (and (not (not x8)) (not (or x6 x0))))) (or (or (or (not (and x7 x0)) (and (and x8 x6) (and x3 x8))) (not (and (or x8 x4) (or x8 x4)))) (and (not (or (or x7 x2) (and x2 x0))) (not (and (or x7 x8) (or x6 x7))))))))))
+(check-sat)
+(push 1)
+(assert (or x8 x2))
+(assert (not (and (and (or (not (not (not (and x3 x3)))) (or (not (not (not x4))) (and (or (not x1) (or x8 x7)) (not (and x3 x7))))) (or (not (or (not (or x1 x7)) (or (and x0 x2) (and x1 x4)))) (not (not (or (and x5 x2) (and x3 x3)))))) (not (and (or (or (or (not x4) (and x0 x6)) (or (not x1) (not x1))) (and (and (not x8) (or x1 x3)) (or (and x1 x7) (and x2 x0)))) (and (not (not (not x5))) (or (or (not x1) (or x5 x5)) (and (not x7) (or x1 x5)))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and x0 x2))
+(check-sat)
+(pop 1)
+(assert (not (or (not (not x3)) (or (not x8) (and x8 x6)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(check-sat)
+(push 1)
+(assert (and (or (and (and (not (or x2 x1)) (not (or x5 x3))) (or (and (not x3) (or x1 x3)) (or (and x1 x0) (and x5 x0)))) (and (not (or (not x5) (not x0))) (not (and (or x5 x0) (and x4 x2))))) (and (not (not (not (not x0)))) (or (and (not (or x2 x3)) (and (or x0 x2) (not x2))) (or (not (not x3)) (or (and x1 x3) (and x2 x2)))))))
+(check-sat)
+(push 1)
+(assert (not x1))
+(check-sat)
+(push 1)
+(assert (or (or (and (and (or (not (not x3)) (not (and x4 x2))) (and (and (or x4 x3) (and x2 x3)) (or (or x3 x5) (and x2 x5)))) (and (and (not (or x2 x4)) (not (or x5 x1))) (not (not (and x1 x0))))) (and (and (or (and (not x1) (not x4)) (not (and x5 x3))) (and (and (or x0 x3) (not x4)) (or (and x0 x0) (not x5)))) (not (not (not (and x2 x4)))))) (or (or (and (not (not (or x5 x4))) (or (or (and x0 x5) (or x3 x3)) (or (not x5) (and x4 x5)))) (and (and (not (and x4 x0)) (or (or x4 x3) (and x0 x3))) (or (or (or x5 x0) (and x1 x4)) (or (and x1 x5) (or x1 x4))))) (and (or (not (and (and x2 x3) (not x2))) (and (and (or x1 x2) (or x3 x1)) (and (and x4 x5) (not x3)))) (or (and (not (not x3)) (not (and x5 x2))) (and (and (or x0 x4) (and x3 x0)) (not (and x5 x4))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (not (or (not x0) (not x4)))))
+(assert (not (not (and (and x0 x0) (not x0)))))
+(check-sat)
+(pop 1)
+(assert (or (or (not (and (or (or (and (and (or x1 x1) (not x5)) (or (or x1 x5) (and x4 x1))) (or (or (or x0 x1) (or x4 x1)) (and (or x1 x4) (and x1 x1)))) (not (not (or (or x0 x2) (and x0 x2))))) (not (and (and (not (not x0)) (not (and x1 x2))) (not (not (and x4 x3))))))) (not (not (and (not (and (or (or x3 x3) (and x3 x3)) (or (not x2) (or x4 x3)))) (not (and (or (or x0 x4) (and x1 x2)) (or (not x0) (and x1 x0)))))))) (or (and (and (not (not (and (or (or x5 x4) (and x5 x0)) (and (and x1 x1) (not x2))))) (and (or (not (not (and x1 x0))) (or (not (and x2 x5)) (or (and x4 x2) (and x2 x2)))) (not (not (and (and x4 x2) (not x5)))))) (and (not (not (and (or (not x1) (and x4 x2)) (and (not x1) (and x0 x4))))) (and (not (not (and (or x2 x4) (not x1)))) (or (or (or (or x4 x0) (or x4 x5)) (and (and x0 x2) (or x2 x2))) (not (not (or x4 x2))))))) (and (or (not (and (and (not (or x2 x3)) (and (or x4 x5) (not x2))) (not (not (or x2 x1))))) (or (or (and (or (or x3 x3) (not x4)) (and (not x3) (not x4))) (and (or (and x1 x4) (and x3 x5)) (or (or x4 x3) (or x4 x2)))) (not (not (or (or x0 x1) (and x1 x3)))))) (or (or (not (or (or (not x5) (not x5)) (or (and x1 x3) (and x1 x4)))) (not (not (not (not x2))))) (not (or (and (or (and x0 x2) (not x1)) (not (not x3))) (not (or (or x1 x2) (or x5 x0))))))))))
+(check-sat)
+(push 1)
+(assert (and (and (or (or (not (and (and (and (or (and x0 x1) (not x0)) (and (and x0 x4) (and x3 x3))) (not (and (not x5) (not x2)))) (not (and (not (not x0)) (not (not x4)))))) (not (or (not (and (not (and x4 x1)) (and (or x2 x3) (or x4 x1)))) (and (and (and (or x4 x3) (or x0 x1)) (not (or x0 x5))) (or (or (and x2 x2) (not x0)) (and (or x2 x3) (or x5 x5))))))) (or (or (and (or (and (not (and x5 x1)) (not (or x1 x3))) (not (not (or x2 x3)))) (and (or (not (or x3 x3)) (not (and x0 x2))) (and (not (not x2)) (or (or x2 x2) (and x1 x1))))) (not (or (and (and (and x4 x2) (not x0)) (not (or x4 x5))) (and (not (not x1)) (or (not x4) (not x0)))))) (and (not (or (or (and (not x1) (or x2 x3)) (and (and x2 x5) (or x2 x4))) (or (not (or x2 x5)) (not (not x5))))) (or (or (or (not (and x0 x4)) (and (and x2 x3) (or x3 x4))) (or (and (not x2) (or x5 x0)) (or (and x4 x3) (and x5 x0)))) (or (not (not (and x3 x5))) (or (and (or x2 x0) (and x4 x4)) (or (not x2) (and x3 x1)))))))) (or (not (and (and (or (or (or (or x2 x0) (or x0 x5)) (or (not x2) (and x0 x5))) (and (and (not x4) (not x3)) (and (or x3 x2) (or x5 x1)))) (not (and (or (not x5) (and x3 x2)) (and (and x0 x1) (not x2))))) (and (or (not (and (not x3) (and x0 x1))) (not (not (and x5 x3)))) (and (not (not (not x2))) (not (not (and x4 x0))))))) (and (or (not (and (not (and (or x4 x2) (or x5 x3))) (and (or (or x2 x3) (and x4 x1)) (and (and x1 x1) (or x1 x4))))) (not (or (or (or (not x1) (and x4 x3)) (or (and x5 x3) (not x2))) (or (not (or x1 x5)) (and (not x4) (or x4 x5)))))) (and (or (or (and (not (or x4 x2)) (and (or x3 x2) (not x4))) (not (and (and x3 x1) (or x1 x0)))) (and (or (and (or x0 x2) (or x3 x5)) (not (or x2 x0))) (or (not (not x3)) (and (and x4 x1) (or x1 x4))))) (not (not (not (and (or x1 x5) (and x2 x3))))))))) (and (or (or (not (or (not (and (not (not x3)) (not (not x5)))) (not (and (or (and x3 x4) (or x5 x3)) (not (and x2 x5)))))) (or (or (or (not (or (not x0) (not x4))) (and (and (and x3 x4) (and x0 x4)) (or (or x5 x4) (not x0)))) (or (not (not (and x2 x4))) (not (and (not x2) (or x3 x3))))) (or (and (not (not (not x2))) (or (and (and x1 x4) (not x2)) (not (not x4)))) (not (or (and (and x3 x4) (or x5 x0)) (or (not x2) (or x2 x5))))))) (or (or (or (or (or (not (and x1 x0)) (not (or x0 x3))) (or (or (and x2 x1) (and x1 x5)) (not (or x4 x0)))) (or (and (not (and x1 x5)) (not (not x3))) (or (or (not x1) (not x3)) (not (and x1 x5))))) (and (or (and (and (and x2 x3) (and x4 x0)) (and (not x0) (not x4))) (and (and (not x5) (and x5 x5)) (and (or x4 x5) (and x4 x0)))) (and (or (not (and x2 x0)) (not (not x1))) (not (not (not x3)))))) (and (not (or (and (not (not x0)) (and (and x3 x4) (or x4 x0))) (not (and (not x3) (not x0))))) (not (or (not (or (or x3 x5) (not x2))) (and (or (or x1 x4) (and x1 x1)) (not (or x0 x1)))))))) (and (and (or (or (and (and (not (not x3)) (not (not x1))) (or (and (not x0) (or x5 x2)) (not (or x3 x4)))) (not (not (or (and x2 x4) (not x3))))) (and (or (and (and (and x3 x0) (and x1 x0)) (not (not x3))) (or (not (and x1 x5)) (and (or x0 x5) (not x5)))) (not (or (or (and x5 x2) (or x0 x0)) (not (not x3)))))) (not (or (and (and (or (and x2 x2) (and x1 x3)) (not (or x5 x3))) (or (and (or x3 x0) (or x5 x2)) (or (and x2 x1) (or x5 x3)))) (or (not (or (not x1) (not x4))) (or (and (not x5) (and x0 x3)) (and (or x2 x2) (and x5 x0))))))) (or (not (or (or (and (or (or x4 x1) (or x5 x1)) (not (and x2 x4))) (not (and (or x0 x3) (and x4 x4)))) (or (and (or (or x1 x4) (not x5)) (or (or x2 x2) (or x3 x4))) (not (not (or x3 x4)))))) (or (or (or (or (and (or x0 x5) (not x4)) (or (or x4 x2) (and x3 x4))) (or (not (not x3)) (not (or x4 x0)))) (and (and (not (or x4 x4)) (or (not x4) (or x0 x2))) (not (or (and x1 x5) (not x5))))) (not (and (or (or (and x2 x3) (not x5)) (or (and x3 x2) (or x3 x3))) (or (and (and x5 x3) (and x4 x5)) (and (and x0 x0) (and x3 x3)))))))))))
+(assert (and (and (or (and (not (or (and (or (not x4) (not x3)) (and (or x0 x0) (and x4 x3))) (and (not (not x2)) (and (and x2 x4) (and x0 x1))))) (and (not (and (and (or x0 x5) (not x0)) (not (and x1 x5)))) (or (not (and (and x1 x2) (not x5))) (not (not (not x3)))))) (and (not (and (and (or (and x5 x2) (not x0)) (not (or x3 x2))) (and (or (and x0 x1) (and x3 x5)) (or (not x1) (not x1))))) (and (or (and (and (and x0 x4) (not x0)) (not (and x0 x2))) (or (and (not x4) (or x0 x2)) (and (and x1 x3) (not x0)))) (and (and (not (and x3 x0)) (and (and x2 x4) (or x0 x3))) (and (or (or x5 x5) (and x0 x4)) (not (or x3 x5))))))) (not (not (or (or (and (and (and x0 x3) (or x3 x1)) (and (not x4) (not x2))) (not (and (and x0 x5) (and x3 x4)))) (and (or (or (not x3) (and x5 x3)) (not (or x5 x4))) (and (not (not x2)) (not (not x4)))))))) (not (or (and (not (or (or (and (and x3 x2) (not x1)) (and (not x5) (or x0 x4))) (and (and (or x2 x0) (not x1)) (not (or x4 x5))))) (not (or (and (or (not x0) (or x0 x4)) (not (or x4 x5))) (not (not (not x2)))))) (and (or (and (not (and (not x5) (and x5 x0))) (or (not (not x3)) (and (not x4) (and x2 x3)))) (not (or (not (not x1)) (and (not x4) (or x4 x0))))) (and (not (not (and (or x2 x0) (and x1 x5)))) (not (and (and (not x3) (not x2)) (and (not x5) (and x2 x4))))))))))
+(assert (not (or x0 x1)))
+(assert (or (not (and (or (or (or (or x2 x2) (or x3 x3)) (or (or x0 x2) (not x2))) (and (not (or x4 x2)) (not (not x2)))) (or (not (or (and x4 x1) (or x5 x4))) (and (not (not x1)) (and (and x2 x5) (and x2 x5)))))) (or (or (and (not (not (not x0))) (and (not (not x1)) (or (or x2 x1) (and x1 x1)))) (and (or (or (and x1 x5) (or x5 x1)) (not (and x1 x2))) (not (not (and x1 x3))))) (or (not (not (not (not x4)))) (or (not (and (and x4 x0) (and x0 x4))) (and (not (not x1)) (not (not x0))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (and (or (or (not (and (not (and (or x2 x2) (not x0))) (and (and (or x5 x4) (not x3)) (and (or x3 x3) (or x5 x3))))) (not (and (not (and (or x2 x2) (or x2 x4))) (or (or (not x0) (or x1 x0)) (and (or x2 x5) (not x5)))))) (not (or (and (not (and (and x2 x3) (not x4))) (not (or (not x2) (or x0 x4)))) (not (and (not (not x4)) (or (and x2 x5) (and x2 x4))))))) (or (not (not (not (or (not (or x2 x5)) (or (and x3 x1) (or x2 x3)))))) (and (and (not (and (not (not x3)) (and (or x2 x1) (not x1)))) (and (not (not (or x4 x4))) (and (or (or x0 x5) (or x3 x1)) (not (or x3 x3))))) (not (not (or (or (and x0 x4) (or x3 x1)) (not (or x0 x4)))))))) (not (not (not (or (not (or (not (not x4)) (not (or x1 x3)))) (and (not (not (not x5))) (and (not (or x1 x3)) (not (and x4 x4))))))))))
+(check-sat)
+(pop 1)
+(assert (and (and (not (not (or (or x1 x0) (not x4)))) (not (and (and (or x2 x0) (not x5)) (or (not x5) (and x3 x2))))) (or (and (or (not (not x2)) (not (and x1 x3))) (and (not (or x2 x3)) (or (and x3 x0) (and x4 x2)))) (not (or (not (not x3)) (not (or x0 x5)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (and (and (and (not x2) (not x5)) (or (not x0) (and x4 x3))) (and (or (and x1 x2) (not x0)) (or (not x3) (and x3 x0)))))
+(assert (and (not (not x5)) (and (or x2 x0) (or x2 x1))))
+(assert (or (and (and (and (and (or (and (not (or x4 x2)) (or (not x0) (and x3 x5))) (and (not (and x1 x2)) (or (not x3) (and x2 x3)))) (or (not (or (or x1 x1) (or x0 x5))) (not (or (or x3 x5) (or x1 x3))))) (not (and (not (not (and x4 x0))) (not (and (or x5 x3) (or x0 x5)))))) (or (or (not (not (or (or x3 x0) (not x0)))) (or (and (or (and x2 x4) (not x4)) (and (and x0 x3) (not x0))) (not (or (or x4 x1) (or x3 x4))))) (and (or (and (and (not x4) (not x2)) (not (not x3))) (not (not (or x2 x1)))) (or (or (or (and x4 x5) (and x4 x4)) (and (not x5) (and x3 x1))) (not (and (or x2 x3) (not x1))))))) (not (or (not (and (or (not (not x5)) (or (not x0) (and x0 x4))) (and (not (and x5 x3)) (or (not x5) (and x4 x0))))) (or (not (not (and (not x1) (or x2 x1)))) (not (or (or (or x5 x0) (not x0)) (not (and x2 x4)))))))) (and (or (or (or (not (or (not (and x2 x3)) (and (and x3 x5) (and x5 x0)))) (and (or (and (and x4 x4) (and x2 x1)) (not (not x3))) (not (and (not x3) (not x0))))) (not (not (not (and (not x3) (or x1 x0)))))) (not (or (or (and (and (not x0) (or x0 x4)) (and (or x3 x4) (or x5 x4))) (and (not (and x1 x5)) (not (and x4 x0)))) (and (not (and (not x4) (and x2 x5))) (or (and (and x1 x4) (not x3)) (or (or x1 x5) (or x0 x3))))))) (or (or (not (not (not (not (and x4 x1))))) (not (and (or (or (or x5 x0) (not x3)) (not (not x4))) (and (and (not x1) (and x1 x4)) (or (not x5) (and x2 x2)))))) (or (not (not (and (or (or x2 x2) (or x0 x2)) (and (or x0 x5) (or x5 x1))))) (not (or (and (and (or x2 x3) (or x5 x0)) (and (and x0 x5) (and x3 x0))) (not (and (or x4 x3) (or x1 x1))))))))))
+(assert (or (or x4 x1) (not x5)))
+(check-sat)
+(pop 1)
+(assert (or (or (or (or (and (not x5) (or x4 x2)) (not (or x4 x3))) (not (and (and x1 x2) (and x0 x0)))) (and (not (not (not x2))) (or (and (not x0) (not x3)) (and (or x4 x4) (not x3))))) (or (and (or (and (or x3 x0) (not x5)) (not (not x0))) (not (or (not x5) (or x2 x5)))) (or (and (and (not x0) (not x3)) (or (and x5 x0) (not x5))) (not (not (or x3 x0)))))))
+(assert (or (and (or (or x0 x3) (or x3 x4)) (not (or x5 x3))) (or (and (or x2 x3) (not x4)) (not (not x1)))))
+(assert (and (or (or (not (not (or (not (and (or (or x2 x0) (and x3 x4)) (and (not x4) (not x5)))) (or (or (not (or x5 x4)) (or (not x5) (or x5 x2))) (and (not (and x2 x2)) (or (or x5 x1) (or x3 x2))))))) (not (or (and (and (not (and (and x5 x2) (or x0 x0))) (not (and (not x3) (not x2)))) (not (and (not (or x4 x4)) (and (not x1) (or x3 x3))))) (or (or (or (not (not x5)) (and (and x2 x0) (not x2))) (or (not (and x4 x3)) (or (or x2 x2) (and x0 x0)))) (not (not (or (not x0) (not x0)))))))) (and (or (or (or (or (or (not (and x2 x5)) (and (or x4 x5) (and x2 x2))) (or (or (or x2 x1) (and x0 x5)) (and (not x2) (not x1)))) (not (or (not (or x1 x3)) (or (or x5 x5) (or x1 x0))))) (and (and (not (or (not x5) (not x2))) (not (or (or x5 x0) (not x2)))) (not (and (and (not x1) (and x5 x2)) (and (not x0) (and x0 x4)))))) (and (or (not (not (or (and x4 x2) (and x4 x1)))) (not (not (not (or x1 x1))))) (or (and (or (or (not x2) (not x3)) (or (or x1 x2) (or x5 x1))) (or (or (or x4 x2) (or x4 x3)) (and (and x5 x1) (and x0 x1)))) (or (and (not (and x2 x4)) (or (and x5 x2) (and x1 x2))) (not (and (or x4 x1) (or x0 x1))))))) (and (and (and (or (or (not (not x1)) (not (or x0 x4))) (not (and (or x5 x5) (or x4 x1)))) (not (or (or (not x2) (and x1 x1)) (and (and x1 x0) (or x5 x4))))) (and (not (or (or (or x4 x3) (not x4)) (not (or x3 x2)))) (and (or (and (and x3 x2) (and x3 x0)) (not (or x5 x3))) (and (or (and x1 x1) (or x1 x3)) (and (not x5) (not x1)))))) (or (not (not (not (not (or x5 x0))))) (or (or (or (and (and x0 x4) (not x3)) (and (or x1 x0) (not x0))) (and (and (and x0 x0) (or x0 x2)) (not (or x4 x5)))) (not (or (and (or x0 x2) (and x1 x4)) (and (or x3 x5) (not x4))))))))) (or (or (and (and (or (or (not (or (and x1 x1) (and x1 x2))) (or (or (and x3 x2) (not x1)) (and (or x1 x3) (not x4)))) (and (and (and (or x2 x3) (not x1)) (or (not x1) (and x1 x0))) (not (not (and x4 x0))))) (and (or (and (and (or x3 x0) (and x2 x1)) (or (and x3 x5) (or x0 x5))) (or (or (or x3 x1) (or x2 x2)) (or (and x5 x2) (or x3 x1)))) (and (and (and (not x5) (not x0)) (and (or x0 x0) (or x3 x4))) (not (or (and x0 x3) (not x5)))))) (and (and (not (not (or (not x2) (and x2 x1)))) (or (and (not (not x4)) (and (not x3) (not x0))) (and (and (or x5 x1) (or x4 x5)) (not (and x5 x3))))) (or (and (or (and (and x3 x0) (and x5 x0)) (not (not x0))) (and (not (not x2)) (and (or x1 x3) (and x5 x4)))) (not (or (not (and x0 x1)) (or (or x0 x1) (or x4 x5))))))) (or (or (not (and (not (and (and x5 x4) (not x5))) (or (not (or x4 x1)) (not (and x4 x1))))) (or (or (and (and (or x5 x4) (or x2 x0)) (or (or x0 x5) (not x0))) (and (and (not x3) (and x2 x4)) (and (or x2 x0) (or x1 x4)))) (and (and (not (or x0 x3)) (or (and x3 x0) (not x4))) (and (or (and x0 x5) (or x3 x4)) (and (and x5 x3) (or x2 x3)))))) (and (not (not (or (not (and x5 x2)) (not (and x0 x4))))) (not (and (and (and (not x5) (not x4)) (and (or x5 x1) (not x1))) (or (not (or x0 x4)) (not (not x3)))))))) (not (not (and (or (or (or (and (or x3 x4) (not x4)) (not (or x1 x0))) (and (or (or x1 x1) (and x2 x5)) (or (or x5 x2) (not x5)))) (not (not (not (not x5))))) (or (or (and (or (or x5 x1) (not x3)) (and (and x3 x3) (not x1))) (and (and (not x4) (or x4 x2)) (or (or x4 x5) (and x4 x5)))) (or (and (not (and x2 x1)) (or (or x2 x5) (or x1 x4))) (or (and (or x5 x0) (not x5)) (not (or x3 x2)))))))))))
+(check-sat)
+(push 1)
+(assert (or (not (or (or (or (or (or (not (or (not x2) (or x5 x5))) (or (or (and x4 x2) (not x4)) (or (not x1) (or x3 x2)))) (or (and (or (or x2 x3) (and x5 x0)) (and (or x0 x2) (not x2))) (or (not (not x2)) (or (and x0 x3) (or x2 x3))))) (or (and (not (and (or x3 x2) (and x3 x2))) (not (and (and x0 x1) (not x1)))) (or (not (and (and x5 x1) (or x0 x5))) (not (and (and x1 x5) (and x1 x1)))))) (or (and (and (or (or (not x5) (not x2)) (and (and x3 x4) (not x4))) (or (and (not x0) (or x3 x1)) (not (or x3 x0)))) (not (not (or (or x2 x3) (not x0))))) (and (not (and (or (or x0 x5) (and x3 x3)) (and (and x5 x5) (and x3 x5)))) (not (not (or (not x5) (and x2 x0))))))) (and (or (not (not (not (or (and x0 x4) (not x4))))) (not (not (not (not (or x3 x4)))))) (or (or (and (not (or (or x2 x1) (and x0 x2))) (and (or (and x1 x2) (and x5 x2)) (or (or x5 x5) (and x1 x5)))) (or (not (and (and x3 x5) (and x1 x1))) (not (or (not x3) (and x2 x4))))) (not (not (or (and (not x5) (or x2 x2)) (or (and x5 x4) (and x3 x5))))))))) (or (not (or (and (and (or (and (and (or x1 x3) (not x0)) (or (or x2 x5) (or x3 x1))) (or (not (or x3 x5)) (or (not x2) (and x3 x5)))) (not (or (and (or x5 x1) (and x4 x1)) (or (not x3) (or x2 x1))))) (or (not (not (not (or x2 x1)))) (and (not (and (and x0 x4) (or x1 x4))) (not (not (not x0)))))) (not (and (not (and (or (and x3 x5) (not x3)) (or (or x2 x0) (or x0 x0)))) (and (not (and (or x2 x4) (or x2 x3))) (and (or (not x1) (and x4 x3)) (or (or x0 x5) (or x3 x5)))))))) (and (and (or (and (not (or (not (not x5)) (not (and x2 x2)))) (not (or (and (or x4 x1) (or x3 x2)) (or (and x4 x3) (or x1 x1))))) (or (or (or (not (and x0 x4)) (and (not x5) (and x2 x3))) (and (and (and x4 x3) (not x1)) (not (not x2)))) (or (not (not (not x3))) (not (or (not x2) (not x3)))))) (or (or (or (and (or (or x4 x1) (not x0)) (or (and x2 x0) (not x4))) (not (not (or x5 x3)))) (and (and (not (not x0)) (and (and x1 x4) (and x4 x5))) (not (or (not x0) (or x5 x2))))) (or (or (and (or (or x1 x4) (or x4 x2)) (or (and x0 x1) (not x3))) (or (or (and x1 x1) (and x3 x0)) (and (or x4 x1) (and x1 x1)))) (not (and (and (not x0) (not x0)) (or (and x1 x0) (or x5 x0))))))) (or (or (and (or (and (or (not x0) (or x0 x1)) (and (not x2) (and x3 x2))) (or (or (or x0 x3) (not x0)) (or (and x5 x5) (not x5)))) (or (not (not (and x3 x1))) (and (or (not x2) (or x3 x4)) (and (and x5 x1) (or x3 x4))))) (or (or (and (or (and x0 x4) (and x5 x4)) (or (not x0) (or x1 x1))) (and (not (and x1 x5)) (or (or x3 x4) (and x1 x3)))) (not (and (or (not x5) (not x2)) (and (not x5) (not x2)))))) (or (or (and (not (and (not x3) (or x2 x2))) (and (not (not x1)) (and (and x0 x2) (and x5 x4)))) (and (not (and (and x0 x5) (and x5 x3))) (and (or (and x3 x0) (or x1 x4)) (or (or x4 x5) (and x4 x5))))) (not (not (or (not (and x3 x4)) (or (or x5 x2) (or x2 x0)))))))))))
+(assert (and (not (and (not (not (not (or (and x5 x1) (or x2 x2))))) (not (not (not (and (or x2 x4) (and x0 x1))))))) (not (or (or (and (or (and (and x3 x3) (and x5 x0)) (not (and x0 x3))) (and (not (not x5)) (or (and x2 x2) (and x3 x3)))) (not (not (or (and x2 x5) (and x3 x3))))) (or (not (and (or (and x4 x3) (or x3 x1)) (and (or x1 x0) (or x1 x3)))) (not (and (and (or x4 x1) (not x0)) (not (not x5)))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(assert (or (and (not (or (or (or (and (or (and (and x7 x2) (or x6 x4)) (not (not x3))) (or (not (or x1 x2)) (and (or x1 x1) (and x5 x5)))) (or (and (and (or x2 x5) (and x6 x6)) (not (and x5 x6))) (and (and (and x5 x5) (or x1 x6)) (or (or x0 x3) (and x2 x4))))) (not (and (and (or (and x4 x4) (and x2 x4)) (or (and x0 x6) (or x6 x5))) (not (or (and x6 x7) (or x4 x4)))))) (and (not (or (or (or (not x6) (and x5 x6)) (or (and x2 x4) (or x6 x7))) (or (or (or x2 x5) (and x3 x6)) (or (and x5 x1) (and x1 x6))))) (and (not (and (and (not x1) (and x1 x7)) (and (or x2 x6) (or x0 x5)))) (and (not (and (not x4) (or x0 x2))) (and (not (and x4 x0)) (not (and x4 x1)))))))) (or (not (not (or (and (or (or (and x2 x7) (not x1)) (not (or x3 x7))) (and (not (not x4)) (or (or x7 x2) (and x3 x2)))) (or (or (and (or x2 x5) (or x0 x4)) (or (not x5) (not x5))) (and (not (and x0 x2)) (or (and x2 x7) (not x2))))))) (not (or (and (or (or (not (not x2)) (or (or x5 x2) (or x5 x7))) (and (and (or x0 x1) (or x7 x6)) (not (and x3 x0)))) (and (and (or (or x7 x5) (not x7)) (and (and x4 x5) (or x7 x2))) (or (or (not x1) (not x3)) (or (or x4 x7) (and x2 x0))))) (or (or (or (and (or x4 x6) (not x2)) (not (and x4 x4))) (not (or (and x2 x3) (not x1)))) (and (and (not (or x6 x3)) (not (or x4 x4))) (not (and (not x7) (and x2 x3))))))))) (or (not (or (or (and (and (not (or (and x0 x5) (and x7 x6))) (or (or (not x0) (not x3)) (or (and x0 x6) (or x7 x0)))) (or (or (and (not x4) (or x2 x3)) (not (not x7))) (not (and (and x2 x6) (not x0))))) (not (or (or (or (and x4 x2) (not x4)) (or (not x3) (and x5 x2))) (or (or (not x7) (not x1)) (not (and x1 x0)))))) (and (or (or (or (or (not x6) (and x3 x6)) (not (and x1 x0))) (or (or (and x7 x3) (not x1)) (not (or x7 x7)))) (and (or (or (not x1) (and x4 x2)) (or (not x3) (not x0))) (or (or (not x1) (not x7)) (not (or x1 x5))))) (or (or (and (and (not x0) (not x3)) (or (and x5 x4) (and x6 x0))) (or (or (and x4 x1) (and x7 x4)) (and (or x6 x0) (not x3)))) (not (and (or (not x4) (not x3)) (and (not x7) (not x7)))))))) (and (or (not (and (not (not (or (and x2 x6) (or x1 x2)))) (and (not (or (or x2 x4) (or x0 x4))) (or (or (and x2 x1) (and x1 x4)) (not (and x3 x0)))))) (and (not (not (and (and (not x3) (not x2)) (not (or x4 x6))))) (and (or (and (not (not x6)) (not (not x0))) (not (not (not x7)))) (and (not (not (and x6 x5))) (not (and (not x2) (or x5 x3))))))) (not (or (and (or (or (or (and x4 x3) (or x3 x6)) (and (and x4 x1) (or x4 x2))) (or (not (and x2 x6)) (or (not x0) (and x4 x5)))) (and (or (not (not x0)) (or (or x3 x7) (and x4 x2))) (or (not (and x0 x3)) (or (and x5 x0) (or x2 x3))))) (or (or (or (not (not x6)) (or (or x3 x1) (and x3 x4))) (and (or (or x0 x3) (or x3 x4)) (or (and x7 x0) (not x4)))) (or (not (not (and x7 x5))) (not (or (and x4 x3) (not x7)))))))))))
+(assert (or (or x2 x1) (or x2 x4)))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (or (and (not (or (or x5 x0) (or x7 x1))) (and (not (not x4)) (not (not x6)))) (not (not (or (or x4 x3) (not x2)))))))
+(assert (and (and (and (and (not (not (and (or (and x7 x4) (and x7 x6)) (or (or x6 x5) (or x5 x3))))) (or (not (not (or (and x6 x6) (or x2 x6)))) (not (or (and (or x7 x5) (not x3)) (or (not x7) (not x0)))))) (or (or (and (or (not (not x1)) (and (or x0 x0) (and x4 x7))) (not (or (or x4 x5) (and x2 x5)))) (not (and (or (or x7 x0) (or x3 x1)) (not (and x3 x2))))) (and (not (and (not (or x4 x0)) (not (not x7)))) (and (not (not (and x1 x0))) (or (and (or x5 x5) (and x4 x5)) (not (not x6))))))) (not (and (or (not (or (or (and x0 x7) (not x0)) (or (and x7 x0) (and x0 x4)))) (and (not (not (not x0))) (or (and (not x3) (or x4 x2)) (not (and x1 x1))))) (and (and (or (or (and x0 x7) (or x0 x3)) (and (not x3) (or x4 x4))) (or (or (not x3) (or x7 x4)) (not (or x1 x2)))) (not (not (and (and x2 x5) (not x5)))))))) (not (not (and (or (and (or (not (not x3)) (or (or x0 x3) (and x3 x6))) (not (not (and x5 x4)))) (not (and (and (or x3 x7) (and x0 x2)) (or (and x5 x7) (not x1))))) (not (not (and (and (or x5 x3) (not x4)) (not (not x1))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (and (not (not (and (or (or (and x3 x5) (or x2 x6)) (not (not x7))) (or (not (and x2 x7)) (or (and x0 x1) (or x6 x1)))))) (not (and (not (not (or (or x0 x7) (and x1 x1)))) (not (or (not (or x4 x4)) (or (or x1 x4) (and x3 x3)))))))))
+(assert (or x5 x7))
+(check-sat)
+(push 1)
+(assert (and (or (not (not (or x5 x3))) (and (or (or x4 x5) (or x2 x1)) (and (not x5) (and x1 x3)))) (not (and (or (not x0) (not x7)) (not (not x5))))))
+(assert (or (and (not (and (or (and (or (and x2 x3) (not x4)) (or (and x1 x1) (or x3 x5))) (or (not (and x4 x7)) (and (and x1 x2) (or x4 x0)))) (and (not (not (or x0 x3))) (or (not (not x4)) (and (and x1 x5) (not x2)))))) (and (or (not (not (or (and x1 x5) (not x5)))) (and (or (and (not x6) (or x7 x3)) (or (and x7 x0) (and x4 x4))) (not (not (not x5))))) (and (and (not (and (and x2 x4) (or x4 x1))) (or (and (and x4 x0) (not x2)) (and (or x6 x2) (and x5 x2)))) (not (not (not (not x7))))))) (or (and (or (and (and (not (or x3 x4)) (and (not x5) (not x1))) (not (or (not x7) (or x5 x0)))) (and (not (and (and x1 x7) (or x7 x5))) (not (and (not x0) (or x2 x0))))) (not (and (or (or (not x1) (or x6 x6)) (and (and x5 x4) (or x5 x6))) (not (or (not x4) (and x5 x4)))))) (not (not (or (and (and (not x5) (not x2)) (and (not x3) (or x3 x2))) (not (and (not x5) (and x6 x1)))))))))
+(assert (or (not (or (not (not (or (and (and (and x5 x4) (not x4)) (or (not x6) (and x2 x1))) (or (and (or x0 x7) (not x5)) (not (and x7 x4)))))) (not (and (and (or (and (or x7 x3) (not x3)) (or (not x5) (not x3))) (not (not (not x7)))) (not (or (not (or x2 x4)) (not (and x3 x0)))))))) (and (not (not (or (and (or (and (not x7) (not x1)) (not (not x4))) (not (and (or x4 x1) (or x3 x5)))) (or (not (and (not x3) (and x3 x6))) (and (not (or x0 x5)) (not (and x5 x6))))))) (or (not (not (not (and (not (and x4 x3)) (not (not x1)))))) (not (and (or (and (or (or x2 x7) (and x0 x7)) (or (and x7 x7) (and x7 x4))) (and (and (not x6) (or x2 x2)) (and (and x5 x3) (and x6 x2)))) (or (and (not (or x5 x3)) (or (or x3 x3) (or x1 x2))) (not (not (or x3 x1))))))))))
+(assert (not (or (or (and (and (and (or (and (or x5 x5) (or x6 x6)) (and (and x1 x2) (not x5))) (and (or (not x7) (or x1 x1)) (and (and x2 x2) (and x2 x5)))) (not (not (and (not x4) (not x1))))) (and (or (not (not (not x2))) (and (and (not x7) (or x4 x5)) (and (and x6 x2) (not x1)))) (not (and (not (or x4 x0)) (or (and x3 x4) (or x4 x6)))))) (and (and (or (and (not (not x5)) (not (not x6))) (or (not (not x0)) (and (or x5 x4) (not x5)))) (and (or (not (and x2 x3)) (and (or x7 x0) (and x6 x3))) (and (not (or x3 x4)) (or (or x2 x0) (not x0))))) (and (not (and (not (or x5 x3)) (not (or x5 x7)))) (and (or (not (and x7 x3)) (not (and x6 x6))) (or (or (not x0) (and x4 x2)) (not (and x3 x4))))))) (and (or (and (not (not (not (and x1 x3)))) (or (or (or (or x3 x3) (and x7 x1)) (or (not x5) (or x7 x6))) (and (or (and x0 x7) (or x4 x5)) (or (and x3 x1) (not x1))))) (or (and (and (not (and x6 x1)) (not (or x1 x2))) (and (not (not x4)) (and (or x0 x2) (or x0 x1)))) (or (not (and (not x4) (or x2 x2))) (and (and (or x1 x2) (not x7)) (and (and x0 x5) (or x2 x4)))))) (and (and (not (and (and (not x7) (not x5)) (or (and x4 x2) (and x6 x4)))) (and (or (not (not x2)) (and (not x1) (not x3))) (and (and (or x3 x0) (and x2 x2)) (or (not x7) (or x0 x4))))) (and (not (or (and (or x6 x4) (not x7)) (or (not x1) (and x2 x2)))) (and (or (or (not x5) (and x2 x1)) (or (not x7) (not x4))) (or (not (and x2 x7)) (or (not x5) (or x6 x7))))))))))
+(assert (not x0))
+(assert (and x0 x7))
+(assert (not (not (or (and x6 x2) (and x0 x6)))))
+(assert (or (not x2) (and x5 x0)))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (and (or (or x0 x0) (and x3 x5)) (not (not x4))))))
+(check-sat)
+(pop 1)
+(assert (and (not (or (and x6 x2) (not x4))) (not (and (or x1 x7) (or x0 x6)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (and (not (or (and (or (or x0 x3) (or x2 x1)) (and (or x1 x0) (not x0))) (or (and (not x2) (and x2 x3)) (not (and x2 x1))))) (and (not (and (or (and x3 x1) (not x2)) (not (or x3 x3)))) (or (not (and (and x1 x2) (and x0 x0))) (or (or (or x3 x2) (not x1)) (or (and x3 x2) (not x0))))))))
+(check-sat)
+(push 1)
+(assert (and (and x3 x1) (and x2 x2)))
+(check-sat)
+(pop 1)
+(assert (or (or (and (not (or (and (not (and (not (not x1)) (or (and x0 x2) (and x0 x3)))) (not (not (and (not x1) (and x0 x3))))) (not (not (not (and (not x0) (not x2))))))) (not (or (not (and (not (or (or x1 x1) (not x1))) (not (or (not x3) (or x3 x0))))) (not (or (not (or (or x2 x0) (not x3))) (and (not (and x0 x2)) (not (and x2 x3)))))))) (and (or (not (or (not (not (or (or x3 x2) (and x2 x3)))) (and (or (or (not x3) (or x0 x2)) (not (and x1 x2))) (or (and (or x3 x2) (not x0)) (and (and x3 x3) (not x2)))))) (not (not (not (or (and (or x1 x3) (or x2 x2)) (or (not x0) (not x1))))))) (and (or (not (or (and (or (and x1 x3) (or x2 x2)) (or (not x1) (not x3))) (or (or (and x2 x0) (not x3)) (not (not x1))))) (or (or (not (not (not x0))) (not (or (not x0) (not x1)))) (or (and (and (or x2 x1) (and x2 x0)) (not (and x0 x2))) (not (and (not x0) (or x3 x1)))))) (and (not (and (and (or (and x3 x0) (and x0 x1)) (not (or x1 x1))) (not (and (not x3) (not x0))))) (not (and (or (not (not x1)) (and (not x0) (or x1 x0))) (not (not (and x1 x1))))))))) (and (not (not (not (and (or (and (and (or x2 x3) (not x0)) (or (and x3 x3) (and x2 x0))) (or (not (or x2 x1)) (not (or x3 x1)))) (and (and (and (and x3 x2) (or x3 x2)) (not (not x0))) (or (and (or x2 x1) (and x1 x0)) (and (not x2) (not x1)))))))) (and (or (and (or (not (not (not (or x2 x0)))) (not (or (and (and x2 x2) (and x2 x1)) (and (and x3 x0) (or x1 x0))))) (not (or (or (and (not x2) (and x2 x1)) (not (not x0))) (not (and (and x3 x0) (or x1 x3)))))) (not (or (not (or (and (and x2 x2) (not x3)) (or (not x2) (or x0 x2)))) (or (or (and (or x0 x1) (or x0 x1)) (not (not x2))) (or (or (and x2 x0) (and x1 x2)) (and (not x1) (or x3 x3))))))) (or (and (or (and (and (or (and x3 x3) (and x0 x0)) (or (or x0 x3) (or x0 x3))) (and (not (or x3 x3)) (and (not x3) (or x1 x2)))) (and (and (and (not x0) (or x1 x3)) (or (not x2) (or x1 x2))) (and (or (not x3) (or x0 x0)) (or (not x0) (not x2))))) (and (not (and (or (not x3) (not x0)) (or (not x2) (or x0 x3)))) (not (not (not (and x0 x0)))))) (or (and (and (and (or (not x1) (not x0)) (and (or x2 x0) (not x2))) (or (not (and x1 x2)) (and (or x2 x2) (not x2)))) (and (not (not (not x3))) (or (and (not x0) (and x2 x1)) (and (not x3) (not x1))))) (or (and (or (not (or x1 x2)) (or (and x2 x1) (not x0))) (and (or (and x3 x0) (or x2 x3)) (or (or x0 x3) (and x3 x2)))) (or (not (not (and x2 x2))) (or (not (not x2)) (or (or x0 x3) (or x0 x2)))))))))))
+(check-sat)
+(push 1)
+(assert (or (or (not x3) (and x3 x0)) (not (and x3 x1))))
+(assert (not x0))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (or (not (or (or (and (and (not (or (not x1) (and x1 x1))) (and (and (or x3 x3) (not x2)) (and (not x0) (or x2 x1)))) (not (or (or (and x0 x2) (not x2)) (not (and x0 x1))))) (not (and (or (and (and x0 x1) (not x0)) (or (and x0 x2) (or x1 x3))) (and (or (or x3 x1) (and x3 x1)) (or (or x3 x1) (not x0)))))) (and (and (not (not (not (or x1 x2)))) (or (or (or (not x1) (and x0 x3)) (and (not x2) (not x0))) (or (or (not x1) (not x1)) (and (and x2 x1) (not x2))))) (not (not (and (not (or x2 x2)) (and (not x2) (and x1 x2)))))))) (not (or (and (and (not (not (and (and x3 x2) (and x0 x3)))) (not (not (not (not x1))))) (and (not (not (and (not x2) (not x1)))) (not (or (or (or x2 x3) (not x1)) (and (and x0 x1) (or x3 x0)))))) (and (not (and (and (and (not x3) (not x0)) (and (not x0) (or x3 x2))) (not (and (and x0 x2) (and x3 x0))))) (not (and (and (not (and x1 x1)) (or (and x1 x1) (or x0 x1))) (not (or (or x0 x0) (and x2 x3))))))))))
+(check-sat)
+(pop 1)
+(assert (not (and (and (and (or (or (or (and x0 x2) (and x1 x3)) (or (not x0) (and x2 x1))) (and (or (and x0 x2) (not x2)) (or (not x3) (and x1 x0)))) (or (not (or (and x1 x1) (or x1 x3))) (and (and (and x0 x0) (and x2 x2)) (and (not x0) (or x2 x3))))) (not (not (and (not (or x0 x2)) (or (and x1 x2) (or x2 x3)))))) (or (and (or (not (or (not x3) (or x1 x1))) (and (not (or x2 x2)) (or (or x3 x3) (and x3 x3)))) (not (or (or (and x2 x2) (and x1 x2)) (not (not x1))))) (not (not (not (and (or x0 x3) (or x3 x2)))))))))
+(assert (or (not (and (not x1) (not x3))) (or (not (and x2 x0)) (and (or x1 x0) (or x2 x1)))))
+(assert (and (not (or (and x2 x0) (not x0))) (or (not (and x1 x1)) (and (and x1 x3) (and x3 x3)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(check-sat)
+(push 1)
+(assert (or (or (or (and (and (not (and (or x0 x0) (not x0))) (not (or (or x2 x2) (not x0)))) (or (or (not (or x0 x0)) (or (and x0 x2) (or x0 x2))) (and (and (and x1 x1) (and x2 x1)) (not (not x2))))) (and (not (not (and (not x2) (and x0 x2)))) (not (not (and (not x2) (not x1)))))) (not (or (and (not (and (not x2) (not x0))) (and (not (not x0)) (and (not x1) (and x2 x2)))) (and (not (and (not x2) (or x1 x0))) (or (or (or x1 x0) (or x0 x0)) (or (or x0 x0) (not x1))))))) (not (not (not (and (not (or (or x2 x0) (not x2))) (not (and (not x0) (or x0 x1)))))))))
+(assert (or (not (or (and (or (or x0 x0) (or x2 x2)) (and (not x1) (or x2 x2))) (and (not (not x1)) (and (or x0 x0) (or x0 x1))))) (not (and (or (and (and x1 x2) (not x1)) (not (not x2))) (not (and (and x2 x0) (not x1)))))))
+(assert (or (not (not x2)) (not (not x0))))
+(assert (not (or (not (or (and (and (and x0 x0) (or x1 x1)) (or (or x0 x2) (not x1))) (not (or (or x0 x1) (or x0 x0))))) (not (not (not (or (or x1 x1) (not x2))))))))
+(check-sat)
+(pop 1)
+(assert (not (and (not (and (and (or (and (and (or (not x0) (not x1)) (and (or x1 x1) (not x2))) (and (and (or x1 x0) (and x1 x2)) (and (not x0) (not x2)))) (not (or (or (or x1 x0) (not x1)) (or (or x0 x1) (not x2))))) (or (or (and (not (not x0)) (or (or x0 x1) (not x0))) (or (not (or x0 x2)) (not (or x0 x0)))) (not (and (or (and x1 x1) (not x0)) (or (and x1 x1) (or x1 x0)))))) (or (and (not (or (not (and x0 x0)) (and (and x0 x2) (and x2 x0)))) (not (and (and (or x0 x2) (and x0 x2)) (and (not x0) (and x0 x1))))) (and (or (not (and (and x2 x1) (not x2))) (or (and (and x2 x2) (and x2 x2)) (or (or x0 x1) (or x1 x2)))) (or (and (and (and x2 x1) (or x1 x0)) (and (or x2 x0) (not x1))) (and (not (or x2 x2)) (or (and x2 x0) (and x0 x0)))))))) (or (and (or (not (and (not (not (or x2 x0))) (and (or (and x0 x1) (or x0 x1)) (not (not x1))))) (not (and (and (or (or x0 x1) (not x1)) (not (not x2))) (not (or (not x2) (not x2)))))) (and (or (and (or (not (and x2 x2)) (or (and x1 x2) (or x2 x2))) (and (or (not x2) (and x2 x2)) (not (not x2)))) (not (not (and (not x2) (not x1))))) (not (and (and (and (or x1 x1) (and x0 x0)) (or (or x0 x0) (not x1))) (or (and (or x2 x1) (not x2)) (and (or x2 x2) (not x1))))))) (not (or (and (and (or (or (not x2) (not x0)) (not (and x1 x0))) (and (not (not x0)) (or (and x1 x0) (or x1 x0)))) (and (and (or (and x0 x2) (not x2)) (and (or x2 x2) (not x1))) (not (or (and x0 x1) (and x1 x0))))) (or (not (or (not (and x1 x0)) (not (not x2)))) (not (not (and (or x2 x0) (not x1)))))))))))
+(check-sat)
+(push 1)
+(assert (or (and (and (or (or (and (not (and (or (or x2 x0) (or x0 x1)) (not (or x2 x1)))) (or (not (not (not x2))) (not (not (or x1 x1))))) (or (or (and (or (and x2 x0) (not x1)) (or (or x2 x2) (and x1 x2))) (or (or (and x0 x0) (and x2 x0)) (or (not x2) (or x0 x1)))) (and (or (and (or x0 x0) (or x2 x0)) (not (not x1))) (not (and (or x1 x2) (or x1 x1)))))) (and (not (not (and (or (or x1 x0) (and x1 x1)) (not (or x1 x0))))) (and (and (and (or (or x0 x2) (and x0 x2)) (and (and x2 x2) (and x0 x1))) (or (or (or x1 x1) (not x2)) (not (not x1)))) (not (not (or (or x1 x0) (and x2 x0))))))) (not (not (and (or (not (or (and x1 x2) (not x2))) (and (and (or x2 x0) (and x1 x0)) (and (or x1 x0) (or x2 x1)))) (not (or (not (not x0)) (not (and x2 x2)))))))) (and (or (and (or (not (not (and (and x1 x1) (and x1 x1)))) (or (and (not (and x0 x1)) (or (or x2 x2) (or x0 x1))) (and (not (not x0)) (not (and x0 x0))))) (not (and (or (and (not x1) (not x2)) (not (or x2 x1))) (and (and (not x0) (and x0 x2)) (or (and x2 x2) (not x2)))))) (or (and (and (not (and (or x1 x0) (or x0 x1))) (not (or (or x2 x1) (or x1 x0)))) (and (and (or (and x1 x1) (not x2)) (or (not x0) (and x0 x1))) (not (not (or x0 x2))))) (not (and (not (or (and x2 x0) (or x2 x0))) (not (not (not x0))))))) (or (or (not (and (and (not (not x0)) (or (and x1 x2) (not x0))) (and (not (not x0)) (and (or x0 x2) (not x1))))) (and (not (and (or (not x1) (and x0 x0)) (and (not x1) (and x2 x2)))) (not (and (or (and x0 x0) (not x0)) (and (not x2) (and x0 x2)))))) (and (and (or (not (or (not x1) (or x1 x2))) (or (or (and x1 x1) (and x0 x0)) (not (and x0 x0)))) (not (or (and (or x0 x0) (not x1)) (or (and x0 x2) (or x1 x1))))) (not (and (not (not (and x2 x1))) (or (and (not x1) (not x0)) (not (or x0 x2))))))))) (or (and (or (and (not (or (or (or (not x1) (or x0 x0)) (and (or x2 x1) (not x1))) (and (or (not x2) (or x1 x2)) (or (and x2 x1) (and x1 x0))))) (and (not (and (and (or x2 x0) (not x2)) (and (or x1 x1) (or x2 x0)))) (not (or (and (and x0 x2) (and x0 x2)) (not (or x1 x1)))))) (not (or (not (or (and (and x0 x1) (not x1)) (or (and x2 x1) (not x2)))) (and (and (and (not x2) (and x2 x1)) (not (or x2 x2))) (and (and (or x1 x1) (not x1)) (or (and x0 x1) (not x1))))))) (not (and (or (and (or (or (not x2) (not x1)) (not (and x1 x1))) (or (not (or x0 x0)) (not (and x2 x1)))) (not (and (not (and x1 x1)) (or (not x1) (and x0 x2))))) (or (or (or (not (or x2 x2)) (and (and x1 x0) (and x1 x1))) (not (and (or x1 x0) (or x0 x2)))) (and (not (or (or x2 x2) (and x2 x0))) (not (and (and x2 x2) (or x1 x1)))))))) (not (or (not (or (not (and (not (and x2 x2)) (and (or x0 x1) (and x2 x0)))) (and (not (not (and x2 x0))) (or (and (and x0 x0) (not x0)) (and (and x0 x1) (not x0)))))) (or (not (or (or (and (and x0 x2) (and x2 x0)) (and (and x2 x1) (or x2 x2))) (and (or (or x0 x0) (or x1 x0)) (and (and x2 x1) (or x0 x1))))) (and (or (or (not (or x0 x1)) (not (or x0 x1))) (or (not (not x0)) (not (and x0 x2)))) (not (not (or (or x2 x2) (not x2)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(declare-fun x9 () Bool)
+(assert (or (and (and (or (or (not (not (not (and x3 x2)))) (and (and (or (and x1 x1) (not x9)) (or (or x9 x5) (not x5))) (or (not (or x6 x3)) (not (not x5))))) (or (not (or (and (and x2 x5) (or x5 x6)) (not (or x0 x5)))) (not (or (or (or x0 x6) (not x1)) (not (not x9)))))) (or (and (not (or (or (not x2) (and x9 x9)) (or (not x6) (and x8 x5)))) (and (or (not (not x8)) (not (not x5))) (and (or (or x7 x1) (and x6 x9)) (or (and x5 x5) (and x0 x8))))) (and (and (or (or (not x9) (and x3 x0)) (and (or x6 x4) (and x0 x2))) (not (not (not x3)))) (or (or (or (or x2 x4) (or x8 x5)) (not (not x5))) (and (not (or x9 x9)) (not (not x1))))))) (and (or (and (and (not (not (or x9 x7))) (not (or (or x1 x5) (and x5 x0)))) (and (and (or (and x4 x3) (or x4 x4)) (and (or x7 x7) (or x6 x3))) (not (or (not x5) (or x8 x5))))) (or (or (not (and (or x1 x1) (and x4 x7))) (or (or (or x0 x3) (or x6 x8)) (and (not x5) (not x9)))) (and (and (and (and x8 x4) (and x5 x7)) (and (not x5) (not x5))) (not (not (not x8)))))) (not (or (and (or (or (not x6) (and x6 x9)) (and (and x0 x3) (or x4 x3))) (not (and (not x8) (and x3 x2)))) (or (and (not (or x6 x9)) (and (or x2 x4) (or x6 x4))) (not (and (or x1 x4) (and x1 x9)))))))) (or (not (and (not (and (or (not (not x0)) (not (or x5 x5))) (or (or (not x9) (or x8 x5)) (and (or x2 x1) (or x4 x4))))) (not (and (or (and (and x5 x6) (or x2 x3)) (or (not x3) (and x1 x0))) (and (and (and x3 x9) (and x1 x7)) (or (not x9) (and x7 x5))))))) (or (not (or (or (not (not (and x5 x0))) (or (and (not x3) (not x8)) (or (and x5 x7) (not x8)))) (or (and (and (or x3 x9) (or x5 x6)) (or (or x0 x7) (and x7 x6))) (or (or (or x3 x3) (not x7)) (not (or x4 x4)))))) (not (not (and (not (or (or x8 x5) (not x9))) (not (or (and x3 x3) (or x3 x2))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (or (or x0 x9) (not x9)) (not (or x8 x3))))
+(check-sat)
+(push 1)
+(assert (or (not (not (and x5 x8))) (not (not (not x7)))))
+(check-sat)
+(pop 1)
+(assert (not (not (or (or (not x4) (not x5)) (not (not x6))))))
+(assert (not (not (and (and x8 x5) (or x4 x1)))))
+(assert (and (not (not (or (or (and (and (or (and x7 x6) (or x2 x3)) (or (or x3 x4) (not x6))) (or (not (or x9 x1)) (not (and x7 x8)))) (and (not (not (and x2 x0))) (not (and (not x7) (or x3 x3))))) (and (or (and (not (and x2 x0)) (and (or x5 x9) (and x4 x2))) (or (or (not x2) (and x4 x4)) (or (and x4 x7) (not x0)))) (and (or (not (not x8)) (or (or x2 x0) (or x2 x6))) (and (and (not x3) (or x9 x9)) (or (not x2) (and x4 x6)))))))) (not (or (not (not (and (not (or (and x7 x9) (or x0 x0))) (not (not (or x7 x9)))))) (and (not (or (and (not (or x0 x6)) (and (and x7 x3) (and x7 x8))) (or (and (not x7) (or x5 x6)) (and (not x9) (or x4 x2))))) (and (not (or (or (and x2 x2) (not x3)) (or (and x2 x0) (or x5 x4)))) (not (or (or (not x7) (or x0 x5)) (or (or x4 x8) (and x8 x2))))))))))
+(assert (or (not (and x0 x3)) (or (or x0 x1) (or x2 x7))))
+(check-sat)
+(pop 1)
+(assert (or x4 x9))
+(check-sat)
+(push 1)
+(assert (or (or (or (not (or x9 x3)) (and (and x1 x9) (not x3))) (not (or (or x6 x1) (or x9 x8)))) (and (and (not (and x0 x6)) (and (not x0) (not x2))) (and (and (or x4 x5) (or x2 x8)) (and (and x5 x1) (and x4 x9))))))
+(check-sat)
+(pop 1)
+(assert (and (not (or (and (not (not (not (or x9 x5)))) (not (or (not (or x5 x4)) (not (or x8 x9))))) (and (or (not (and (or x0 x0) (not x8))) (not (or (and x7 x5) (or x0 x2)))) (or (not (not (not x2))) (and (and (or x0 x4) (and x2 x2)) (and (and x6 x7) (not x9))))))) (and (and (not (not (or (or (not x8) (and x9 x1)) (and (and x5 x8) (or x9 x3))))) (and (and (not (or (not x7) (and x0 x9))) (and (not (and x3 x4)) (not (or x4 x0)))) (or (or (and (and x0 x0) (or x1 x5)) (and (and x7 x5) (and x6 x0))) (and (and (or x4 x7) (not x6)) (not (and x1 x0)))))) (or (or (and (and (or (and x5 x1) (not x5)) (not (and x2 x4))) (and (and (not x6) (or x1 x6)) (not (and x1 x1)))) (and (and (and (or x1 x6) (or x7 x2)) (not (not x8))) (not (and (and x6 x1) (not x1))))) (not (or (or (and (or x0 x9) (not x6)) (not (not x8))) (and (and (or x7 x2) (or x7 x0)) (not (not x5)))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(check-sat)
+(push 1)
+(assert (not (not (or (and (or (or x1 x1) (and x0 x1)) (or (or x2 x0) (or x0 x0))) (not (and (or x2 x0) (not x1)))))))
+(assert (and (and x0 x1) (and x1 x0)))
+(assert (or (not (or (or (or (and (or (and (and x1 x2) (and x1 x1)) (and (not x1) (and x2 x0))) (or (not (not x2)) (or (and x1 x1) (and x2 x1)))) (or (or (not (or x1 x2)) (and (or x0 x2) (or x2 x1))) (not (or (and x1 x2) (or x2 x0))))) (or (not (or (and (or x2 x0) (or x2 x1)) (and (not x2) (and x2 x1)))) (or (not (and (or x2 x1) (and x2 x2))) (and (and (not x1) (and x0 x2)) (and (and x0 x2) (or x1 x2)))))) (not (and (or (or (or (not x2) (and x0 x1)) (or (or x2 x2) (or x2 x2))) (and (and (not x2) (not x0)) (not (and x1 x0)))) (or (not (not (or x2 x0))) (and (not (or x2 x2)) (not (not x2)))))))) (not (or (and (not (and (and (not (not x2)) (and (not x2) (not x2))) (or (and (not x0) (or x1 x1)) (or (and x1 x0) (and x0 x0))))) (and (or (or (not (and x1 x1)) (not (or x1 x1))) (not (and (and x1 x0) (or x2 x0)))) (not (not (or (not x2) (and x0 x0)))))) (or (or (and (and (not (and x1 x1)) (or (or x0 x0) (or x2 x2))) (not (and (and x1 x0) (not x0)))) (or (not (not (and x1 x2))) (or (or (not x1) (and x1 x2)) (or (or x0 x2) (and x0 x0))))) (and (or (not (and (or x2 x2) (and x2 x2))) (and (not (not x1)) (and (or x1 x2) (and x1 x0)))) (not (or (not (or x1 x0)) (not (or x0 x2))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (and (not (and x1 x1)) (and (and x0 x0) (not x2)))))
+(check-sat)
+(push 1)
+(assert (or (and (or (and (or (and x0 x0) (not x0)) (and (and x1 x0) (or x0 x1))) (or (or (or x1 x1) (and x2 x2)) (not (and x0 x0)))) (or (and (and (and x2 x0) (not x1)) (or (or x2 x2) (and x0 x0))) (and (or (and x1 x1) (and x2 x1)) (and (not x0) (and x1 x0))))) (not (not (or (or (or x1 x1) (or x1 x0)) (not (or x2 x1)))))))
+(assert (not (not (and (and (or (or (and x0 x2) (or x2 x0)) (and (and x1 x1) (or x1 x2))) (and (or (and x1 x0) (not x1)) (or (and x0 x0) (not x2)))) (not (and (not (or x2 x0)) (not (not x0))))))))
+(assert (not (or (and (and x1 x0) (not x2)) (or (or x2 x1) (or x0 x2)))))
+(assert (or (not (and (or (and (or (not (or (and x1 x0) (not x2))) (and (not (or x2 x1)) (not (or x0 x2)))) (and (not (and (not x2) (or x0 x2))) (not (or (not x0) (and x0 x2))))) (or (not (and (and (or x1 x2) (not x1)) (or (not x0) (or x0 x1)))) (or (and (and (not x1) (and x2 x1)) (and (and x2 x1) (or x1 x0))) (or (not (or x1 x1)) (or (or x1 x2) (not x1)))))) (not (or (not (not (not (or x1 x0)))) (not (or (and (or x0 x0) (not x2)) (not (or x1 x2)))))))) (or (and (or (not (or (or (or (and x1 x0) (or x0 x0)) (or (or x2 x1) (not x2))) (not (not (and x2 x2))))) (not (not (or (and (or x2 x1) (or x1 x2)) (or (and x2 x1) (or x0 x1)))))) (not (and (not (not (not (and x2 x1)))) (and (and (not (not x1)) (and (not x0) (not x1))) (or (or (or x2 x1) (not x2)) (and (not x1) (not x0))))))) (or (and (or (not (not (not (and x1 x2)))) (or (not (and (or x0 x0) (not x0))) (and (not (not x1)) (not (and x0 x2))))) (and (and (and (and (and x2 x1) (or x2 x2)) (not (or x0 x1))) (not (not (and x1 x2)))) (and (and (not (or x0 x1)) (or (and x2 x2) (not x1))) (and (and (or x2 x2) (not x1)) (and (or x1 x1) (or x2 x0)))))) (or (and (not (and (and (and x0 x1) (not x1)) (or (or x0 x0) (not x0)))) (and (or (not (and x1 x2)) (not (or x0 x2))) (and (or (or x0 x1) (or x2 x0)) (not (or x1 x0))))) (not (and (not (and (and x0 x1) (and x0 x0))) (not (or (not x0) (or x1 x0))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (and (and (or (and x0 x2) (not x2)) (and (and x1 x0) (not x0))) (not (and (and x2 x1) (or x0 x1))))))
+(check-sat)
+(push 1)
+(assert (and (not (and (or (not (and (and (not (not (or x2 x1))) (or (not (or x2 x2)) (and (not x2) (and x0 x1)))) (or (and (not (or x1 x2)) (and (and x2 x1) (or x2 x0))) (not (and (or x1 x2) (not x0)))))) (not (or (or (not (not (not x2))) (not (or (or x1 x1) (and x0 x1)))) (or (and (not (not x0)) (and (or x0 x0) (not x1))) (or (not (and x1 x2)) (and (and x0 x0) (and x1 x0))))))) (and (and (or (or (and (or (and x2 x0) (not x0)) (or (or x2 x1) (and x2 x1))) (or (or (or x2 x1) (not x0)) (or (and x2 x2) (not x2)))) (or (and (or (or x2 x0) (and x0 x1)) (not (and x1 x0))) (or (or (not x0) (not x0)) (or (not x2) (not x0))))) (not (or (and (and (not x1) (and x0 x0)) (not (and x1 x0))) (or (and (and x0 x2) (and x1 x0)) (and (and x0 x0) (not x1)))))) (or (and (or (or (and (and x2 x0) (or x0 x2)) (or (and x2 x2) (not x2))) (or (and (or x0 x1) (and x2 x2)) (or (and x0 x0) (or x2 x1)))) (not (or (and (and x2 x1) (not x2)) (and (not x1) (and x1 x0))))) (or (or (and (not (and x0 x1)) (and (or x0 x1) (not x1))) (not (or (and x2 x0) (and x1 x1)))) (or (or (and (and x2 x0) (or x0 x1)) (and (not x2) (or x2 x1))) (and (or (not x1) (not x1)) (or (and x2 x1) (not x1))))))))) (and (or (not (or (not (or (and (and (or x2 x1) (or x0 x2)) (or (or x0 x2) (and x1 x0))) (not (or (or x0 x1) (and x2 x2))))) (or (or (and (and (and x2 x0) (and x1 x1)) (and (or x0 x0) (and x1 x1))) (and (and (and x1 x1) (not x0)) (and (not x1) (not x0)))) (and (or (and (not x2) (not x1)) (not (or x0 x0))) (not (not (and x1 x0))))))) (or (not (not (not (and (and (and x2 x0) (not x1)) (or (or x1 x0) (and x2 x2)))))) (not (and (and (or (or (not x0) (not x0)) (and (and x1 x1) (and x0 x1))) (and (and (not x2) (and x2 x1)) (not (not x2)))) (and (or (and (or x2 x0) (or x2 x1)) (and (and x2 x1) (and x0 x2))) (not (not (not x0)))))))) (and (or (not (and (and (and (and (or x1 x1) (not x0)) (not (not x1))) (or (not (not x2)) (and (and x1 x1) (not x0)))) (and (or (or (and x2 x2) (or x0 x1)) (and (and x0 x2) (not x1))) (and (not (not x2)) (and (not x2) (not x1)))))) (not (or (or (or (and (and x1 x1) (not x0)) (not (and x2 x0))) (and (and (and x1 x1) (not x0)) (or (and x2 x0) (or x2 x0)))) (not (and (not (not x2)) (or (or x1 x2) (not x0))))))) (and (not (not (or (and (and (and x2 x2) (not x1)) (not (or x2 x1))) (or (not (and x0 x0)) (not (and x2 x1)))))) (or (not (not (not (not (not x0))))) (or (not (and (or (and x2 x0) (and x2 x0)) (or (not x1) (or x1 x2)))) (or (not (not (or x2 x1))) (not (not (not x0)))))))))))
+(check-sat)
+(push 1)
+(assert (or (and (and (and (not (or (or (or (not x1) (and x2 x0)) (or (not x1) (or x0 x1))) (not (or (not x1) (or x1 x0))))) (and (or (or (and (not x2) (not x1)) (or (or x2 x2) (or x1 x0))) (not (and (and x0 x1) (or x0 x2)))) (not (or (or (and x1 x0) (or x0 x2)) (and (and x1 x1) (or x0 x0)))))) (not (and (not (not (or (or x0 x2) (not x2)))) (or (not (not (and x2 x2))) (not (not (and x1 x1))))))) (not (not (or (and (not (not (not x0))) (and (or (not x2) (not x2)) (not (and x0 x0)))) (or (or (and (not x2) (not x2)) (or (not x2) (and x2 x1))) (and (and (not x0) (or x2 x2)) (and (or x1 x1) (not x0)))))))) (not (or (and (or (or (or (and (and x0 x1) (or x0 x1)) (and (or x0 x0) (not x2))) (not (and (not x0) (or x2 x2)))) (and (or (and (not x1) (or x2 x0)) (not (not x0))) (or (or (and x1 x1) (not x0)) (not (or x0 x0))))) (not (not (or (or (not x1) (not x2)) (and (or x2 x2) (not x1)))))) (and (and (not (or (and (or x0 x2) (not x2)) (not (and x2 x2)))) (and (and (or (or x1 x1) (not x1)) (not (and x0 x0))) (not (not (not x2))))) (and (and (and (and (and x1 x1) (not x0)) (not (not x2))) (and (not (not x0)) (or (or x1 x0) (and x1 x1)))) (or (or (and (and x0 x1) (or x0 x0)) (or (not x1) (and x0 x1))) (not (and (and x1 x1) (not x1))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and x2 x2))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(assert (or (not (not (and (and (not (not (not (not (or x2 x4))))) (and (not (or (not (not x4)) (or (or x2 x8) (or x3 x7)))) (and (or (or (not x8) (not x8)) (not (not x5))) (or (not (not x3)) (or (or x3 x7) (or x5 x2)))))) (or (and (and (or (and (and x8 x5) (not x5)) (and (or x8 x6) (not x7))) (and (and (or x7 x2) (or x6 x5)) (and (or x8 x6) (and x4 x0)))) (not (or (and (not x3) (and x6 x6)) (or (not x8) (or x1 x3))))) (and (not (and (or (and x5 x0) (not x0)) (or (or x8 x3) (or x0 x5)))) (and (or (or (and x6 x0) (not x1)) (or (or x3 x3) (or x2 x7))) (not (and (not x3) (or x0 x1))))))))) (not (and (and (or (or (not (and (not (or x2 x2)) (and (and x6 x2) (or x7 x6)))) (or (and (and (not x3) (not x7)) (or (not x8) (or x0 x0))) (and (not (or x7 x3)) (or (or x8 x6) (and x2 x1))))) (not (not (or (and (and x1 x1) (or x2 x3)) (not (not x0)))))) (not (not (not (or (or (or x8 x6) (and x7 x0)) (and (not x0) (not x7))))))) (or (and (and (or (not (not (not x7))) (and (or (and x2 x8) (or x2 x8)) (or (not x8) (or x6 x8)))) (or (and (and (and x6 x4) (not x0)) (or (or x2 x4) (or x8 x1))) (or (or (not x4) (not x8)) (or (or x8 x2) (and x8 x8))))) (and (not (not (or (and x0 x2) (not x5)))) (not (or (or (not x8) (and x8 x6)) (or (or x1 x6) (and x4 x6)))))) (not (and (or (not (or (not x8) (or x8 x4))) (or (and (or x6 x7) (or x5 x2)) (or (and x8 x2) (and x5 x0)))) (not (and (or (and x2 x1) (and x1 x5)) (or (not x7) (or x5 x4)))))))))))
+(assert (or (and (or (and (and (not (and x5 x1)) (and (and x6 x6) (and x6 x4))) (not (not (and x4 x1)))) (and (or (not (or x5 x0)) (or (and x4 x0) (not x2))) (and (and (or x4 x3) (or x5 x4)) (and (or x0 x3) (and x2 x5))))) (and (and (and (not (or x7 x7)) (or (and x5 x4) (or x0 x2))) (not (not (or x7 x6)))) (and (not (or (and x4 x2) (and x4 x3))) (or (and (and x1 x5) (not x3)) (or (and x2 x0) (or x7 x2)))))) (or (or (and (or (not (and x2 x6)) (or (not x3) (and x6 x4))) (or (not (and x7 x0)) (not (or x3 x2)))) (and (or (and (and x4 x1) (or x6 x8)) (or (not x0) (or x0 x0))) (and (or (not x8) (not x7)) (or (or x7 x0) (not x7))))) (or (or (not (not (not x3))) (and (or (not x6) (and x0 x5)) (or (not x6) (and x6 x6)))) (not (and (and (not x6) (not x4)) (and (or x4 x4) (not x7))))))))
+(check-sat)
+(push 1)
+(assert (and (or (or x8 x0) (and x1 x0)) (and (and x6 x5) (not x3))))
+(assert (and x6 x2))
+(check-sat)
+(pop 1)
+(assert (and (and (or x0 x6) (not x3)) (or (and x7 x7) (and x7 x3))))
+(assert (not (not (not (or x5 x3)))))
+(assert (not (and (and (and (not (and x2 x3)) (or (and x1 x5) (or x4 x2))) (or (or (or x4 x7) (and x5 x1)) (and (not x1) (and x1 x4)))) (or (or (and (not x6) (not x1)) (and (not x4) (or x6 x5))) (not (not (and x4 x8)))))))
+(assert (and (or (not (and (not (or (or (or (not x2) (not x0)) (or (or x6 x0) (or x7 x6))) (or (or (or x2 x3) (not x5)) (and (and x4 x6) (and x3 x0))))) (and (and (or (not (not x3)) (or (not x6) (and x6 x1))) (not (and (not x4) (and x3 x5)))) (and (not (not (and x1 x8))) (or (or (not x5) (and x4 x7)) (and (and x5 x4) (or x8 x7))))))) (or (and (not (or (or (or (not x2) (not x2)) (not (or x5 x2))) (not (and (and x6 x5) (and x0 x1))))) (or (not (or (and (and x7 x8) (and x5 x3)) (not (and x6 x4)))) (not (not (and (not x6) (or x5 x0)))))) (or (not (not (not (or (not x7) (and x7 x5))))) (or (and (or (not (or x0 x3)) (not (and x0 x2))) (not (and (not x8) (not x7)))) (or (or (and (and x7 x5) (and x7 x5)) (or (or x4 x5) (not x4))) (and (or (or x4 x4) (and x8 x5)) (not (and x8 x3)))))))) (and (or (and (not (or (not (or (and x1 x6) (or x8 x3))) (not (not (not x8))))) (and (and (or (or (not x8) (and x2 x5)) (and (and x6 x4) (not x8))) (and (and (and x0 x7) (not x2)) (not (or x3 x6)))) (and (not (not (or x7 x8))) (not (not (or x0 x5)))))) (and (not (and (or (and (not x5) (and x4 x4)) (or (or x4 x1) (or x7 x7))) (and (and (and x3 x7) (not x7)) (or (not x2) (not x2))))) (not (not (or (not (or x7 x1)) (and (and x2 x8) (not x5))))))) (or (not (and (and (or (or (or x5 x5) (and x1 x5)) (not (and x4 x1))) (and (and (and x3 x0) (and x2 x5)) (not (or x6 x5)))) (or (or (and (or x8 x4) (not x3)) (and (not x6) (and x3 x7))) (and (and (not x0) (or x5 x5)) (or (not x5) (and x8 x1)))))) (and (or (not (and (and (not x6) (not x3)) (and (not x6) (or x5 x2)))) (not (or (or (or x8 x1) (and x8 x6)) (or (not x3) (or x8 x3))))) (not (or (and (and (and x2 x2) (not x5)) (not (and x8 x0))) (and (and (not x3) (not x1)) (and (and x2 x3) (not x6))))))))))
+(assert (or (or (and (and (not x7) (or x2 x6)) (or (and x3 x2) (and x8 x1))) (not (or (and x6 x5) (or x7 x1)))) (or (and (not (not x4)) (and (and x2 x5) (or x4 x1))) (not (not (or x7 x5))))))
+(assert (or (or (and (and (and (not (or (and x4 x7) (or x6 x2))) (and (or (and x2 x8) (or x2 x4)) (and (or x4 x2) (or x7 x7)))) (or (not (or (or x3 x2) (not x1))) (and (or (or x4 x8) (or x8 x1)) (and (not x6) (and x5 x1))))) (and (and (or (not (not x3)) (and (not x1) (and x1 x5))) (not (and (and x5 x4) (or x6 x7)))) (not (or (or (not x4) (and x2 x8)) (and (not x1) (or x3 x2)))))) (not (or (not (or (or (and x2 x4) (or x5 x6)) (not (not x8)))) (not (or (not (or x1 x5)) (not (or x4 x5))))))) (or (not (and (not (not (or (not x0) (and x7 x1)))) (and (or (and (or x0 x0) (or x5 x0)) (and (not x5) (or x5 x6))) (not (or (and x1 x5) (not x7)))))) (not (and (and (not (or (and x4 x8) (or x3 x8))) (not (or (or x6 x4) (not x5)))) (not (or (and (not x0) (not x2)) (or (or x4 x6) (or x0 x2)))))))))
+(assert (not (and (and (or x3 x2) (or x1 x8)) (and (and x5 x5) (not x8)))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (or (or (not (and (or (or (not (and (or x6 x3) (not x4))) (and (or (and x2 x3) (not x3)) (and (or x4 x1) (or x4 x3)))) (or (and (not (and x2 x5)) (and (and x2 x0) (and x5 x0))) (and (or (or x1 x4) (and x0 x0)) (or (and x1 x2) (not x5))))) (or (or (or (and (and x6 x5) (not x6)) (and (and x2 x3) (not x4))) (and (not (or x5 x0)) (or (and x1 x3) (and x1 x5)))) (and (not (or (and x0 x5) (and x2 x0))) (or (or (or x6 x2) (not x1)) (or (and x3 x6) (and x4 x2))))))) (and (not (or (or (not (not (or x4 x0))) (or (not (or x2 x4)) (and (not x2) (or x1 x3)))) (or (or (not (not x3)) (and (and x0 x4) (or x0 x0))) (not (and (not x0) (or x3 x2)))))) (or (or (or (or (and (not x3) (or x5 x6)) (and (or x6 x4) (or x5 x5))) (not (or (or x1 x2) (and x6 x4)))) (not (or (and (and x2 x4) (and x5 x2)) (and (not x5) (and x2 x1))))) (not (or (or (not (not x4)) (not (not x1))) (or (not (not x2)) (or (or x4 x6) (and x6 x1)))))))) (not (not (or (or (or (not (and (or x3 x2) (or x1 x4))) (and (or (and x3 x2) (and x4 x0)) (or (not x2) (and x2 x6)))) (and (not (and (and x3 x4) (not x1))) (or (not (and x3 x5)) (and (not x4) (or x5 x5))))) (not (or (or (or (or x6 x5) (or x1 x4)) (or (or x1 x4) (and x6 x0))) (not (not (not x6))))))))))
+(assert (or (and (or (and (or (and (not (and (and x5 x5) (not x6))) (not (not (not x3)))) (and (and (and (and x5 x0) (and x4 x3)) (not (and x2 x1))) (not (or (and x1 x3) (and x0 x6))))) (not (and (not (and (or x4 x1) (not x0))) (and (not (or x3 x3)) (or (or x4 x4) (not x3)))))) (or (or (not (or (and (or x3 x2) (or x3 x1)) (not (and x6 x4)))) (not (and (not (or x1 x6)) (or (not x2) (or x1 x6))))) (and (not (or (and (not x3) (and x1 x4)) (and (or x4 x1) (and x6 x6)))) (not (or (and (or x2 x2) (or x3 x1)) (or (not x2) (and x3 x1))))))) (and (not (and (not (not (or (and x6 x1) (and x1 x6)))) (or (or (and (or x5 x6) (not x5)) (or (and x5 x2) (not x5))) (and (or (and x1 x0) (or x6 x3)) (or (and x0 x5) (and x1 x3)))))) (or (and (not (or (not (or x3 x5)) (or (and x4 x2) (not x5)))) (and (not (or (not x6) (and x5 x4))) (and (or (not x3) (or x6 x3)) (not (and x1 x2))))) (and (not (and (not (or x5 x0)) (not (and x1 x3)))) (not (or (and (not x3) (or x0 x6)) (not (or x5 x3)))))))) (and (not (not (and (not (and (or (and x2 x3) (or x5 x6)) (and (not x0) (or x4 x1)))) (or (not (and (and x0 x4) (or x6 x4))) (and (not (or x3 x5)) (or (and x2 x1) (and x6 x3))))))) (not (not (not (or (and (not (or x1 x0)) (or (and x4 x1) (not x4))) (and (not (not x2)) (and (not x2) (and x3 x3))))))))))
+(check-sat)
+(push 1)
+(assert (or (not (not (not x6))) (and (or (and x1 x1) (not x2)) (and (or x4 x3) (not x1)))))
+(assert (not (and (and x0 x3) (or x3 x4))))
+(assert (or (and x5 x3) (not x4)))
+(assert (or (or (or (not (not (or (or (and x3 x2) (and x1 x2)) (and (or x5 x5) (not x6))))) (not (and (and (and (not x6) (or x1 x0)) (or (or x3 x3) (or x3 x3))) (and (or (and x0 x4) (not x3)) (or (not x1) (and x0 x6)))))) (and (and (or (or (not (and x6 x5)) (and (not x5) (or x6 x2))) (not (and (and x6 x2) (not x3)))) (not (or (or (not x5) (not x4)) (or (and x3 x6) (or x6 x1))))) (or (or (not (and (not x6) (or x1 x6))) (and (or (not x3) (and x1 x0)) (not (not x6)))) (not (not (not (not x2))))))) (not (and (and (or (not (not (not x2))) (or (and (not x3) (and x3 x4)) (not (and x1 x3)))) (or (or (and (not x0) (or x0 x0)) (or (not x3) (and x1 x0))) (not (not (and x5 x6))))) (and (and (and (not (not x2)) (not (or x6 x3))) (or (and (not x1) (not x1)) (and (and x1 x5) (and x2 x6)))) (not (not (and (not x1) (or x4 x5)))))))))
+(assert (or (and (not (not (not (or (and (or (or x3 x5) (not x3)) (not (or x0 x5))) (or (or (not x3) (or x0 x2)) (or (not x3) (not x4))))))) (not (or (not (and (or (and (or x5 x1) (and x5 x2)) (not (not x5))) (not (or (not x1) (and x6 x6))))) (and (or (and (or (or x3 x1) (or x5 x4)) (and (not x2) (and x1 x2))) (and (or (and x0 x2) (and x6 x6)) (and (and x3 x4) (not x2)))) (or (and (not (not x2)) (and (not x3) (and x1 x5))) (and (not (or x1 x1)) (or (and x2 x5) (not x2)))))))) (and (or (not (not (not (and (and (not x4) (not x0)) (and (and x0 x3) (and x1 x0)))))) (and (or (not (and (and (or x2 x3) (not x2)) (or (not x2) (and x5 x4)))) (not (not (not (and x1 x4))))) (or (and (or (not (or x0 x4)) (and (not x4) (not x2))) (not (and (and x5 x0) (or x5 x1)))) (not (and (and (or x2 x4) (not x0)) (not (not x2))))))) (and (or (not (or (or (or (not x6) (not x1)) (not (or x6 x4))) (and (and (not x6) (not x4)) (not (and x3 x6))))) (not (not (not (not (not x1)))))) (not (or (or (and (not (and x4 x0)) (and (not x6) (or x4 x5))) (not (and (not x6) (or x5 x1)))) (or (and (or (or x1 x2) (or x5 x5)) (not (not x1))) (or (and (and x6 x6) (not x4)) (or (or x2 x0) (and x3 x0))))))))))
+(check-sat)
+(pop 1)
+(assert (or (and (not (and x2 x5)) (and (or x3 x4) (or x0 x3))) (or (or (not x1) (and x3 x3)) (not (or x5 x1)))))
+(check-sat)
+(push 1)
+(assert (not (not (not (or (or x2 x3) (and x2 x1))))))
+(assert (not (and (not (and (or (or x4 x4) (or x1 x5)) (or (and x1 x1) (or x4 x3)))) (or (or (and (not x6) (not x6)) (and (not x1) (or x3 x6))) (not (not (and x4 x0)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and (and (not (not (and (or (and x6 x6) (and x4 x4)) (or (or x2 x1) (or x0 x2))))) (and (and (not (or (and x0 x5) (or x2 x4))) (not (or (not x1) (not x1)))) (or (and (and (not x1) (not x3)) (not (or x4 x6))) (or (or (or x2 x6) (or x3 x4)) (and (and x3 x3) (or x0 x1)))))) (or (not (not (or (not (not x4)) (and (or x6 x0) (or x2 x0))))) (or (not (and (and (and x1 x3) (not x4)) (not (and x0 x1)))) (or (and (or (or x6 x4) (or x0 x6)) (or (or x6 x4) (not x4))) (and (not (or x5 x3)) (and (or x2 x2) (not x5))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (or (and (or (not (or (or (or (or x1 x4) (and x3 x2)) (or (or x5 x1) (or x6 x2))) (or (not (and x3 x5)) (or (and x0 x1) (not x6))))) (and (and (and (or (and x3 x3) (or x2 x5)) (not (and x0 x4))) (not (not (not x4)))) (or (and (or (or x2 x1) (and x2 x2)) (not (or x1 x4))) (not (and (not x1) (and x0 x2)))))) (not (or (not (and (and (not x1) (and x3 x4)) (and (not x6) (or x6 x1)))) (not (not (and (or x2 x2) (and x4 x6))))))) (not (or (and (and (not (and (or x6 x5) (and x5 x2))) (not (or (not x4) (or x6 x1)))) (or (or (and (not x0) (not x4)) (or (and x4 x5) (not x4))) (or (and (or x6 x1) (and x3 x6)) (or (not x6) (or x4 x1))))) (not (or (and (and (or x2 x6) (not x3)) (or (or x3 x6) (or x1 x4))) (not (and (not x5) (not x0)))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(assert (or (or (not (not x7)) (or (or x2 x5) (or x8 x5))) (and (or (and x7 x8) (not x3)) (and (or x5 x7) (or x5 x1)))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (not x3) (or x4 x0)) (not (not x1))) (and (not (not x1)) (and (or x6 x8) (and x0 x8)))))
+(assert (and (not (and x7 x6)) (not (and x7 x8))))
+(assert (or x6 x3))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (not (not (not (or x1 x2)))))
+(check-sat)
+(pop 1)
+(assert (or (or (and (not (not (or x8 x7))) (and (and (and x3 x8) (and x6 x0)) (not (and x1 x7)))) (or (or (not (not x4)) (or (and x0 x0) (and x6 x7))) (not (not (or x7 x5))))) (not (or (not (and (not x6) (not x1))) (or (or (and x3 x1) (not x6)) (or (and x5 x4) (not x4)))))))
+(check-sat)
+(push 1)
+(assert (and (not x2) (not x5)))
+(check-sat)
+(push 1)
+(assert (or (or (not (not (not (or (or (or x1 x5) (not x7)) (or (not x1) (or x4 x4)))))) (or (not (and (or (or (not x0) (or x8 x4)) (and (not x4) (or x5 x3))) (not (not (not x6))))) (not (or (and (or (or x4 x8) (not x8)) (and (or x8 x8) (or x6 x0))) (not (and (and x4 x0) (or x7 x5))))))) (or (not (or (and (and (not (and x1 x1)) (or (not x8) (not x5))) (and (not (and x0 x2)) (or (or x8 x4) (or x4 x6)))) (not (not (or (and x1 x7) (or x7 x0)))))) (not (not (and (and (and (or x4 x3) (or x0 x8)) (not (and x8 x7))) (or (or (not x1) (and x0 x5)) (and (or x8 x3) (and x4 x6)))))))))
+(assert (or (and (and (not (not (and (or (not (and x3 x8)) (and (or x8 x0) (or x3 x5))) (not (or (or x7 x1) (and x6 x4)))))) (or (not (or (not (and (or x3 x8) (and x2 x1))) (and (not (or x6 x2)) (not (or x8 x6))))) (or (or (or (not (or x3 x6)) (not (not x1))) (or (or (and x4 x6) (or x6 x1)) (or (and x3 x3) (not x4)))) (or (or (and (or x0 x3) (or x6 x1)) (or (or x2 x5) (and x2 x4))) (or (not (not x1)) (not (or x5 x8))))))) (not (or (or (not (and (or (and x1 x4) (not x6)) (not (or x0 x7)))) (not (not (and (not x5) (or x4 x7))))) (or (and (and (not (or x8 x5)) (not (and x3 x6))) (and (and (not x1) (not x6)) (or (or x8 x8) (and x6 x1)))) (and (or (and (or x6 x5) (and x4 x6)) (or (or x1 x0) (or x1 x5))) (or (or (not x4) (not x3)) (not (or x1 x8)))))))) (not (or (and (and (not (or (not (or x3 x6)) (or (or x1 x1) (and x2 x0)))) (not (and (not (not x7)) (not (and x3 x4))))) (not (or (not (and (not x8) (not x5))) (and (or (not x6) (and x4 x3)) (not (not x2)))))) (and (or (not (not (or (or x1 x6) (not x5)))) (not (or (and (not x0) (and x1 x6)) (and (or x0 x5) (and x3 x0))))) (or (not (and (not (and x3 x7)) (and (or x0 x5) (and x1 x0)))) (and (or (not (not x3)) (and (or x7 x3) (or x8 x1))) (not (not (not x5))))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(check-sat)
+(push 1)
+(assert (or (and x1 x2) (and x1 x2)))
+(assert (or (and (or (and (and (and (and (and (not (or x1 x2)) (not (and x0 x2))) (or (and (and x1 x2) (not x2)) (or (or x1 x2) (not x1)))) (or (or (not (not x1)) (or (and x0 x2) (or x2 x2))) (and (not (or x0 x0)) (not (and x1 x1))))) (not (not (and (not (not x2)) (and (or x1 x0) (and x0 x2)))))) (and (and (or (not (not (or x0 x2))) (not (or (not x2) (or x2 x0)))) (not (not (not (not x1))))) (or (not (and (not (and x1 x0)) (not (and x0 x1)))) (not (or (not (or x2 x2)) (or (not x2) (and x1 x0))))))) (not (not (or (not (not (or (and x0 x0) (and x1 x2)))) (not (and (or (and x2 x2) (or x2 x2)) (or (not x2) (or x1 x1)))))))) (or (not (and (or (not (or (and (and x0 x1) (or x0 x1)) (and (not x1) (and x1 x2)))) (or (and (not (and x1 x1)) (not (or x0 x2))) (not (not (not x2))))) (or (and (not (and (not x1) (and x2 x1))) (not (and (or x2 x1) (not x0)))) (or (or (not (or x1 x1)) (and (or x1 x2) (or x2 x1))) (or (and (or x1 x0) (and x2 x2)) (and (and x1 x0) (not x1))))))) (or (or (and (and (and (and (and x2 x0) (not x0)) (and (and x0 x1) (or x0 x2))) (not (or (and x1 x2) (or x1 x1)))) (and (or (not (not x1)) (not (or x1 x1))) (or (not (or x2 x0)) (not (and x2 x2))))) (and (and (or (not (and x1 x0)) (not (or x1 x0))) (and (not (not x1)) (and (not x1) (not x0)))) (not (or (and (not x1) (or x0 x1)) (and (or x0 x1) (not x2)))))) (and (or (or (not (or (and x0 x1) (not x0))) (not (and (not x1) (or x1 x2)))) (not (not (or (and x0 x1) (not x2))))) (or (or (or (not (not x2)) (and (or x0 x1) (and x1 x2))) (or (not (not x0)) (or (not x1) (and x1 x1)))) (or (and (and (not x2) (or x2 x2)) (not (not x0))) (and (not (or x0 x0)) (not (not x2))))))))) (and (and (or (or (not (or (and (not (and x2 x2)) (or (not x0) (or x0 x0))) (or (not (or x0 x0)) (and (not x2) (not x0))))) (or (and (or (or (or x2 x0) (and x2 x1)) (or (not x0) (not x1))) (and (or (not x1) (or x0 x2)) (or (or x0 x0) (not x0)))) (and (not (or (not x0) (and x2 x1))) (not (or (or x1 x1) (and x1 x1)))))) (and (not (not (and (not (and x2 x0)) (not (and x1 x2))))) (not (and (or (and (and x0 x0) (not x0)) (or (not x0) (or x2 x1))) (and (and (or x0 x2) (or x0 x2)) (and (or x1 x2) (not x0))))))) (and (not (or (or (not (and (and x0 x2) (and x0 x0))) (or (or (and x0 x0) (or x1 x1)) (or (and x2 x2) (or x0 x0)))) (or (or (not (or x2 x1)) (or (not x0) (or x1 x1))) (or (or (not x0) (and x0 x1)) (not (and x2 x1)))))) (not (or (not (or (or (or x0 x0) (or x2 x0)) (and (and x1 x0) (and x2 x0)))) (or (and (or (or x1 x1) (not x2)) (and (and x2 x0) (not x1))) (and (not (not x0)) (or (and x1 x1) (or x2 x2)))))))) (and (and (or (or (not (or (and (and x1 x1) (or x0 x2)) (not (and x0 x1)))) (not (or (and (and x0 x0) (and x1 x1)) (and (or x2 x0) (or x1 x2))))) (and (not (and (and (or x0 x0) (not x0)) (and (and x1 x2) (not x2)))) (and (or (and (or x1 x0) (or x0 x1)) (and (or x1 x2) (or x0 x1))) (and (not (and x0 x2)) (and (and x2 x0) (not x0)))))) (and (not (or (and (and (and x0 x1) (not x0)) (and (not x2) (not x2))) (and (and (and x2 x1) (not x1)) (not (or x2 x1))))) (not (and (and (and (not x0) (and x0 x2)) (not (and x2 x1))) (not (or (or x2 x0) (or x0 x2))))))) (not (and (not (or (or (and (or x2 x0) (or x1 x1)) (not (and x2 x0))) (not (not (not x0))))) (and (not (and (and (not x1) (and x2 x2)) (and (not x2) (not x1)))) (or (or (or (and x0 x0) (not x2)) (or (and x1 x2) (and x0 x2))) (or (or (and x2 x2) (or x2 x2)) (and (not x1) (or x1 x1)))))))))))
+(assert (and x1 x2))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (and (or (and (not x2) (or x0 x1)) (or (not x1) (not x2))) (or (or (not x2) (or x0 x2)) (and (not x1) (or x1 x2))))))
+(assert (not (and (and x1 x2) (or x1 x1))))
+(assert (or (not (not x2)) (not (and x0 x2))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(assert (and (or (not (not (and x0 x4))) (and (not (not x2)) (not (not x4)))) (not (or (not (or x2 x5)) (and (not x4) (not x1))))))
+(assert (and (and (not (and (and (not (and (and (and x5 x0) (not x4)) (or (and x0 x0) (or x0 x0)))) (or (or (not (or x5 x2)) (or (not x3) (or x4 x2))) (not (and (and x1 x0) (not x0))))) (and (not (or (and (or x1 x3) (and x1 x0)) (and (and x2 x0) (and x2 x3)))) (not (not (or (not x5) (not x5))))))) (or (or (or (and (or (and (not x2) (or x1 x0)) (not (not x1))) (and (and (and x4 x3) (or x4 x3)) (and (not x5) (or x0 x2)))) (and (not (not (not x2))) (or (or (or x2 x1) (or x3 x2)) (and (or x2 x2) (and x4 x2))))) (not (or (or (and (or x1 x5) (or x3 x5)) (not (not x5))) (not (and (not x3) (not x3)))))) (not (or (and (or (or (or x4 x4) (or x0 x2)) (not (or x0 x4))) (or (or (or x2 x1) (or x1 x4)) (or (or x4 x4) (or x1 x5)))) (and (not (or (or x3 x4) (or x2 x0))) (not (not (or x2 x3)))))))) (and (or (or (not (not (not (and (not x2) (or x1 x2))))) (and (not (or (and (and x5 x3) (not x3)) (or (and x4 x0) (not x0)))) (not (not (and (and x0 x5) (and x3 x1)))))) (not (and (not (and (not (or x1 x3)) (not (or x1 x5)))) (not (not (not (or x1 x1))))))) (not (and (or (or (not (not (not x0))) (and (not (not x1)) (or (not x0) (or x4 x3)))) (or (and (or (and x4 x0) (and x1 x2)) (or (not x1) (not x5))) (or (or (or x3 x0) (or x3 x4)) (or (or x3 x4) (and x1 x2))))) (not (and (not (or (not x3) (not x3))) (and (and (or x5 x1) (not x2)) (or (or x5 x4) (or x0 x5))))))))))
+(check-sat)
+(push 1)
+(assert (and x0 x1))
+(check-sat)
+(push 1)
+(assert (and (or (and (and (or (or (not (or x4 x3)) (or (or x1 x0) (or x5 x3))) (and (or (not x0) (not x5)) (or (and x5 x0) (and x5 x0)))) (not (and (and (and x0 x1) (not x2)) (not (or x3 x3))))) (and (not (and (not (and x3 x1)) (not (not x1)))) (not (and (or (or x1 x0) (or x4 x4)) (or (not x5) (and x3 x4)))))) (or (not (or (not (or (and x3 x2) (or x0 x2))) (or (not (and x0 x0)) (and (not x4) (not x3))))) (not (or (and (and (or x5 x3) (and x2 x5)) (not (or x4 x4))) (or (not (not x1)) (or (or x3 x4) (not x5))))))) (not (and (and (not (not (or (not x0) (or x1 x4)))) (and (or (or (not x1) (not x5)) (not (or x2 x3))) (and (and (and x5 x3) (not x2)) (not (not x5))))) (or (or (and (and (and x0 x4) (not x5)) (not (or x0 x0))) (or (not (or x0 x4)) (and (not x1) (or x2 x0)))) (and (not (or (or x4 x2) (or x3 x3))) (and (and (and x5 x3) (and x4 x3)) (and (not x4) (not x1)))))))))
+(check-sat)
+(pop 1)
+(assert (not (not (not (and (or (or (and (or x4 x3) (and x1 x4)) (and (or x3 x0) (not x0))) (and (and (or x1 x4) (and x3 x5)) (or (or x1 x5) (and x0 x1)))) (or (and (not (not x5)) (or (or x0 x2) (and x5 x0))) (and (or (not x2) (not x4)) (or (and x2 x5) (not x0)))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(assert (and (not (and (or (and (and (or (or (or x0 x1) (and x0 x0)) (or (not x0) (and x0 x1))) (or (not (or x0 x0)) (not (and x0 x0)))) (not (or (not (not x0)) (not (and x0 x1))))) (and (or (and (and (not x1) (or x1 x0)) (not (and x0 x1))) (not (not (or x1 x0)))) (not (not (and (or x0 x1) (not x0)))))) (and (not (or (and (and (not x1) (not x0)) (and (and x0 x1) (and x1 x1))) (and (not (and x0 x0)) (not (or x0 x0))))) (and (or (or (and (or x1 x1) (and x0 x1)) (not (or x0 x0))) (and (or (or x1 x1) (or x0 x0)) (and (or x1 x1) (and x0 x1)))) (not (or (and (not x0) (or x0 x1)) (or (and x0 x0) (or x0 x1)))))))) (or (not (and (and (and (not (and (not x0) (not x0))) (and (and (or x0 x1) (not x0)) (or (not x0) (or x0 x0)))) (and (and (and (not x0) (and x0 x1)) (and (not x0) (not x1))) (and (not (not x0)) (and (and x1 x1) (not x0))))) (or (not (not (not (not x0)))) (not (and (and (or x0 x1) (or x1 x1)) (or (or x1 x1) (or x0 x1))))))) (or (and (not (and (or (not (not x0)) (or (or x0 x1) (or x1 x0))) (or (and (not x1) (and x0 x1)) (or (not x1) (and x1 x0))))) (and (not (and (not (not x0)) (and (not x1) (and x1 x0)))) (not (not (and (or x0 x1) (or x0 x1)))))) (and (or (and (and (and (or x1 x0) (and x1 x0)) (and (not x1) (or x1 x1))) (or (and (and x1 x0) (not x1)) (and (not x1) (or x1 x1)))) (or (and (or (not x1) (not x1)) (and (or x0 x0) (not x0))) (not (and (not x0) (and x0 x1))))) (and (and (or (and (not x1) (or x0 x1)) (and (not x1) (or x1 x1))) (and (and (and x1 x1) (or x1 x0)) (and (not x0) (or x1 x1)))) (or (and (or (and x1 x0) (or x1 x1)) (or (or x1 x1) (and x1 x0))) (not (and (and x0 x1) (not x1))))))))))
+(assert (not (not (or (or (or (or (or (and x0 x0) (and x1 x0)) (or (and x1 x1) (and x0 x0))) (or (not (and x1 x1)) (and (or x1 x0) (or x0 x0)))) (and (and (or (and x1 x0) (or x1 x0)) (and (or x0 x1) (or x0 x0))) (and (not (not x0)) (and (and x1 x1) (or x1 x0))))) (and (not (not (and (or x0 x0) (and x1 x0)))) (not (or (or (and x1 x0) (or x0 x0)) (or (not x1) (and x1 x0)))))))))
+(check-sat)
+(push 1)
+(assert (or (or (or (not (not (or x1 x1))) (not (not (and x0 x1)))) (and (not (not (not x0))) (not (and (not x0) (and x0 x1))))) (not (or (and (not (not x1)) (and (not x0) (or x1 x0))) (not (and (not x1) (and x1 x0)))))))
+(assert (or x0 x0))
+(assert (and (not (and (or (or x0 x0) (and x1 x1)) (and (or x1 x0) (or x0 x1)))) (and (or (not (or x1 x1)) (not (not x0))) (or (or (and x1 x1) (not x1)) (not (or x0 x0))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (or (or (not (not (and (and x3 x0) (not x2)))) (and (not (not (and x1 x6))) (and (and (or x1 x4) (or x0 x3)) (or (or x0 x4) (or x3 x3))))) (and (and (not (not (or x5 x3))) (or (or (and x5 x1) (not x4)) (and (or x4 x3) (and x4 x5)))) (not (or (not (not x6)) (or (not x0) (not x6)))))))
+(check-sat)
+(push 1)
+(assert (not (not (or (not (not (and (and x6 x1) (or x2 x1)))) (and (or (not (or x1 x0)) (or (not x1) (or x3 x6))) (or (not (and x3 x1)) (not (not x1))))))))
+(assert (or (not (not (or x4 x3))) (or (not (and x4 x4)) (not (or x3 x5)))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (not (or (not (not (and (and (not (not (not x5))) (and (not (and x5 x4)) (not (or x1 x0)))) (not (and (or (or x2 x4) (not x4)) (or (and x3 x6) (and x6 x2))))))) (and (and (not (and (or (not (or x1 x2)) (not (or x6 x1))) (or (and (not x3) (or x3 x5)) (or (and x4 x4) (and x6 x6))))) (not (and (not (or (or x3 x2) (not x2))) (not (or (not x2) (not x6)))))) (or (not (or (not (not (or x4 x3))) (and (and (and x2 x6) (or x6 x5)) (or (or x1 x3) (and x2 x3))))) (or (and (and (or (and x6 x0) (and x5 x1)) (not (not x1))) (or (or (and x0 x2) (not x0)) (not (or x0 x5)))) (and (not (and (not x2) (not x2))) (not (or (not x3) (not x5))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (or (and (and (and (and (or (not (not (and (not x1) (not x2)))) (not (and (not (and x0 x4)) (and (not x3) (or x5 x1))))) (or (or (and (or (and x3 x6) (and x3 x1)) (not (or x1 x4))) (and (or (not x5) (not x0)) (not (not x3)))) (or (and (and (or x6 x5) (and x5 x5)) (or (and x1 x6) (and x5 x6))) (or (and (or x5 x6) (or x5 x4)) (not (or x2 x0)))))) (or (and (and (and (or (or x4 x2) (or x5 x1)) (and (or x5 x0) (and x5 x5))) (not (and (not x5) (or x3 x1)))) (not (and (and (or x5 x1) (and x0 x2)) (not (and x6 x3))))) (and (not (or (not (or x2 x2)) (and (or x0 x2) (not x0)))) (not (or (not (not x3)) (not (and x4 x6))))))) (or (not (or (or (or (or (not x3) (or x0 x3)) (not (and x0 x6))) (or (and (or x2 x4) (or x2 x6)) (and (or x3 x0) (not x6)))) (and (or (and (or x1 x4) (not x3)) (and (not x2) (not x0))) (not (or (not x5) (not x2)))))) (not (or (not (or (or (and x3 x2) (or x3 x6)) (and (and x1 x2) (or x1 x6)))) (not (and (or (not x4) (not x2)) (not (and x0 x0)))))))) (or (not (and (or (not (and (and (or x3 x4) (and x4 x1)) (not (not x1)))) (not (not (not (or x0 x2))))) (and (not (or (and (or x6 x2) (not x5)) (and (and x6 x6) (or x6 x6)))) (and (and (or (or x2 x2) (or x2 x1)) (or (not x1) (and x4 x1))) (or (or (not x4) (and x5 x6)) (or (not x0) (not x2))))))) (not (not (not (or (not (and (or x0 x5) (and x4 x0))) (not (not (and x3 x3))))))))) (or (and (not (not (or (and (or (not (and x3 x2)) (not (and x2 x3))) (not (or (not x2) (and x4 x0)))) (or (and (and (not x3) (and x6 x5)) (or (and x3 x3) (or x5 x0))) (not (or (or x4 x5) (or x2 x1))))))) (or (or (or (not (not (not (or x4 x4)))) (and (not (or (or x0 x4) (and x1 x3))) (and (not (and x5 x4)) (or (not x5) (not x5))))) (or (or (not (or (and x3 x6) (and x6 x1))) (not (or (and x5 x1) (not x5)))) (and (or (or (not x4) (not x4)) (and (and x2 x2) (or x4 x0))) (and (not (or x5 x2)) (or (not x5) (or x3 x5)))))) (not (and (not (and (and (not x0) (not x3)) (not (or x2 x2)))) (and (or (or (and x4 x6) (not x1)) (and (not x4) (or x3 x6))) (or (and (or x0 x1) (and x1 x4)) (or (and x4 x2) (and x2 x0)))))))) (and (or (or (not (and (or (or (or x2 x2) (not x1)) (and (or x4 x3) (or x1 x3))) (or (or (or x4 x0) (not x2)) (or (and x1 x3) (or x2 x5))))) (and (or (and (and (and x3 x3) (and x3 x4)) (not (and x6 x3))) (not (or (or x6 x1) (or x1 x6)))) (or (or (or (not x2) (not x0)) (or (and x6 x6) (not x6))) (not (not (not x0)))))) (and (not (or (or (and (and x1 x1) (and x6 x2)) (or (not x2) (and x2 x2))) (and (not (or x0 x5)) (and (not x4) (not x4))))) (or (not (and (and (or x0 x3) (and x2 x6)) (not (not x0)))) (not (or (not (and x3 x3)) (or (not x5) (and x1 x6))))))) (not (or (or (and (not (not (not x4))) (and (and (not x3) (and x4 x3)) (not (or x4 x2)))) (or (not (or (and x2 x6) (or x5 x2))) (and (not (or x6 x6)) (not (not x0))))) (and (not (and (or (or x4 x3) (and x1 x4)) (and (or x1 x6) (or x0 x1)))) (or (or (and (or x5 x1) (not x3)) (or (not x0) (or x1 x5))) (or (and (or x3 x6) (not x0)) (or (not x2) (or x2 x4)))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (or (and (not (not x0)) (and (and x0 x1) (or x2 x1))) (not (and (not x4) (or x6 x0)))))
+(assert (not (not (and (or (or (and (and (or x4 x6) (or x3 x1)) (not (and x4 x5))) (or (not (not x3)) (and (not x6) (and x3 x6)))) (and (and (not (not x0)) (not (and x5 x5))) (or (not (or x1 x0)) (and (and x2 x3) (not x6))))) (or (and (and (not (or x0 x2)) (and (not x4) (or x3 x1))) (not (or (not x6) (and x4 x4)))) (not (not (not (and x6 x2)))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(assert (and (and (or (and (or (or (or (or (and (and x1 x4) (or x0 x0)) (or (not x3) (or x1 x4))) (not (not (and x6 x0)))) (or (and (and (or x1 x4) (not x4)) (or (not x1) (or x1 x0))) (and (or (not x6) (and x5 x2)) (and (not x2) (not x1))))) (or (and (not (and (and x2 x2) (not x3))) (not (or (or x4 x2) (not x5)))) (not (not (or (or x1 x1) (and x0 x4)))))) (or (or (or (and (not (and x1 x6)) (and (and x6 x2) (and x3 x3))) (not (not (or x5 x4)))) (or (or (not (or x6 x4)) (or (not x0) (not x4))) (not (or (and x4 x4) (not x3))))) (or (or (not (not (or x3 x2))) (or (or (and x6 x0) (not x2)) (and (not x5) (or x6 x0)))) (or (not (and (and x2 x3) (not x6))) (or (not (and x0 x4)) (or (or x3 x6) (not x1))))))) (not (and (or (and (and (or (not x2) (or x0 x6)) (not (and x5 x4))) (not (not (not x1)))) (not (or (or (or x5 x0) (not x4)) (not (not x4))))) (and (and (or (not (not x0)) (not (or x0 x3))) (or (and (or x1 x4) (and x3 x5)) (not (not x1)))) (not (or (not (and x4 x2)) (and (and x0 x2) (not x2)))))))) (and (and (or (and (or (or (and (not x4) (or x6 x3)) (not (not x5))) (and (and (and x2 x0) (or x2 x2)) (not (and x0 x0)))) (or (not (or (and x3 x4) (and x4 x0))) (or (not (not x0)) (not (not x3))))) (not (and (and (or (and x0 x2) (or x4 x4)) (and (and x4 x6) (not x0))) (or (not (or x0 x3)) (or (not x1) (or x3 x1)))))) (not (not (not (not (not (not x0))))))) (and (or (or (not (and (not (or x6 x3)) (not (and x4 x0)))) (not (and (and (not x4) (and x1 x3)) (not (not x5))))) (not (not (or (or (not x4) (not x1)) (or (not x3) (not x4)))))) (and (or (and (and (not (and x4 x5)) (or (and x0 x5) (or x6 x1))) (and (and (and x0 x1) (not x1)) (or (not x5) (and x5 x2)))) (not (or (or (and x4 x4) (or x5 x4)) (not (or x0 x4))))) (not (and (not (and (or x3 x6) (and x1 x1))) (or (or (or x1 x6) (or x6 x0)) (or (or x6 x0) (not x2))))))))) (or (and (and (or (and (or (not (not (not x1))) (and (not (or x6 x0)) (and (not x1) (not x1)))) (or (or (not (or x2 x6)) (and (or x4 x1) (or x0 x1))) (or (and (and x0 x6) (or x6 x0)) (or (and x2 x3) (or x4 x1))))) (or (not (and (not (or x2 x3)) (not (or x2 x4)))) (or (not (not (not x2))) (not (or (or x1 x4) (and x6 x2)))))) (not (or (or (not (and (or x3 x1) (or x4 x5))) (not (or (or x6 x5) (and x1 x6)))) (and (and (or (or x4 x4) (and x6 x6)) (and (and x2 x5) (not x5))) (or (or (not x2) (and x5 x6)) (or (not x3) (and x5 x6))))))) (or (and (or (not (or (and (or x5 x6) (and x2 x5)) (or (and x5 x3) (or x1 x2)))) (and (or (and (or x1 x2) (or x6 x5)) (and (not x5) (not x2))) (not (and (not x5) (not x0))))) (or (and (and (and (not x5) (and x5 x0)) (or (or x6 x6) (not x2))) (and (not (or x6 x1)) (not (and x6 x4)))) (or (not (and (not x4) (and x5 x6))) (or (or (or x1 x2) (not x5)) (not (or x3 x5)))))) (not (and (not (and (and (not x4) (or x4 x6)) (not (not x1)))) (not (and (or (or x0 x4) (not x4)) (and (or x5 x2) (not x1)))))))) (or (not (not (not (not (or (and (or x1 x4) (or x1 x2)) (not (not x1))))))) (and (not (not (and (or (or (and x0 x2) (not x4)) (or (or x5 x0) (or x6 x3))) (or (or (or x1 x3) (not x5)) (and (not x5) (and x4 x0)))))) (or (not (not (and (or (or x4 x4) (and x1 x6)) (not (not x2))))) (not (or (not (and (or x4 x0) (and x5 x1))) (and (and (and x3 x0) (not x1)) (and (and x6 x0) (not x1)))))))))))
+(assert (or (or (and (not (not (and (not x3) (or x3 x3)))) (or (or (not (or x1 x6)) (and (and x2 x6) (or x1 x0))) (or (not (and x5 x0)) (or (or x6 x0) (not x0))))) (or (or (not (and (and x5 x4) (not x5))) (or (or (or x4 x1) (and x4 x0)) (or (not x0) (or x5 x6)))) (not (or (or (or x3 x1) (or x3 x6)) (or (or x1 x5) (or x5 x6)))))) (or (not (or (or (and (not x2) (and x0 x0)) (or (or x2 x6) (and x5 x5))) (or (or (not x6) (and x2 x3)) (not (and x4 x4))))) (and (and (or (not (and x3 x5)) (or (and x6 x4) (and x6 x6))) (not (or (not x6) (and x1 x2)))) (not (not (and (and x0 x4) (and x1 x0))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (not (and x6 x6))))
+(check-sat)
+(pop 1)
+(assert (not (or (or (or x6 x6) (or x1 x5)) (and (not x2) (and x2 x3)))))
+(check-sat)
+(push 1)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(assert (not (not (or x0 x0))))
+(check-sat)
+(push 1)
+(assert (not (and (not (not (not (or (or x0 x0) (not x0))))) (not (not (and (and (or x0 x0) (and x0 x0)) (or (or x0 x0) (not x0))))))))
+(assert (or (not (not (not (and (not (not (or x0 x0))) (not (or (not x0) (not x0))))))) (and (not (or (or (and (and (and x0 x0) (or x0 x0)) (not (not x0))) (or (not (not x0)) (and (not x0) (and x0 x0)))) (or (not (or (not x0) (not x0))) (or (or (and x0 x0) (or x0 x0)) (and (and x0 x0) (and x0 x0)))))) (and (and (or (not (and (not x0) (and x0 x0))) (and (not (not x0)) (not (or x0 x0)))) (not (or (or (or x0 x0) (and x0 x0)) (not (not x0))))) (not (and (or (not (and x0 x0)) (or (or x0 x0) (or x0 x0))) (not (and (and x0 x0) (and x0 x0)))))))))
+(assert (or (or (not (or (or x0 x0) (or x0 x0))) (or (or (and x0 x0) (or x0 x0)) (or (or x0 x0) (and x0 x0)))) (or (or (not (or x0 x0)) (or (or x0 x0) (not x0))) (or (not (and x0 x0)) (and (or x0 x0) (or x0 x0))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(check-sat)
+(push 1)
+(assert (not (and (or (and (and (or x0 x0) (or x0 x0)) (or (not x0) (and x0 x0))) (and (or (or x0 x0) (not x0)) (not (and x0 x0)))) (or (or (or (not x0) (or x0 x0)) (and (or x0 x0) (and x0 x0))) (or (or (not x0) (or x0 x0)) (not (or x0 x0)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (or (and (and (not (and (or (or (or (not (not x0)) (not (and x0 x0))) (or (not (and x0 x0)) (and (and x0 x0) (and x0 x0)))) (not (not (or (or x0 x0) (or x0 x0))))) (or (not (or (or (not x0) (not x0)) (not (or x0 x0)))) (not (not (and (and x0 x0) (and x0 x0))))))) (or (or (not (or (and (or (and x0 x0) (and x0 x0)) (not (or x0 x0))) (not (and (or x0 x0) (or x0 x0))))) (or (not (not (and (and x0 x0) (and x0 x0)))) (not (not (and (or x0 x0) (not x0)))))) (not (not (and (and (or (and x0 x0) (or x0 x0)) (and (or x0 x0) (not x0))) (not (not (or x0 x0)))))))) (and (or (or (or (and (and (not (and x0 x0)) (and (and x0 x0) (or x0 x0))) (or (and (not x0) (and x0 x0)) (and (not x0) (or x0 x0)))) (and (or (and (and x0 x0) (or x0 x0)) (or (or x0 x0) (and x0 x0))) (or (and (or x0 x0) (and x0 x0)) (or (and x0 x0) (not x0))))) (or (and (and (or (not x0) (not x0)) (and (not x0) (not x0))) (or (or (not x0) (and x0 x0)) (or (or x0 x0) (and x0 x0)))) (not (and (not (or x0 x0)) (not (not x0)))))) (or (not (not (or (not (or x0 x0)) (and (and x0 x0) (or x0 x0))))) (and (or (not (or (not x0) (or x0 x0))) (or (or (not x0) (or x0 x0)) (or (not x0) (or x0 x0)))) (and (not (or (not x0) (not x0))) (not (and (not x0) (or x0 x0))))))) (or (or (and (or (and (and (not x0) (and x0 x0)) (not (and x0 x0))) (not (not (not x0)))) (and (and (or (and x0 x0) (not x0)) (and (or x0 x0) (not x0))) (or (not (and x0 x0)) (not (and x0 x0))))) (and (or (or (not (not x0)) (and (not x0) (and x0 x0))) (not (or (and x0 x0) (or x0 x0)))) (not (and (not (not x0)) (not (and x0 x0)))))) (not (and (not (not (not (not x0)))) (or (not (not (or x0 x0))) (not (or (and x0 x0) (or x0 x0))))))))) (not (and (or (not (and (and (not (not (not x0))) (and (and (and x0 x0) (and x0 x0)) (and (not x0) (or x0 x0)))) (and (or (or (and x0 x0) (not x0)) (and (not x0) (not x0))) (or (not (or x0 x0)) (and (or x0 x0) (or x0 x0)))))) (not (and (or (or (and (and x0 x0) (not x0)) (and (not x0) (and x0 x0))) (or (not (and x0 x0)) (not (or x0 x0)))) (and (and (or (not x0) (and x0 x0)) (and (and x0 x0) (and x0 x0))) (and (or (or x0 x0) (or x0 x0)) (or (and x0 x0) (or x0 x0))))))) (and (or (and (and (or (and (and x0 x0) (not x0)) (or (and x0 x0) (not x0))) (and (and (not x0) (and x0 x0)) (not (or x0 x0)))) (or (and (or (and x0 x0) (and x0 x0)) (not (or x0 x0))) (not (or (and x0 x0) (or x0 x0))))) (and (or (or (and (or x0 x0) (or x0 x0)) (not (not x0))) (and (not (and x0 x0)) (not (not x0)))) (and (not (and (not x0) (not x0))) (and (or (and x0 x0) (and x0 x0)) (or (or x0 x0) (and x0 x0)))))) (and (and (or (not (not (and x0 x0))) (or (or (and x0 x0) (not x0)) (or (not x0) (or x0 x0)))) (not (or (and (not x0) (and x0 x0)) (or (and x0 x0) (or x0 x0))))) (not (or (or (not (not x0)) (or (not x0) (not x0))) (not (not (and x0 x0)))))))))))
+(check-sat)
+(push 1)
+(assert (and (not (and (not (not (not x0))) (or (not (not x0)) (and (not x0) (or x0 x0))))) (or (not (not (or (not x0) (or x0 x0)))) (and (and (or (or x0 x0) (not x0)) (not (and x0 x0))) (not (or (not x0) (not x0)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (not (or (not (or (and (and (not (or (not (not x0)) (not (not x0)))) (and (not (not (or x0 x0))) (or (and (or x0 x0) (and x0 x0)) (and (or x0 x0) (and x0 x0))))) (or (not (or (and (not x0) (not x0)) (or (not x0) (not x0)))) (and (and (or (not x0) (and x0 x0)) (or (or x0 x0) (and x0 x0))) (not (not (and x0 x0)))))) (not (not (and (or (not (and x0 x0)) (or (or x0 x0) (and x0 x0))) (not (not (and x0 x0)))))))) (not (or (and (or (and (not (or (not x0) (and x0 x0))) (and (or (and x0 x0) (and x0 x0)) (not (or x0 x0)))) (or (and (or (not x0) (not x0)) (not (and x0 x0))) (or (and (and x0 x0) (not x0)) (and (or x0 x0) (and x0 x0))))) (and (or (and (and (or x0 x0) (not x0)) (or (or x0 x0) (and x0 x0))) (not (or (and x0 x0) (and x0 x0)))) (not (or (not (not x0)) (or (not x0) (not x0)))))) (or (or (or (and (or (and x0 x0) (not x0)) (not (not x0))) (and (not (or x0 x0)) (and (not x0) (not x0)))) (or (not (and (and x0 x0) (and x0 x0))) (and (not (not x0)) (and (or x0 x0) (not x0))))) (or (and (not (not (not x0))) (and (and (and x0 x0) (not x0)) (or (and x0 x0) (and x0 x0)))) (or (and (not (or x0 x0)) (and (and x0 x0) (not x0))) (or (not (not x0)) (and (or x0 x0) (or x0 x0)))))))))))
+(check-sat)
+(push 1)
+(assert (and (or (not (not (and (and (not (not (not (and x0 x0)))) (not (not (and (or x0 x0) (not x0))))) (and (or (or (and (or x0 x0) (or x0 x0)) (or (not x0) (or x0 x0))) (and (and (and x0 x0) (not x0)) (or (not x0) (or x0 x0)))) (or (not (and (and x0 x0) (not x0))) (not (not (not x0)))))))) (or (and (and (and (or (or (not (not x0)) (and (or x0 x0) (or x0 x0))) (and (and (and x0 x0) (or x0 x0)) (and (not x0) (or x0 x0)))) (or (or (not (not x0)) (or (or x0 x0) (and x0 x0))) (or (or (and x0 x0) (or x0 x0)) (not (and x0 x0))))) (not (or (not (or (and x0 x0) (not x0))) (and (and (not x0) (not x0)) (or (not x0) (or x0 x0)))))) (not (and (and (not (and (or x0 x0) (not x0))) (and (or (or x0 x0) (or x0 x0)) (or (and x0 x0) (or x0 x0)))) (or (or (not (not x0)) (and (not x0) (and x0 x0))) (and (and (or x0 x0) (or x0 x0)) (and (and x0 x0) (not x0))))))) (not (or (or (and (not (and (and x0 x0) (and x0 x0))) (or (or (or x0 x0) (or x0 x0)) (and (and x0 x0) (not x0)))) (not (not (or (or x0 x0) (or x0 x0))))) (not (or (or (or (and x0 x0) (not x0)) (not (or x0 x0))) (or (not (or x0 x0)) (and (and x0 x0) (or x0 x0))))))))) (or (or (and (not (not (not (and (or (or x0 x0) (not x0)) (and (not x0) (not x0)))))) (or (or (not (and (not (and x0 x0)) (not (and x0 x0)))) (not (not (not (or x0 x0))))) (or (and (or (or (or x0 x0) (not x0)) (or (and x0 x0) (not x0))) (or (and (not x0) (and x0 x0)) (not (not x0)))) (not (or (and (not x0) (and x0 x0)) (and (not x0) (and x0 x0))))))) (or (not (and (and (or (or (or x0 x0) (or x0 x0)) (not (not x0))) (or (and (not x0) (and x0 x0)) (not (and x0 x0)))) (or (or (not (not x0)) (or (and x0 x0) (and x0 x0))) (not (and (not x0) (and x0 x0)))))) (or (and (or (not (and (and x0 x0) (and x0 x0))) (not (or (not x0) (or x0 x0)))) (and (not (and (or x0 x0) (or x0 x0))) (or (or (not x0) (or x0 x0)) (or (and x0 x0) (or x0 x0))))) (not (or (and (or (not x0) (and x0 x0)) (and (and x0 x0) (or x0 x0))) (not (and (or x0 x0) (and x0 x0)))))))) (not (or (and (or (or (or (and (or x0 x0) (and x0 x0)) (and (not x0) (or x0 x0))) (and (or (or x0 x0) (not x0)) (or (or x0 x0) (and x0 x0)))) (not (or (and (or x0 x0) (or x0 x0)) (or (or x0 x0) (or x0 x0))))) (or (not (and (and (or x0 x0) (or x0 x0)) (or (and x0 x0) (not x0)))) (and (not (and (or x0 x0) (not x0))) (and (and (or x0 x0) (and x0 x0)) (and (not x0) (not x0)))))) (and (not (or (or (or (and x0 x0) (not x0)) (or (not x0) (or x0 x0))) (and (and (not x0) (not x0)) (not (not x0))))) (not (or (not (and (not x0) (or x0 x0))) (or (or (not x0) (and x0 x0)) (not (and x0 x0)))))))))))
+(assert (or (not (and (or x0 x0) (or x0 x0))) (or (not (or x0 x0)) (not (not x0)))))
+(assert (not (and (not (and (or (and (or x0 x0) (and x0 x0)) (not (and x0 x0))) (not (not (or x0 x0))))) (and (and (not (or (not x0) (not x0))) (and (or (and x0 x0) (or x0 x0)) (and (not x0) (not x0)))) (or (and (and (and x0 x0) (and x0 x0)) (or (not x0) (not x0))) (and (and (or x0 x0) (or x0 x0)) (or (not x0) (not x0))))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXIT: 20
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(assert (not (and (not x3) (or x2 x1))))
+(assert (or (not (or (and (not (or (or (or (not x2) (not x7)) (and (or x7 x4) (or x6 x7))) (not (not (or x6 x4))))) (not (or (or (and (or x1 x5) (and x4 x7)) (or (and x4 x6) (and x0 x0))) (not (and (and x5 x7) (and x0 x5)))))) (and (or (not (and (not (or x1 x7)) (and (or x1 x5) (and x6 x1)))) (or (and (not (not x5)) (not (not x5))) (and (or (or x0 x5) (and x1 x3)) (or (or x0 x6) (and x2 x7))))) (not (or (not (and (and x0 x4) (not x2))) (not (and (or x1 x3) (not x7)))))))) (not (and (and (not (or (or (or (not x7) (and x0 x5)) (not (or x4 x3))) (or (and (and x3 x1) (and x7 x4)) (or (and x5 x4) (not x6))))) (not (not (or (or (not x1) (or x7 x1)) (and (or x1 x5) (or x3 x1)))))) (or (and (not (and (and (and x2 x7) (or x4 x5)) (not (or x6 x4)))) (not (and (or (or x5 x2) (and x4 x3)) (or (or x4 x0) (and x0 x1))))) (not (and (and (and (not x1) (or x2 x1)) (not (or x7 x6))) (not (or (and x4 x4) (not x2))))))))))
+(assert (and (or (and (not (or (and (and (or (not x0) (and x1 x7)) (and (not x0) (or x4 x5))) (or (or (and x6 x7) (or x3 x3)) (or (or x2 x2) (and x5 x6)))) (not (not (and (or x3 x6) (and x6 x0)))))) (and (not (not (not (not (and x7 x6))))) (or (not (or (not (or x7 x4)) (or (or x7 x4) (or x4 x2)))) (not (and (and (not x3) (or x3 x1)) (not (or x5 x4))))))) (and (and (and (not (not (and (not x5) (and x7 x5)))) (not (not (and (not x4) (and x5 x6))))) (or (not (and (and (or x4 x3) (not x6)) (and (and x2 x5) (or x5 x2)))) (or (and (or (and x0 x1) (not x3)) (or (not x4) (or x0 x2))) (not (or (not x6) (not x0)))))) (not (not (or (and (and (and x3 x0) (not x0)) (not (not x3))) (not (and (and x5 x3) (not x7)))))))) (and (or (not (and (or (and (and (not x0) (or x4 x2)) (or (and x3 x0) (or x6 x0))) (or (or (not x6) (not x7)) (not (and x5 x0)))) (and (not (or (and x1 x5) (not x2))) (or (not (and x3 x4)) (and (and x2 x0) (and x1 x6)))))) (not (and (or (and (and (or x5 x5) (not x2)) (or (or x6 x7) (or x7 x5))) (not (and (and x0 x4) (or x5 x1)))) (and (or (or (not x0) (or x7 x2)) (or (not x3) (and x1 x0))) (or (not (not x3)) (and (or x0 x0) (and x0 x2))))))) (or (or (and (and (and (and (not x5) (and x7 x6)) (and (and x0 x2) (or x3 x4))) (not (and (not x7) (or x3 x1)))) (and (not (or (or x4 x3) (or x5 x1))) (not (and (and x0 x0) (or x7 x6))))) (not (and (not (not (and x2 x6))) (and (and (or x3 x6) (or x4 x3)) (or (and x2 x1) (and x7 x6)))))) (and (not (and (and (not (not x3)) (not (or x3 x1))) (not (or (or x2 x3) (not x0))))) (not (or (not (or (and x2 x1) (or x4 x2))) (not (or (not x4) (or x2 x7))))))))))
+(check-sat)
+(push 1)
+(assert (not (not (not (or (and (or (and x6 x5) (or x6 x7)) (or (not x2) (not x7))) (or (or (and x6 x3) (and x7 x7)) (or (and x6 x4) (or x0 x6))))))))
+(assert (not (or (not (and (not (or (not (and (or x0 x1) (not x1))) (or (or (and x3 x1) (and x2 x0)) (or (and x1 x3) (or x7 x3))))) (or (or (and (and (not x2) (not x0)) (and (not x4) (not x2))) (not (and (not x6) (not x7)))) (not (not (not (or x0 x2))))))) (and (and (or (not (or (and (or x4 x2) (and x6 x4)) (and (or x4 x3) (and x1 x6)))) (and (or (or (not x5) (and x1 x5)) (and (and x6 x0) (not x0))) (or (and (or x5 x2) (and x7 x4)) (not (not x6))))) (or (and (or (not (or x7 x4)) (and (and x3 x3) (or x4 x0))) (not (not (or x0 x3)))) (or (not (not (and x3 x2))) (or (not (or x1 x6)) (or (and x5 x6) (and x6 x6)))))) (or (and (and (or (and (or x3 x7) (not x4)) (not (not x0))) (or (not (and x4 x3)) (not (and x6 x1)))) (not (not (or (and x1 x5) (and x7 x3))))) (and (or (or (not (and x4 x0)) (or (and x5 x0) (or x5 x4))) (or (and (and x6 x7) (not x4)) (and (not x0) (and x3 x1)))) (or (not (or (not x6) (or x2 x4))) (or (or (or x1 x5) (not x1)) (or (not x5) (and x3 x6))))))))))
+(assert (not (or (not (not x4)) (and (and x5 x0) (and x6 x7)))))
+(assert (not (not (and (and (or (not x5) (or x4 x5)) (or (and x7 x5) (or x7 x0))) (not (not (and x1 x7)))))))
+(check-sat)
+(push 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (or x0 x6)) (not (and x1 x7))))
+(check-sat)
+(push 1)
+(assert (or (and (not x7) (not x4)) (or (not x3) (or x7 x7))))
+(assert (not (and (or (and (not (or (and (not (and (and x0 x0) (and x3 x3))) (and (and (not x3) (or x2 x5)) (not (not x0)))) (not (not (or (or x3 x5) (not x4)))))) (and (not (not (not (or (or x3 x4) (or x3 x6))))) (not (or (or (or (or x5 x1) (not x2)) (and (not x3) (and x1 x2))) (not (and (not x5) (and x1 x5))))))) (not (and (or (not (not (or (or x3 x0) (not x2)))) (and (or (or (and x2 x6) (or x5 x6)) (and (or x7 x7) (not x3))) (not (not (and x0 x7))))) (or (or (and (or (not x7) (or x0 x0)) (and (and x2 x4) (not x1))) (not (or (not x3) (and x7 x2)))) (and (not (and (or x4 x0) (not x4))) (not (or (or x5 x7) (or x5 x3)))))))) (or (not (not (and (or (and (not (or x0 x2)) (not (and x4 x1))) (or (not (and x4 x3)) (and (or x4 x0) (not x0)))) (and (or (or (not x7) (and x7 x4)) (and (and x3 x3) (or x3 x4))) (or (or (or x7 x7) (or x5 x7)) (not (not x3))))))) (not (not (or (not (not (and (and x3 x6) (not x5)))) (and (and (or (or x6 x2) (and x2 x6)) (not (or x6 x0))) (not (and (or x6 x6) (not x1)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (not (or (and (or (not x6) (and x4 x4)) (not (and x3 x3))) (and (not (or x2 x4)) (and (not x1) (or x4 x6))))))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(assert (and (or (or (or (not (and (and (or (and x2 x1) (and x0 x4)) (and (and x0 x2) (not x1))) (or (not (not x3)) (not (and x6 x0))))) (and (and (or (or (and x2 x0) (and x0 x0)) (and (and x1 x6) (not x6))) (or (not (and x1 x4)) (or (or x0 x0) (or x3 x0)))) (not (or (or (and x1 x2) (and x1 x4)) (not (and x3 x2)))))) (or (or (and (and (and (or x1 x4) (not x1)) (or (not x1) (and x4 x5))) (and (not (or x3 x2)) (and (not x4) (not x6)))) (or (not (not (not x6))) (not (not (or x0 x2))))) (and (and (or (or (or x6 x3) (or x3 x1)) (not (and x4 x1))) (and (not (or x1 x3)) (or (or x3 x4) (or x4 x1)))) (or (not (or (not x0) (and x4 x5))) (not (not (or x4 x4))))))) (or (not (or (or (and (or (not x1) (and x3 x3)) (not (or x4 x0))) (and (and (not x6) (and x6 x3)) (and (not x1) (not x6)))) (or (or (not (and x5 x0)) (or (not x1) (or x3 x0))) (and (not (and x0 x0)) (and (and x5 x6) (not x2)))))) (and (not (and (not (not (not x0))) (and (or (and x2 x2) (or x1 x4)) (or (and x1 x6) (and x5 x3))))) (and (not (not (not (or x0 x0)))) (or (or (and (or x0 x2) (or x5 x2)) (not (not x2))) (not (or (and x3 x2) (or x5 x3)))))))) (or (and (or (or (not (not (or (not x6) (and x1 x2)))) (not (and (not (and x1 x3)) (and (not x2) (and x1 x4))))) (not (or (and (and (or x1 x2) (or x0 x2)) (and (or x6 x6) (and x4 x0))) (and (and (or x0 x4) (or x6 x0)) (and (and x0 x2) (or x3 x6)))))) (or (and (or (or (and (and x4 x6) (or x2 x6)) (and (not x6) (or x6 x1))) (not (not (not x3)))) (or (and (not (and x5 x2)) (or (or x5 x1) (or x4 x6))) (and (not (or x3 x4)) (or (not x2) (not x2))))) (or (or (not (not (or x1 x1))) (and (not (or x6 x4)) (and (or x6 x1) (not x5)))) (and (and (not (or x0 x0)) (and (or x0 x6) (not x6))) (or (and (not x0) (or x2 x1)) (or (and x6 x3) (not x3))))))) (not (or (not (not (or (or (and x3 x0) (and x3 x5)) (and (or x3 x0) (and x3 x0))))) (not (or (not (or (or x6 x4) (not x5))) (not (or (and x5 x2) (and x4 x4))))))))))
+(assert (or x3 x5))
+(assert (or (and (not x1) (not x6)) (not (not x6))))
+(assert (not (not (and (and (or (or (and (not (or (or x0 x4) (and x4 x1))) (and (and (or x4 x5) (or x3 x1)) (or (not x0) (or x3 x4)))) (or (or (or (or x5 x5) (or x1 x4)) (or (and x5 x6) (not x1))) (or (or (or x2 x0) (or x0 x3)) (and (or x0 x4) (or x5 x6))))) (not (or (not (not (or x0 x2))) (and (and (and x0 x1) (and x0 x5)) (not (and x6 x0)))))) (and (not (or (not (or (or x2 x3) (and x6 x6))) (and (or (not x1) (or x2 x6)) (or (and x6 x4) (and x6 x5))))) (not (not (not (and (not x5) (or x1 x4))))))) (or (not (or (not (not (or (or x4 x0) (and x2 x6)))) (and (and (not (not x0)) (not (not x2))) (not (not (and x5 x6)))))) (or (and (and (and (or (not x4) (not x1)) (and (not x3) (not x1))) (not (and (not x1) (not x0)))) (or (or (or (or x3 x3) (not x3)) (or (not x0) (and x5 x5))) (or (not (and x0 x6)) (and (and x6 x1) (or x0 x3))))) (not (or (or (and (and x1 x5) (and x3 x6)) (and (not x0) (not x4))) (and (and (and x6 x0) (or x4 x0)) (or (and x0 x4) (not x5)))))))))))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (and x2 x0))
+(check-sat)
+(push 1)
+(assert (and (not (and (or x3 x3) (and x6 x0))) (or (not (or x6 x4)) (or (or x1 x2) (and x4 x6)))))
+(assert (and (not (or (and (and (and x4 x2) (not x3)) (or (or x5 x6) (not x2))) (not (or (not x0) (not x4))))) (or (or (not (or (not x0) (or x2 x2))) (and (and (not x5) (not x1)) (or (not x6) (not x5)))) (and (and (not (and x2 x1)) (not (or x6 x0))) (or (not (or x0 x2)) (not (and x1 x2)))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (and (not (or (not (not x4)) (or (or x1 x6) (and x2 x4)))) (not (and (and (or x1 x1) (and x1 x6)) (not (not x2))))))
+(assert (not (not x3)))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(declare-fun x9 () Bool)
+(assert (and (and (or (or (and (not (and (and (or x9 x6) (or x8 x9)) (not (not x2)))) (and (not (and (and x3 x1) (or x7 x0))) (or (and (or x6 x7) (not x2)) (or (or x8 x8) (not x0))))) (and (or (and (or (or x7 x5) (or x2 x8)) (not (not x3))) (and (and (and x2 x0) (and x1 x9)) (and (and x7 x5) (or x8 x5)))) (and (or (and (or x3 x6) (and x9 x4)) (or (not x8) (and x2 x6))) (not (and (not x7) (or x6 x1)))))) (not (or (or (and (and (and x6 x2) (or x5 x9)) (not (not x2))) (or (or (and x5 x0) (or x3 x0)) (or (or x6 x9) (not x5)))) (or (not (or (not x0) (or x7 x7))) (not (or (and x6 x1) (not x1))))))) (or (and (or (and (not (or (or x4 x2) (and x4 x3))) (or (not (or x1 x7)) (not (not x7)))) (or (or (or (or x3 x0) (and x0 x2)) (and (not x1) (or x3 x8))) (not (or (not x3) (or x3 x0))))) (or (not (or (and (and x3 x7) (not x2)) (or (not x6) (or x8 x9)))) (not (not (or (and x1 x2) (and x6 x3)))))) (and (or (or (not (and (not x3) (not x0))) (and (and (not x4) (and x6 x6)) (and (and x4 x1) (not x3)))) (and (and (or (or x9 x9) (not x5)) (or (and x3 x0) (and x3 x2))) (not (or (not x9) (not x7))))) (or (or (or (or (not x4) (and x0 x2)) (not (or x1 x7))) (and (and (or x1 x8) (and x1 x1)) (and (or x7 x7) (or x0 x1)))) (and (and (not (not x3)) (or (or x2 x0) (not x4))) (and (not (not x8)) (or (and x0 x0) (not x8)))))))) (or (not (or (and (and (not (not (and x1 x2))) (and (not (not x5)) (or (not x9) (and x2 x8)))) (and (or (or (or x7 x1) (not x7)) (not (not x8))) (or (not (and x9 x9)) (or (not x3) (and x0 x0))))) (and (not (not (not (and x6 x6)))) (or (or (and (or x6 x6) (and x0 x9)) (not (not x1))) (or (or (not x2) (or x3 x5)) (or (or x7 x5) (and x1 x0))))))) (not (not (or (or (not (and (and x9 x4) (not x7))) (and (not (and x3 x7)) (and (and x4 x4) (and x1 x0)))) (and (and (and (or x3 x7) (or x5 x7)) (not (not x3))) (not (or (not x7) (or x6 x4))))))))))
+(check-sat)
+(push 1)
+(assert (not (or (or (and x3 x8) (or x4 x0)) (and (not x9) (and x6 x8)))))
+(assert (not (and (and (or (or x9 x5) (and x4 x3)) (not (and x2 x9))) (and (or (and x3 x4) (not x4)) (and (and x0 x3) (or x6 x2))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (or (or (not x4) (and x9 x9)) (or (or x1 x5) (not x4))) (or (and (or x6 x0) (not x3)) (and (or x8 x7) (or x4 x4)))))
+(check-sat)
+(push 1)
+(assert (or (and (and x9 x7) (or x8 x2)) (or (not x9) (or x6 x0))))
+(check-sat)
+(pop 1)
+(assert (and (not (not (not (and (not (or (not x4) (not x2))) (and (and (and x3 x1) (and x0 x0)) (or (not x2) (not x4))))))) (or (or (not (or (not (not (and x9 x0))) (and (and (not x0) (and x4 x4)) (or (not x0) (not x7))))) (or (or (not (not (and x8 x1))) (or (or (and x1 x3) (and x4 x4)) (or (not x6) (not x7)))) (and (not (and (not x5) (not x1))) (not (and (not x1) (not x2)))))) (or (not (and (and (and (or x0 x8) (not x5)) (not (or x0 x8))) (not (not (not x1))))) (or (not (and (or (and x3 x2) (and x7 x2)) (and (or x6 x8) (not x1)))) (and (and (or (and x0 x6) (and x5 x4)) (and (and x0 x6) (and x1 x0))) (or (or (not x7) (and x2 x3)) (not (or x2 x9)))))))))
+(check-sat)
+(push 1)
+(assert (and (or (and (not (not (and (and x0 x4) (and x6 x4)))) (not (not (and (not x5) (not x9))))) (not (and (or (or (or x0 x1) (or x5 x5)) (not (not x6))) (and (or (and x2 x3) (and x3 x7)) (not (and x3 x3)))))) (or (not (not (or (not (not x8)) (and (not x7) (not x8))))) (not (or (not (not (or x8 x4))) (and (not (or x7 x6)) (not (and x5 x5))))))))
+(assert (not (or (and (and (or (or (or (and (not x4) (not x8)) (not (not x2))) (not (and (not x8) (or x6 x2)))) (not (not (or (and x7 x6) (and x0 x4))))) (or (or (not (not (and x3 x7))) (or (not (not x1)) (not (not x8)))) (and (not (or (not x6) (and x6 x8))) (or (and (not x4) (not x6)) (or (or x3 x1) (and x8 x3)))))) (or (and (not (or (not (and x7 x6)) (and (not x7) (and x5 x7)))) (not (and (not (and x6 x8)) (and (not x8) (not x5))))) (not (and (or (or (or x4 x0) (not x6)) (and (not x3) (not x8))) (not (and (not x1) (and x4 x9))))))) (and (or (and (and (and (and (and x9 x1) (not x9)) (or (or x5 x5) (not x7))) (or (and (not x5) (not x8)) (not (and x0 x1)))) (or (or (or (not x4) (or x1 x6)) (or (or x2 x0) (not x5))) (or (not (not x7)) (not (not x5))))) (or (and (not (or (and x1 x3) (or x1 x7))) (or (or (not x0) (not x6)) (or (not x9) (and x0 x0)))) (and (or (or (or x8 x1) (or x5 x8)) (or (or x1 x7) (and x2 x2))) (not (and (and x5 x9) (and x5 x8)))))) (or (not (and (and (and (or x4 x2) (and x8 x5)) (not (and x2 x2))) (not (not (not x3))))) (and (and (or (or (and x3 x3) (not x2)) (not (or x2 x6))) (or (and (and x9 x1) (not x1)) (not (and x6 x8)))) (not (not (or (not x2) (or x4 x1))))))))))
+(assert (and (not x4) (not x3)))
+(assert (and (or x8 x9) (not x1)))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(check-sat)
+(push 1)
+(assert (or (or (and (and (and (not (and (or (not (or x1 x0)) (not (and x4 x3))) (and (or (not x1) (and x1 x5)) (or (and x4 x5) (and x0 x2))))) (and (and (or (and (or x5 x0) (not x2)) (or (not x1) (or x5 x0))) (not (or (or x3 x2) (and x2 x1)))) (and (or (not (not x0)) (and (or x1 x0) (not x4))) (and (not (or x1 x5)) (or (and x0 x2) (or x5 x3)))))) (not (not (or (or (not (not x3)) (or (or x0 x3) (or x4 x5))) (or (not (not x5)) (and (and x3 x1) (or x0 x5))))))) (not (or (and (not (or (not (or x0 x5)) (or (and x1 x0) (and x2 x4)))) (not (not (and (and x0 x0) (and x0 x4))))) (not (and (and (not (and x1 x2)) (or (or x2 x0) (or x3 x4))) (not (or (not x4) (not x2)))))))) (and (and (and (or (not (or (or (or x5 x1) (not x5)) (or (and x2 x0) (not x4)))) (or (or (or (and x4 x3) (not x0)) (not (or x2 x5))) (not (or (or x4 x1) (and x5 x3))))) (not (and (not (not (or x3 x1))) (not (and (and x3 x1) (not x2)))))) (not (or (or (not (and (not x5) (and x2 x5))) (not (and (or x3 x2) (or x4 x2)))) (and (and (and (not x2) (not x4)) (or (and x0 x4) (or x2 x1))) (and (not (or x0 x3)) (and (and x3 x3) (and x4 x5))))))) (or (and (or (and (or (not (or x2 x5)) (not (not x2))) (or (or (not x1) (not x2)) (or (and x5 x5) (not x2)))) (or (and (and (and x3 x2) (and x0 x1)) (not (not x5))) (not (or (and x4 x0) (and x0 x4))))) (not (or (or (not (not x4)) (or (not x3) (or x2 x4))) (not (or (not x0) (and x2 x0)))))) (or (and (or (not (and (and x1 x2) (not x3))) (and (or (not x1) (or x3 x4)) (not (or x4 x0)))) (not (or (and (and x1 x5) (and x0 x1)) (not (or x2 x0))))) (not (or (not (and (or x4 x5) (not x2))) (or (and (or x0 x3) (or x4 x1)) (and (or x5 x0) (not x4))))))))) (not (and (and (or (and (and (or (not (not x4)) (and (and x4 x0) (and x4 x2))) (and (or (or x5 x4) (and x3 x5)) (or (and x2 x4) (and x1 x3)))) (or (not (and (and x2 x5) (and x4 x3))) (or (not (not x3)) (and (and x3 x3) (and x1 x2))))) (or (not (or (not (not x2)) (not (or x3 x1)))) (and (and (or (or x1 x2) (not x2)) (and (or x0 x5) (and x1 x3))) (not (not (and x5 x0)))))) (or (not (or (and (or (and x3 x3) (not x5)) (and (not x4) (and x2 x5))) (not (or (not x3) (or x0 x0))))) (and (and (and (not (and x3 x1)) (not (and x4 x0))) (or (and (not x1) (and x1 x0)) (or (or x5 x3) (and x2 x2)))) (and (not (or (not x2) (and x4 x2))) (not (and (or x3 x5) (or x1 x1))))))) (and (and (or (or (or (not (and x1 x4)) (or (and x1 x1) (and x3 x5))) (or (or (and x4 x4) (or x4 x4)) (and (and x5 x4) (not x1)))) (or (or (not (and x0 x3)) (and (or x3 x2) (or x1 x3))) (and (or (and x0 x2) (or x5 x4)) (not (and x2 x4))))) (or (or (or (not (or x2 x3)) (and (or x2 x3) (or x4 x3))) (and (and (or x1 x2) (and x1 x1)) (not (or x4 x5)))) (and (or (or (and x5 x1) (not x1)) (and (or x3 x5) (not x0))) (and (not (not x5)) (not (and x4 x5)))))) (not (and (and (and (or (and x2 x2) (and x2 x3)) (not (or x3 x0))) (or (not (not x1)) (or (and x4 x2) (not x3)))) (and (or (or (or x4 x3) (or x3 x3)) (not (and x2 x2))) (or (and (and x1 x1) (or x2 x5)) (and (and x2 x3) (not x3)))))))))))
+(assert (and (not (not (not (or (and (and (not (and (not x5) (or x1 x1))) (not (or (or x2 x4) (not x0)))) (and (and (and (or x1 x4) (not x3)) (or (and x5 x0) (and x1 x0))) (not (not (not x4))))) (not (not (not (not (not x5))))))))) (not (or (not (and (not (not (not (and (and x0 x3) (or x5 x0))))) (and (and (not (and (and x4 x3) (or x1 x3))) (or (and (and x5 x0) (or x2 x0)) (or (and x4 x2) (and x0 x3)))) (or (or (and (and x3 x4) (or x0 x1)) (or (and x5 x0) (not x1))) (and (not (or x2 x5)) (and (not x1) (and x0 x1))))))) (not (or (not (or (and (or (and x0 x2) (and x5 x3)) (and (and x0 x3) (not x4))) (or (and (not x2) (not x0)) (and (or x2 x1) (not x1))))) (not (not (and (not (not x3)) (or (or x4 x0) (not x1)))))))))))
+(check-sat)
+(push 1)
+(assert (not (not (not (or (or (or x3 x5) (or x2 x0)) (or (or x3 x4) (or x2 x4)))))))
+(assert (and (and (or (not x5) (or x0 x3)) (or (and x2 x0) (or x0 x1))) (not (or (not x1) (and x4 x0)))))
+(assert (or (not (or x4 x0)) (and (or x1 x3) (and x5 x3))))
+(check-sat)
+(pop 1)
+(check-sat)
+(push 1)
+(assert (or (not (or (not (not x1)) (and (or x5 x4) (and x3 x4)))) (not (not (not (and x3 x2))))))
+(assert (not (not (and x2 x4))))
+(check-sat)
+(push 1)
+(assert (and x3 x3))
+(assert (not (and (not x1) (and x0 x5))))
+(assert (not (and (not (or (and (and (or x2 x1) (not x3)) (and (not x2) (or x1 x1))) (and (and (not x4) (not x5)) (not (not x4))))) (not (or (and (and (not x5) (and x2 x0)) (or (and x3 x5) (or x0 x3))) (not (or (or x2 x4) (not x1))))))))
+(check-sat)
+(pop 1)
+(assert (not (or (or (or (not x0) (not x5)) (or (and x3 x5) (not x0))) (and (not (and x2 x0)) (and (not x1) (not x1))))))
+(assert (or (not x4) (or x3 x4)))
+(assert (not (not (and (and (and x1 x4) (not x4)) (or (or x4 x3) (and x0 x2))))))
+(check-sat)
+(pop 1)
+(assert (not x1))
+(check-sat)
--- /dev/null
+; COMMAND-LINE: --incremental
+; EXPECT: sat
+; EXPECT: sat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: unsat
+; EXPECT: sat
+; EXIT: 10
+(set-logic QF_LIA)
+(declare-fun x0 () Bool)
+(declare-fun x1 () Bool)
+(declare-fun x2 () Bool)
+(declare-fun x3 () Bool)
+(declare-fun x4 () Bool)
+(declare-fun x5 () Bool)
+(declare-fun x6 () Bool)
+(declare-fun x7 () Bool)
+(declare-fun x8 () Bool)
+(assert (or (or (not (or (or (not (or (and x4 x4) (not x7))) (not (and (and x5 x7) (not x7)))) (and (and (and (and x6 x6) (not x0)) (not (or x3 x1))) (and (or (not x1) (and x5 x3)) (or (or x7 x6) (not x4)))))) (not (or (or (or (not (or x3 x7)) (not (and x2 x8))) (and (not (not x1)) (or (and x0 x3) (or x2 x5)))) (or (or (or (and x8 x1) (or x3 x0)) (and (not x5) (and x8 x6))) (not (not (and x2 x5))))))) (not (not (and (not (or (or (not x7) (and x8 x2)) (not (or x6 x3)))) (not (and (not (and x8 x3)) (or (not x3) (or x8 x2)))))))))
+(check-sat)
+(push 1)
+(assert (and (and (or (or (and (and (or x1 x5) (not x8)) (and (not x8) (and x0 x8))) (or (or (and x0 x3) (and x0 x6)) (and (or x7 x7) (and x7 x0)))) (or (and (or (and x8 x7) (or x3 x2)) (not (not x7))) (not (and (not x8) (not x5))))) (or (or (and (and (or x2 x6) (or x7 x4)) (and (or x4 x3) (not x5))) (and (or (not x2) (or x2 x7)) (not (and x8 x7)))) (and (and (and (and x5 x4) (not x3)) (not (not x8))) (or (and (or x6 x1) (or x0 x7)) (not (and x8 x4)))))) (and (not (and (or (not (or x5 x5)) (and (and x6 x3) (or x0 x0))) (and (not (or x0 x0)) (and (not x6) (and x8 x6))))) (or (and (not (not (and x3 x8))) (or (not (not x0)) (and (and x5 x6) (or x0 x4)))) (or (and (and (not x2) (not x0)) (and (and x4 x2) (or x1 x6))) (or (and (not x5) (not x8)) (not (and x5 x3))))))))
+(check-sat)
+(push 1)
+(assert (and (or x7 x5) (and x2 x6)))
+(check-sat)
+(push 1)
+(check-sat)
+(push 1)
+(assert (not (and x1 x6)))
+(assert (or x7 x7))
+(assert (not (or x0 x7)))
+(check-sat)
+(push 1)
+(assert (and (not (or (or (and x6 x2) (or x2 x8)) (or (and x7 x3) (or x2 x5)))) (and (or (not (not x4)) (and (not x4) (not x2))) (not (not (or x1 x7))))))
+(assert (not (and (or (and (and (not (and x6 x1)) (or (and x5 x3) (or x3 x1))) (or (or (not x2) (or x0 x1)) (not (or x7 x5)))) (not (or (not (not x8)) (and (not x4) (and x5 x8))))) (not (or (or (or (or x1 x1) (and x2 x3)) (and (and x5 x8) (not x7))) (and (not (or x5 x8)) (or (not x5) (and x2 x2))))))))
+(assert (not x4))
+(assert (not (and (not (or (not (or (not (or x8 x1)) (or (not x6) (not x4)))) (or (or (and (and x0 x7) (or x2 x7)) (or (or x7 x3) (and x5 x2))) (or (or (and x7 x0) (and x1 x1)) (and (not x7) (or x6 x7)))))) (or (and (and (and (not (not x0)) (and (or x7 x4) (or x3 x6))) (not (not (not x6)))) (or (or (and (and x1 x5) (or x7 x5)) (not (and x2 x3))) (not (or (not x8) (and x1 x8))))) (not (and (not (and (not x8) (and x1 x6))) (or (and (and x0 x0) (not x0)) (not (not x7)))))))))
+(assert (or x1 x2))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (and (not (and (not x5) (not x7))) (and (or (not x1) (and x4 x1)) (not (and x5 x8))))))
+(assert (not (and (or (and (not (and (and (not (or (not x5) (and x4 x7))) (and (and (and x6 x1) (not x3)) (not (and x5 x1)))) (and (or (or (or x7 x2) (or x2 x6)) (not (not x2))) (and (and (not x6) (and x4 x8)) (and (not x5) (or x1 x6)))))) (or (not (or (not (and (and x3 x5) (or x7 x3))) (or (not (not x7)) (not (not x0))))) (or (not (not (and (or x3 x6) (and x6 x2)))) (or (not (or (or x7 x3) (not x5))) (or (or (and x1 x2) (and x4 x2)) (not (not x7))))))) (and (not (not (or (not (or (not x0) (not x4))) (or (and (and x3 x2) (and x8 x3)) (and (not x1) (not x6)))))) (not (not (or (or (and (or x8 x3) (not x8)) (or (or x7 x5) (or x7 x7))) (and (or (or x4 x4) (or x3 x3)) (and (not x8) (not x7)))))))) (and (not (or (not (or (or (not (and x4 x4)) (or (and x5 x8) (or x5 x4))) (not (not (and x6 x3))))) (not (or (or (or (not x3) (or x5 x2)) (not (not x0))) (and (or (or x6 x4) (and x0 x3)) (and (not x2) (not x0))))))) (and (not (not (or (or (or (or x6 x6) (and x6 x8)) (or (or x1 x5) (or x8 x4))) (and (and (not x6) (or x8 x0)) (not (or x0 x5)))))) (or (not (not (or (or (not x0) (and x3 x4)) (or (and x3 x3) (not x2))))) (and (or (or (or (not x1) (not x0)) (not (or x0 x2))) (and (and (and x8 x7) (and x8 x2)) (or (or x7 x4) (and x1 x3)))) (or (or (or (or x8 x1) (or x8 x6)) (not (not x6))) (or (or (and x8 x7) (or x4 x6)) (and (not x3) (and x0 x0)))))))))))
+(check-sat)
+(pop 1)
+(check-sat)
+(pop 1)
+(assert (not (and (and x7 x2) (or x4 x6))))
+(check-sat)
+(push 1)