Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 583ffa4ba069126c3ba0bc565dc0485a > files > 531

cvc3-doc-2.4.1-1.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>CVC3: CVC3::TheoryArithOld Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CVC3&#160;<span id="projectnumber">2.4.1</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceCVC3.html">CVC3</a>      </li>
      <li class="navelem"><a class="el" href="classCVC3_1_1TheoryArithOld.html">TheoryArithOld</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::TheoryArithOld Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CVC3::TheoryArithOld" --><!-- doxytag: inherits="CVC3::TheoryArith" -->
<p><code>#include &lt;<a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CVC3::TheoryArithOld:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classCVC3_1_1TheoryArithOld.png" usemap="#CVC3::TheoryArithOld_map" alt=""/>
  <map id="CVC3::TheoryArithOld_map" name="CVC3::TheoryArithOld_map">
<area href="classCVC3_1_1TheoryArith.html" title="This theory handles basic linear arithmetic." alt="CVC3::TheoryArith" shape="rect" coords="0,56,139,80"/>
<area href="classCVC3_1_1Theory.html" title="Base class for theories." alt="CVC3::Theory" shape="rect" coords="0,0,139,24"/>
</map>
 </div></div>

<p><a href="classCVC3_1_1TheoryArithOld-members.html">List of all members.</a></p>
<h2><a name="nested-classes"></a>
Classes</h2>
<ul>
<li>class <a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph.html">DifferenceLogicGraph</a>
<li>class <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a>
<dl class="el"><dd class="mdescRight">Data class for the strongest free constant in separation inqualities.  <a href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html#details">More...</a><br/></dl><li>struct <a class="el" href="structCVC3_1_1TheoryArithOld_1_1GraphEdge.html">GraphEdge</a>
<li>class <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a>
<dl class="el"><dd class="mdescRight">Private class for an inequality in the Fourier-Motzkin database.  <a href="classCVC3_1_1TheoryArithOld_1_1Ineq.html#details">More...</a><br/></dl><li>class <a class="el" href="classCVC3_1_1TheoryArithOld_1_1VarOrderGraph.html">VarOrderGraph</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7cf2bbefa118b69a416778e98cda8408">separateMonomial</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;var)
<dl class="el"><dd class="mdescRight">Separate monomial e = c*p1*...*pn into c and 1*p1*...*pn.  <a href="#a7cf2bbefa118b69a416778e98cda8408"></a><br/></dl><li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a849e9094d3af74ee70e45112b353136c">isInteger</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Check the term t for integrality (return bool)  <a href="#a849e9094d3af74ee70e45112b353136c"></a><br/></dl><li><a class="el" href="classCVC3_1_1TheoryArithOld.html#a421bf72419f51b1a7e95363da00f4177">TheoryArithOld</a> (<a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> *core)
<li><a class="el" href="classCVC3_1_1TheoryArithOld.html#a72870e1afaa3d74f5de058116211b4a9">~TheoryArithOld</a> ()
<li><a class="el" href="classCVC3_1_1ArithProofRules.html">ArithProofRules</a> * <a class="el" href="classCVC3_1_1TheoryArithOld.html#a80f0e73dede7d5072cf7941a39a8deb4">createProofRulesOld</a> ()
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1503d539a5f25dfdb5fcfe486405b658">addSharedTerm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Notify theory of a new shared term.  <a href="#a1503d539a5f25dfdb5fcfe486405b658"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a998f71fde188c547c464a912058dd64d">assertFact</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)
<dl class="el"><dd class="mdescRight">Assert a new fact to the decision procedure.  <a href="#a998f71fde188c547c464a912058dd64d"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa4dc2c586e3bf401a1940a2057508d9f">refineCounterExample</a> ()
<dl class="el"><dd class="mdescRight">Process disequalities from the arrangement for model generation.  <a href="#aa4dc2c586e3bf401a1940a2057508d9f"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab0be6755fcb152cd582d064663e2d53f">computeModelBasic</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;v)
<dl class="el"><dd class="mdescRight">Assign concrete values to basic-type variables in v.  <a href="#ab0be6755fcb152cd582d064663e2d53f"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab89a3988c04c44852823fa598358ab67">computeModel</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars)
<dl class="el"><dd class="mdescRight">Compute the value of a compound variable from the more primitive ones.  <a href="#ab89a3988c04c44852823fa598358ab67"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a966afeabb8016841de17f5c51fe165a0">checkSat</a> (bool fullEffort)
<dl class="el"><dd class="mdescRight">Check for satisfiability in the theory.  <a href="#a966afeabb8016841de17f5c51fe165a0"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a17c6d2694c44f77da17d5b32620b0761">rewrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Theory-specific rewrite rules.  <a href="#a17c6d2694c44f77da17d5b32620b0761"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#af876aaea3321dd03faebd5f4b3f06ddd">setup</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Set up the term e for call-backs when e or its children change.  <a href="#af876aaea3321dd03faebd5f4b3f06ddd"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a314a1422f7fb05eb90d94cd88625fd0c">update</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;d)
<dl class="el"><dd class="mdescRight">Notify a theory of a new equality.  <a href="#a314a1422f7fb05eb90d94cd88625fd0c"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a9488a6be1041e63a9519482ac7e854c8">solve</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)
<dl class="el"><dd class="mdescRight">An optional solver.  <a href="#a9488a6be1041e63a9519482ac7e854c8"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a331a6d4320eee82cbb093fd587c96bb8">checkAssertEqInvariant</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)
<dl class="el"><dd class="mdescRight">A debug check used by the primary solver.  <a href="#a331a6d4320eee82cbb093fd587c96bb8"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad3e9ede8154ffafbbfdefef3c79d5f78">checkType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Check that e is a valid <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> expr.  <a href="#ad3e9ede8154ffafbbfdefef3c79d5f78"></a><br/></dl><li><a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54">Cardinality</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae22b1b370ee8be1c54ef4a1c3f527d5f">finiteTypeInfo</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, <a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> &amp;n, bool enumerate, bool computeSize)
<dl class="el"><dd class="mdescRight">Compute information related to finiteness of types.  <a href="#ae22b1b370ee8be1c54ef4a1c3f527d5f"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae15e9cc1e826299a857a232c341402c1">computeType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Compute and store the type of e.  <a href="#ae15e9cc1e826299a857a232c341402c1"></a><br/></dl><li><a class="el" href="classCVC3_1_1Type.html">Type</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#adaecdd481476e8db3e400a1bcecf25f3">computeBaseType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t)
<dl class="el"><dd class="mdescRight">Compute the base type of the top-level operator of an arbitrary type.  <a href="#adaecdd481476e8db3e400a1bcecf25f3"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a30991bcd4bbcf65cd1c6215725af9899">computeModelTerm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;v)
<dl class="el"><dd class="mdescRight">Add variables from 'e' to 'v' for constructing a concrete model.  <a href="#a30991bcd4bbcf65cd1c6215725af9899"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5c1f93e8fcd10c7943895532cf0aa6f6">computeTypePred</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight"><a class="el" href="classCVC3_1_1Theory.html" title="Base class for theories.">Theory</a> specific computation of the subtyping predicate for type t applied to the expression e.  <a href="#a5c1f93e8fcd10c7943895532cf0aa6f6"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a6f507fbe5ded9976e290274059611808">computeTCC</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Compute and cache the TCC of e.  <a href="#a6f507fbe5ded9976e290274059611808"></a><br/></dl><li><a class="el" href="classCVC3_1_1ExprStream.html">ExprStream</a> &amp; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a887b53a4c32e7daab34048bdfe2a31c4">print</a> (<a class="el" href="classCVC3_1_1ExprStream.html">ExprStream</a> &amp;os, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Theory-specific pretty-printing.  <a href="#a887b53a4c32e7daab34048bdfe2a31c4"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae4d0208af0078ee314c94f199f8b50db">parseExprOp</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Theory-specific parsing implemented by the DP.  <a href="#ae4d0208af0078ee314c94f199f8b50db"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#abc26aaf78f6b9a25b3c5f3923719ddb7">updateConstrained</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a820f1ace7a5dd9e962b2453ceb1bcaf1">isUnconstrained</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#af26f1b31629fe94f3678e4d051b17afa">tryPropagate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;x, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;y, const <a class="el" href="structCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EdgeInfo.html">DifferenceLogicGraph::EdgeInfo</a> &amp;x_y_edge, int kind)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a0f6143643b36835a5383acfa65252f3e">addMultiplicativeSignSplit</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;case_split_thm)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7cc81a1017de4d7e2c7278dfc01a4e60">addPairToArithOrder</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;smaller, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;bigger)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a372a7ff635b9de24607daa04d3a63d02">nonlinearSignSplit</a> () const 
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab8686f11885fd196e2d0e592f767ba76">isNonlinearEq</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#aadfdf8251af6c3a07baa5e8ee0828146">isNonlinearSumTerm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;term)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3eebb5aa899590483a0e9f8223599051">isPowersEquality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;nonlinearEq, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;power1, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;power2)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#af99992fce594e9940305e0121eb0b45c">isPowerEquality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;nonlinearEq, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;constant, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;power1)
</ul>
<h2><a name="pri-types"></a>
Private Types</h2>
<ul>
<li>enum <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> { <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811acaf2c948bff23c8f1d04da41f12fe574">QueryWithCacheLeaves</a>, 
<a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811a24a2b363efc7f74b482ce52d1957b3bf">QueryWithCacheLeavesAndConstrainedComputation</a>, 
<a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811a3a2069125b24eeea4fcd590525d935bc">QueryWithCacheAll</a>
 }
<li>typedef <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; std::set<br class="typebreak"/>
&lt; std::pair&lt; <a class="el" href="classCVC3_1_1Rational.html">Rational</a>, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a46d5c29d89249608a80159a17ef5c794">AtomsMap</a>
</ul>
<h2><a name="pri-methods"></a>
Private Member Functions</h2>
<ul>
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a616b3e984904813383d6bc716496ef06">isIntegerThm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Check the term t for integrality.  <a href="#a616b3e984904813383d6bc716496ef06"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a6e0c686fb1eedbe704466bceb531dab7">isIntegerDerive</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;isIntE, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<dl class="el"><dd class="mdescRight">A helper method for <a class="el" href="classCVC3_1_1TheoryArithOld.html#a616b3e984904813383d6bc716496ef06" title="Check the term t for integrality.">isIntegerThm()</a>  <a href="#a6e0c686fb1eedbe704466bceb531dab7"></a><br/></dl><li>const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5adbc1a0946700ed1c6258fd29e044be">freeConstIneq</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ineq, bool varOnRHS)
<dl class="el"><dd class="mdescRight">Extract the free constant from an inequality.  <a href="#a5adbc1a0946700ed1c6258fd29e044be"></a><br/></dl><li>const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a> &amp; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1a20be9ae34b5301092b70364d8b4bb1">updateSubsumptionDB</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ineq, bool varOnRHS, bool &amp;subsumed)
<dl class="el"><dd class="mdescRight">Update the free constant subsumption database with new inequality.  <a href="#a1a20be9ae34b5301092b70364d8b4bb1"></a><br/></dl><li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a787aa195e77ab9fd007352d5ad74cc7f">kidsCanonical</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Check if the kids of e are fully simplified and canonized (for debugging)  <a href="#a787aa195e77ab9fd007352d5ad74cc7f"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a657b7b3914e46113e28b2e1fff310c26">canon</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Canonize the expression e, assuming, all children are canonical.  <a href="#a657b7b3914e46113e28b2e1fff310c26"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c6bb68d18ada95c8780bdce6e6cb5e5">canonSimplify</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Canonize and reduce e w.r.t. union-find database; assume all children are canonical.  <a href="#a1c6bb68d18ada95c8780bdce6e6cb5e5"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a04fff631d56ee39c895818f6bb2014b6">canonSimplify</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<dl class="el"><dd class="mdescRight">Composition of <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c6bb68d18ada95c8780bdce6e6cb5e5" title="Canonize and reduce e w.r.t. union-find database; assume all children are canonical.">canonSimplify(const Expr&amp;)</a> by transitivity: take e0 = e1, canonize and simplify e1 to e2, return e0 = e2.  <a href="#a04fff631d56ee39c895818f6bb2014b6"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3190adc8a44721ed37dfa34333462a0c">canonPred</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<dl class="el"><dd class="mdescRight">Canonize predicate (x = y, x &lt; y, etc.)  <a href="#a3190adc8a44721ed37dfa34333462a0c"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4933900b82159f8380754b386a895f84">canonPredEquiv</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7026fb3070c66f3e3001ca94c3153434">doSolve</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)
<dl class="el"><dd class="mdescRight">Solve an equation and return an equivalent <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> in the solved form.  <a href="#a7026fb3070c66f3e3001ca94c3153434"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a43f9a32880731caf7956db77adf633c8">canonConjunctionEquiv</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<dl class="el"><dd class="mdescRight">takes in a conjunction equivalence Thm and canonizes it.  <a href="#a43f9a32880731caf7956db77adf633c8"></a><br/></dl><li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c9bcf5e29f48498065f1d32a8c3f4b7">pickIntEqMonomial</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;isolated, bool &amp;nonlin)
<dl class="el"><dd class="mdescRight">picks the monomial with the smallest abs(coeff) from the input  <a href="#a1c9bcf5e29f48498065f1d32a8c3f4b7"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8eee6ca3ee410677dea1209a8cbef65f">processRealEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eqn)
<dl class="el"><dd class="mdescRight">processes equalities with 1 or more vars of type REAL  <a href="#a8eee6ca3ee410677dea1209a8cbef65f"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4f8a6f8aa73817d4696a4035713c1eaa">processIntEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eqn)
<dl class="el"><dd class="mdescRight">processes equalities whose vars are all of type INT  <a href="#a4f8a6f8aa73817d4696a4035713c1eaa"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8b94e299e5947b05b3e29757ff621b56">processSimpleIntEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eqn)
<dl class="el"><dd class="mdescRight">One step of INT equality processing (aux. method for <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4f8a6f8aa73817d4696a4035713c1eaa" title="processes equalities whose vars are all of type INT">processIntEq()</a>)  <a href="#a8b94e299e5947b05b3e29757ff621b56"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad6d1693a1a81c87e64d51abb3596f21b">processBuffer</a> ()
<dl class="el"><dd class="mdescRight">Process inequalities in the buffer.  <a href="#ad6d1693a1a81c87e64d51abb3596f21b"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3bef421de6f4579b54b76666d015ecb4">isolateVariable</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;inputThm, bool &amp;e1)
<dl class="el"><dd class="mdescRight">Take an inequality and isolate a variable.  <a href="#a3bef421de6f4579b54b76666d015ecb4"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#aeda9acb0bae07ff39ce79f8b0e2e83f7">updateStats</a> (const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;var)
<dl class="el"><dd class="mdescRight">Update the statistics counters for the variable with a coeff. c.  <a href="#aeda9acb0bae07ff39ce79f8b0e2e83f7"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#aeb19474dc85d27601add9f7956bb2768">updateStats</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;monomial)
<dl class="el"><dd class="mdescRight">Update the statistics counters for the monomial.  <a href="#aeb19474dc85d27601add9f7956bb2768"></a><br/></dl><li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a473d3204340c03e97f8eae1975b752cb">addToBuffer</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm, bool priority=false)
<dl class="el"><dd class="mdescRight">Add an inequality to the input buffer. See also d_buffer.  <a href="#a473d3204340c03e97f8eae1975b752cb"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1b9f6be5cba7ac4ae67800f5b002ef09">computeNormalFactor</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs, bool normalizeConstants)
<dl class="el"><dd class="mdescRight">Given a canonized term, compute a factor to make all coefficients integer and relatively prime.  <a href="#a1b9f6be5cba7ac4ae67800f5b002ef09"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a19b5fc9e624049923d3bf7d561cf83a8">normalize</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Normalize an equation (make all coefficients rel. prime integers)  <a href="#a19b5fc9e624049923d3bf7d561cf83a8"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad28af4388c0e1a5548faddbc00662040">normalize</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<dl class="el"><dd class="mdescRight">Normalize an equation (make all coefficients rel. prime integers)  <a href="#ad28af4388c0e1a5548faddbc00662040"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a12afa30f9322b35f5c79107522aa3d40">pickMonomial</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1bd6e1f367ec9b69c2f511716c4d4b59">getFactors</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::set&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;factors)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7aaeb2f1987ed2be618088b8149dd329">lessThanVar</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;isolatedVar, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;var2)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#ac623d777315532c14558cff5b16cd085">isStale</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Check if the term expression is "stale".  <a href="#ac623d777315532c14558cff5b16cd085"></a><br/></dl><li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a65e5d28ea620e399d0d11e4580379394">isStale</a> (const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &amp;ineq)
<dl class="el"><dd class="mdescRight">Check if the inequality is "stale" or subsumed.  <a href="#a65e5d28ea620e399d0d11e4580379394"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a03cf8b3d693cd9bc3237f9e1e1cacaf1">projectInequalities</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;theInequality, bool isolatedVarOnRHS)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a515b32506fecca7cd6425d62b9ef5077">assignVariables</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;v)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab26f578642a85785f9323fcabef94797">findRationalBound</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;varSide, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ratSide, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;var, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;r)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8dfcde6ee0edf0f14959b1b582575261">findBounds</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;lub, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;glb)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a6998209aa1c4e1ed10a2be7b7303d89c">normalizeProjectIneqs</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;ineqThm1, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;ineqThm2)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a02f7b174fc1989343a087bb495cb7e75">solvedForm</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;solvedEqs)
<dl class="el"><dd class="mdescRight">Take a system of equations and turn it into a solved form.  <a href="#a02f7b174fc1989343a087bb495cb7e75"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a315acb4c55cf413c47c013853a534112">substAndCanonize</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;subst)
<dl class="el"><dd class="mdescRight">Substitute all vars in term 't' according to the substitution 'subst' and canonize the result.  <a href="#a315acb4c55cf413c47c013853a534112"></a><br/></dl><li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a6d57d63930df3fd7cd61ffb4603f012d">substAndCanonize</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eq, <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;subst)
<dl class="el"><dd class="mdescRight">Substitute all vars in the RHS of the equation 'eq' of the form (x = t) according to the substitution 'subst', and canonize the result.  <a href="#a6d57d63930df3fd7cd61ffb4603f012d"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa3aac05d983610669f500fb761615fa0">collectVars</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, std::set&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;cache)
<dl class="el"><dd class="mdescRight">Traverse 'e' and push all the i-leaves into 'vars' vector.  <a href="#aa3aac05d983610669f500fb761615fa0"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#abc79fe4a559ac4d6e9b75a2cab81d2b0">processFiniteInterval</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;alphaLEax, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;bxLEbeta)
<dl class="el"><dd class="mdescRight">Check if alpha &lt;= ax &amp; bx &lt;= beta is a finite interval for integer var 'x', and assert the corresponding constraint.  <a href="#abc79fe4a559ac4d6e9b75a2cab81d2b0"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a9dc4aaaa3c9bf4cc53ed6e699b5cb67d">processFiniteIntervals</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;x)
<dl class="el"><dd class="mdescRight">For an integer var 'x', find and process all constraints A &lt;= ax &lt;= A+c.  <a href="#a9dc4aaaa3c9bf4cc53ed6e699b5cb67d"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ac240d8f8712b716744824921cf46deb0">setupRec</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Recursive setup for isolated inequalities (and other new expressions)  <a href="#ac240d8f8712b716744824921cf46deb0"></a><br/></dl><li><a class="el" href="classCVC3_1_1Rational.html">Rational</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a44ca4928fb45298b5d5586c8b509fba3">currentMaxCoefficient</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> var)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7bb41aa46d0caeecb89a534fc9c359af">fixCurrentMaxCoefficient</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> variable, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> max)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#a86f96d920118d4b8c7b6bf78bb6ee740">selectSmallestByCoefficient</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;input, std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;output)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#aea59b6a8576bd484d6bcede8363e4076">rafineInequalityToInteger</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1b75e191eff379114ec4ad4e73c73610">checkIntegerEquality</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm)
<li><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a83f995b3176a7faffae2a5fcd5c2386f">inequalityToFind</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;inequalityThm, bool normalizeRHS)
<li>int <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3244505fc75c1ef822b445c266da5bb5">extractTermsFromInequality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;inequality, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c1, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c2, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)
<li>void <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad4d5973db0c0b0d26e358450b0c0a4a1">registerAtom</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<dl class="el"><dd class="mdescRight">Theory-specific registration of atoms.  <a href="#ad4d5973db0c0b0d26e358450b0c0a4a1"></a><br/></dl><li>int <a class="el" href="classCVC3_1_1TheoryArithOld.html#a878f9a4ecf6d87a79f37e9e916750d4c">termDegree</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#aaa7f3188301a696b421577f2c8059a46">canPickEqMonomial</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad2133967c6b85ec7b144f023b7428afd">isBounded</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa3b6cea5b43872330fab4c92d55a71d0">hasLowerBound</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7ec3bcab775ad3248c29c09c4a109a11">hasUpperBound</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a39d64f6ffb9232db82c4fea6ad6407b3">isConstrained</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, bool intOnly=true, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a31e4ddb10498727798fb49d7dae42312">isConstrainedAbove</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>bool <a class="el" href="classCVC3_1_1TheoryArithOld.html#a9c85d0cd35937c0ae9d343490b470e22">isConstrainedBelow</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a92ebe6beaf47d0b9567b4552e9aabf94">getUpperBound</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1582b7d8a6cfa35a2eb1372408e1d9d1">getLowerBound</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t, <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a> queryType=QueryWithCacheLeaves)
<li>int <a class="el" href="classCVC3_1_1TheoryArithOld.html#a0a9d00e2c2f734aec6d76a52cf301bc4">computeTermBounds</a> ()
</ul>
<h2><a name="pri-attribs"></a>
Private Attributes</h2>
<ul>
<li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a475767dfdb12442c31b65bd944b00b10">d_diseq</a>
<li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a2a0a551f54d4d406e672526fc863e982">d_diseqIdx</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa9f5d8de688f66aecd61f2c079b0e4e8">diseqSplitAlready</a>
<li><a class="el" href="classCVC3_1_1ArithProofRules.html">ArithProofRules</a> * <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1f700d0b7e2e30c96ed9d9640d988860">d_rules</a>
<li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a40829e395fe9f98d5b1a043df470c50c">d_inModelCreation</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &gt; * &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#af89e9fc76620b5d170850e769cc0c785">d_inequalitiesRightDB</a>
<dl class="el"><dd class="mdescRight">Database of inequalities with a variable isolated on the right.  <a href="#af89e9fc76620b5d170850e769cc0c785"></a><br/></dl><li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &gt; * &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad4df2ed12abb38f060e8c82515b8608c">d_inequalitiesLeftDB</a>
<dl class="el"><dd class="mdescRight">Database of inequalities with a variable isolated on the left.  <a href="#ad4df2ed12abb38f060e8c82515b8608c"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abf3123ffb3e08ece66d6982e9a4b6c2e">d_freeConstDB</a>
<dl class="el"><dd class="mdescRight">Mapping of inequalities to the largest/smallest free constant.  <a href="#abf3123ffb3e08ece66d6982e9a4b6c2e"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4d49144bb8b5ce32137c7ed8ccf27b32">d_buffer_0</a>
<dl class="el"><dd class="mdescRight">Buffer of input inequalities (high priority)  <a href="#a4d49144bb8b5ce32137c7ed8ccf27b32"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abc136583724a477c0d748096580fe0b9">d_buffer_1</a>
<dl class="el"><dd class="mdescRight">Buffer of input inequalities (one variable)  <a href="#abc136583724a477c0d748096580fe0b9"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a435fac35fb032c091e227398972ad55e">d_buffer_2</a>
<dl class="el"><dd class="mdescRight">Buffer of input inequalities (small constraints)  <a href="#a435fac35fb032c091e227398972ad55e"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4e33f5321cb15e4f7252772c58600bce">d_buffer_3</a>
<dl class="el"><dd class="mdescRight">Buffer of input inequalities (big constraint)  <a href="#a4e33f5321cb15e4f7252772c58600bce"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa2f920e8cc39034f24cbe52a7edb7754">d_bufferIdx_0</a>
<dl class="el"><dd class="mdescRight">Buffer index of the next unprocessed inequality.  <a href="#aa2f920e8cc39034f24cbe52a7edb7754"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a06582edc6ff3081f420bccb4a35b33e3">d_bufferIdx_1</a>
<dl class="el"><dd class="mdescRight">Buffer index of the next unprocessed inequality.  <a href="#a06582edc6ff3081f420bccb4a35b33e3"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a31b271732e81b39fa2d228af1dff9a68">d_bufferIdx_2</a>
<dl class="el"><dd class="mdescRight">Buffer index of the next unprocessed inequality.  <a href="#a31b271732e81b39fa2d228af1dff9a68"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aba34300626e64486129e1afa96da9837">d_bufferIdx_3</a>
<dl class="el"><dd class="mdescRight">Buffer index of the next unprocessed inequality.  <a href="#aba34300626e64486129e1afa96da9837"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; size_t &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae176998a4531d73a2723680c45ef618c">diff_logic_size</a>
<dl class="el"><dd class="mdescRight">Number of queries that are just difference logic.  <a href="#ae176998a4531d73a2723680c45ef618c"></a><br/></dl><li>const int * <a class="el" href="classCVC3_1_1TheoryArithOld.html#a53b15103320c4dcce490238f380851ff">d_bufferThres</a>
<dl class="el"><dd class="mdescRight">Threshold when the buffer must be processed.  <a href="#a53b15103320c4dcce490238f380851ff"></a><br/></dl><li>const bool * <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7cee71daa7f8f8bbd33d0b6a333f61aa">d_splitSign</a>
<li>const int * <a class="el" href="classCVC3_1_1TheoryArithOld.html#af606dcd2ddc8be8ad3f0bb6fea6eb4db">d_grayShadowThres</a>
<dl class="el"><dd class="mdescRight">Threshold on gray shadow size (ignore it and set incomplete)  <a href="#af606dcd2ddc8be8ad3f0bb6fea6eb4db"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, int &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae642c380af492cdc4581a9182514c20c">d_countRight</a>
<dl class="el"><dd class="mdescRight">Mapping of a variable to the number of inequalities where the variable would be isolated on the right.  <a href="#ae642c380af492cdc4581a9182514c20c"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, int &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a69bd49fe441cf96f2c665deb97ab6859">d_countLeft</a>
<dl class="el"><dd class="mdescRight">Mapping of a variable to the number of inequalities where the variable would be isolated on the left.  <a href="#a69bd49fe441cf96f2c665deb97ab6859"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5c8d1f10ab619b668988eb866a5b8e45">d_sharedTerms</a>
<dl class="el"><dd class="mdescRight">Set of shared terms (for counterexample generation)  <a href="#a5c8d1f10ab619b668988eb866a5b8e45"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abd3bec60e2dbe8e0c427d91227733dd2">d_sharedTermsList</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a84b39d6978a6942723f608da58d54e51">d_sharedVars</a>
<dl class="el"><dd class="mdescRight">Set of shared integer variables (i-leaves)  <a href="#a84b39d6978a6942723f608da58d54e51"></a><br/></dl><li><a class="el" href="classCVC3_1_1TheoryArithOld_1_1VarOrderGraph.html">VarOrderGraph</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3f242375ca87172a68b30c5a49a0cf2e">d_graph</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a9600791c28f5e0d0cfd79c8eb025f5e3">maxCoefficientLeft</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a667bd1e22b3275a0c8544e29bd8fe613">maxCoefficientRight</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#afc337545f540e2e3301cfaa0ff240c29">fixedMaxCoefficient</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad1514cc33619de965117a48c4e3ea342">bufferedInequalities</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a14047821f94566b7a46950d1f6529332">termLowerBound</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab6d69b6422585056ed9ce55777d04590">termLowerBoundThm</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a45ed4c2833167e036dbf682c8bd06e72">termUpperBound</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a21dd22e840f352a67dc6be3472a2bb5a">termUpperBoundThm</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a079cb45bf44fab2325badc15ec92c4e4">alreadyProjected</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a939e94398d23870f3a43fc0d7067b581">dontBuffer</a>
<li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#affd5f1260775159e8b6b01783f3cfb9b">diffLogicOnly</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">AtomsMap</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#af353ec3abe3d512a90dc8b83a28ccfb5">formulaAtomLowerBound</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">AtomsMap</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#af6089a946fd9248a222bd3a83d2e4478">formulaAtomUpperBound</a>
<li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c52c54bc6c46167e0526723128c0e72">formulaAtoms</a>
<li><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph.html">DifferenceLogicGraph</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1dda0fccac36ffbebc06beb58e404619">diffLogicGraph</a>
<li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5aef4b094054e928a145c5b9ee5703d1">zero</a>
<li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; unsigned &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#adecf2614be23bfd1347e1992081e7848">shared_index_1</a>
<li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; unsigned &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4a63d7abe48efcd5262bdec8d2a48ebf">shared_index_2</a>
<li>std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab9e74bfc121f8d683449540b3f47648d">multiplicativeSignSplits</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <br class="typebreak"/>
<a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae3f7689542dd29298e68dcc16e5976e6">termUpperBounded</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <br class="typebreak"/>
<a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a> &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa3cbd03caf1f931c74829f2502d75553">termLowerBounded</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1dbba6d20d053083679893b4f79998a8">d_varConstrainedPlus</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#acb4e673f7c27347289317a35a376f82d">d_varConstrainedMinus</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#afd5889bc69bdde0f39137619db945c80">termConstrainedBelow</a>
<li><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool &gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8c0a52d514303b34e73fc36803331419">termConstrainedAbove</a>
</ul>
<h2><a name="friends"></a>
Friends</h2>
<ul>
<li>std::ostream &amp; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a24b0687e8f0fa36a6d5bacc8155517e2">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a> &amp;fc)
<dl class="el"><dd class="mdescRight">Printing.  <a href="#a24b0687e8f0fa36a6d5bacc8155517e2"></a><br/></dl><li>std::ostream &amp; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a588ea1b8e9435f2a0fa0fbfe028fbd28">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &amp;ineq)
<dl class="el"><dd class="mdescRight">Printing.  <a href="#a588ea1b8e9435f2a0fa0fbfe028fbd28"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00030">30</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a46d5c29d89249608a80159a17ef5c794"></a><!-- doxytag: member="CVC3::TheoryArithOld::AtomsMap" ref="a46d5c29d89249608a80159a17ef5c794" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; std::set&lt; std::pair&lt;<a class="el" href="classCVC3_1_1Rational.html">Rational</a>, <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; &gt; &gt; <a class="el" href="classCVC3_1_1ExprMap.html">CVC3::TheoryArithOld::AtomsMap</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00445">445</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a26c172f0fb2468ba2255c3d5a2c46811"></a><!-- doxytag: member="CVC3::TheoryArithOld::BoundsQueryType" ref="a26c172f0fb2468ba2255c3d5a2c46811" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">CVC3::TheoryArithOld::BoundsQueryType</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a26c172f0fb2468ba2255c3d5a2c46811acaf2c948bff23c8f1d04da41f12fe574"></a><!-- doxytag: member="QueryWithCacheLeaves" ref="a26c172f0fb2468ba2255c3d5a2c46811acaf2c948bff23c8f1d04da41f12fe574" args="" -->QueryWithCacheLeaves</em>&nbsp;</td><td>
<p>Query the bounds/constrained using cache for leaves </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a26c172f0fb2468ba2255c3d5a2c46811a24a2b363efc7f74b482ce52d1957b3bf"></a><!-- doxytag: member="QueryWithCacheLeavesAndConstrainedComputation" ref="a26c172f0fb2468ba2255c3d5a2c46811a24a2b363efc7f74b482ce52d1957b3bf" args="" -->QueryWithCacheLeavesAndConstrainedComputation</em>&nbsp;</td><td>
<p>Query the bounds/constrained using cashe for leaves, but also see if the value is constrained </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a26c172f0fb2468ba2255c3d5a2c46811a3a2069125b24eeea4fcd590525d935bc"></a><!-- doxytag: member="QueryWithCacheAll" ref="a26c172f0fb2468ba2255c3d5a2c46811a3a2069125b24eeea4fcd590525d935bc" args="" -->QueryWithCacheAll</em>&nbsp;</td><td>
<p>Query the bounds/constrained by only querying the cache, don't try to figure it out </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00913">913</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a421bf72419f51b1a7e95363da00f4177"></a><!-- doxytag: member="CVC3::TheoryArithOld::TheoryArithOld" ref="a421bf72419f51b1a7e95363da00f4177" args="(TheoryCore *core)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TheoryArithOld::TheoryArithOld </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> *&#160;</td>
          <td class="paramname"><em>core</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02227">2227</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00044">createProofRulesOld()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00099">d_buffer_0</a>, <a class="el" href="theory__arith__old_8h_source.html#l00100">d_buffer_1</a>, <a class="el" href="theory__arith__old_8h_source.html#l00101">d_buffer_2</a>, <a class="el" href="theory__arith__old_8h_source.html#l00102">d_buffer_3</a>, <a class="el" href="theory__arith__old_8h_source.html#l00105">d_bufferIdx_1</a>, <a class="el" href="theory__arith__old_8h_source.html#l00106">d_bufferIdx_2</a>, <a class="el" href="theory__arith__old_8h_source.html#l00107">d_bufferIdx_3</a>, <a class="el" href="theory__arith__old_8h_source.html#l00031">d_diseq</a>, <a class="el" href="theory__arith_8h_source.html#l00073">CVC3::TheoryArith::d_intType</a>, <a class="el" href="theory__arith_8h_source.html#l00074">CVC3::TheoryArith::d_kinds</a>, <a class="el" href="theory__arith_8h_source.html#l00072">CVC3::TheoryArith::d_realType</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="theory__arith_8h_source.html#l00054">CVC3::DARK_SHADOW</a>, <a class="el" href="theory__arith__old_8h_source.html#l00885">diffLogicGraph</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00055">CVC3::GRAY_SHADOW</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00047">CVC3::INTDIV</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, <a class="el" href="theory__arith_8h_source.html#l00048">CVC3::MOD</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00034">CVC3::NEGINF</a>, <a class="el" href="expr__manager_8cpp_source.html#l00367">CVC3::ExprManager::newKind()</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00035">CVC3::POSINF</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, <a class="el" href="theory__arith_8h_source.html#l00037">CVC3::REAL</a>, <a class="el" href="theory__arith_8h_source.html#l00033">CVC3::REAL_CONST</a>, <a class="el" href="theory_8cpp_source.html#l00203">CVC3::Theory::registerTheory()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00810">CVC3::TheoryArithOld::DifferenceLogicGraph::setArith()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00806">CVC3::TheoryArithOld::DifferenceLogicGraph::setRules()</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, <a class="el" href="theory__arith_8h_source.html#l00041">CVC3::UMINUS</a>, <a class="el" href="classCVC3_1_1CommonProofRules.html#a10fa187373ec24079c10874d8e804ecb">CVC3::CommonProofRules::varIntroSkolem()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00887">zero</a>.</p>

</div>
</div>
<a class="anchor" id="a72870e1afaa3d74f5de058116211b4a9"></a><!-- doxytag: member="CVC3::TheoryArithOld::~TheoryArithOld" ref="a72870e1afaa3d74f5de058116211b4a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TheoryArithOld::~TheoryArithOld </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02343">2343</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap&lt; Data &gt;::begin()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00081">d_inequalitiesLeftDB</a>, <a class="el" href="theory__arith__old_8h_source.html#l00078">d_inequalitiesRightDB</a>, <a class="el" href="theory__arith_8h_source.html#l00074">CVC3::TheoryArith::d_kinds</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, and <a class="el" href="theory_8cpp_source.html#l00224">CVC3::Theory::unregisterTheory()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a616b3e984904813383d6bc716496ef06"></a><!-- doxytag: member="CVC3::TheoryArithOld::isIntegerThm" ref="a616b3e984904813383d6bc716496ef06" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::isIntegerThm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check the term t for integrality. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a theorem of IS_INTEGER(t) or Null. </dd></dl>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00070">70</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, and <a class="el" href="theory__arith_8h_source.html#l00173">CVC3::isReal()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05345">canPickEqMonomial()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02913">checkIntegerEquality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05799">isConstrained()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a6e0c686fb1eedbe704466bceb531dab7"></a><!-- doxytag: member="CVC3::TheoryArithOld::isIntegerDerive" ref="a6e0c686fb1eedbe704466bceb531dab7" args="(const Expr &amp;isIntE, const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::isIntegerDerive </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntE</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A helper method for <a class="el" href="classCVC3_1_1TheoryArithOld.html#a616b3e984904813383d6bc716496ef06" title="Check the term t for integrality.">isIntegerThm()</a> </p>
<p>Check if IS_INTEGER(e) is easily derivable from the given 'thm' </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00081">81</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l00421">CVC3::Expr::isAnd()</a>, and <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a5adbc1a0946700ed1c6258fd29e044be"></a><!-- doxytag: member="CVC3::TheoryArithOld::freeConstIneq" ref="a5adbc1a0946700ed1c6258fd29e044be" args="(const Expr &amp;ineq, bool varOnRHS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp; TheoryArithOld::freeConstIneq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>ineq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>varOnRHS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Extract the free constant from an inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00098">98</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a1a20be9ae34b5301092b70364d8b4bb1"></a><!-- doxytag: member="CVC3::TheoryArithOld::updateSubsumptionDB" ref="a1a20be9ae34b5301092b70364d8b4bb1" args="(const Expr &amp;ineq, bool varOnRHS, bool &amp;subsumed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">TheoryArithOld::FreeConst</a> &amp; TheoryArithOld::updateSubsumptionDB </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>ineq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>varOnRHS</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>subsumed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the free constant subsumption database with new inequality. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to the max/min constant.</dd></dl>
<p>Also, sets 'subsumed' argument to true if the inequality is subsumed by an existing inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00116">116</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="cdmap_8h_source.html#l00106">CVC3::CDOmap&lt; Key, Data, HashFcn &gt;::get()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00045">CVC3::TheoryArithOld::FreeConst::getConst()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00046">CVC3::TheoryArithOld::FreeConst::strict()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a787aa195e77ab9fd007352d5ad74cc7f"></a><!-- doxytag: member="CVC3::TheoryArithOld::kidsCanonical" ref="a787aa195e77ab9fd007352d5ad74cc7f" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::kidsCanonical </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the kids of e are fully simplified and canonized (for debugging) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00186">186</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>, and <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>.</p>

</div>
</div>
<a class="anchor" id="a657b7b3914e46113e28b2e1fff310c26"></a><!-- doxytag: member="CVC3::TheoryArithOld::canon" ref="a657b7b3914e46113e28b2e1fff310c26" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::canon </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Canonize the expression e, assuming, all children are canonical. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a78442f767c7ce9eef62df74af29178d6">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00218">218</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory__arith_8h_source.html#l00041">CVC3::UMINUS</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>.</p>

</div>
</div>
<a class="anchor" id="a1c6bb68d18ada95c8780bdce6e6cb5e5"></a><!-- doxytag: member="CVC3::TheoryArithOld::canonSimplify" ref="a1c6bb68d18ada95c8780bdce6e6cb5e5" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::canonSimplify </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Canonize and reduce e w.r.t. union-find database; assume all children are canonical. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00371">371</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8h_source.html#l00191">canonSimplify()</a>.</p>

</div>
</div>
<a class="anchor" id="a04fff631d56ee39c895818f6bb2014b6"></a><!-- doxytag: member="CVC3::TheoryArithOld::canonSimplify" ref="a04fff631d56ee39c895818f6bb2014b6" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> CVC3::TheoryArithOld::canonSimplify </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Composition of <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c6bb68d18ada95c8780bdce6e6cb5e5" title="Canonize and reduce e w.r.t. union-find database; assume all children are canonical.">canonSimplify(const Expr&amp;)</a> by transitivity: take e0 = e1, canonize and simplify e1 to e2, return e0 = e2. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00191">191</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l00371">canonSimplify()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, and <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>.</p>

</div>
</div>
<a class="anchor" id="a3190adc8a44721ed37dfa34333462a0c"></a><!-- doxytag: member="CVC3::TheoryArithOld::canonPred" ref="a3190adc8a44721ed37dfa34333462a0c" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::canonPred </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Canonize predicate (x = y, x &lt; y, etc.) </p>
<p>accepts a theorem, canonizes it, applies iffMP and substituvity to derive the canonized thm </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00401">401</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, and <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>.</p>

</div>
</div>
<a class="anchor" id="a4933900b82159f8380754b386a895f84"></a><!-- doxytag: member="CVC3::TheoryArithOld::canonPredEquiv" ref="a4933900b82159f8380754b386a895f84" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::canonPredEquiv </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Canonize predicate like canonPred except that the input theorem is an equivalent transformation.</p>
<p>accepts an equivalence theorem, canonizes it, applies iffMP and substituvity to derive the canonized thm </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00417">417</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, and <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a7026fb3070c66f3e3001ca94c3153434"></a><!-- doxytag: member="CVC3::TheoryArithOld::doSolve" ref="a7026fb3070c66f3e3001ca94c3153434" args="(const Theorem &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::doSolve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve an equation and return an equivalent <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> in the solved form. </p>
<p>Pseudo-code for doSolve. (Input is an equation) (output is a <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>)</p>
<ol type="1">
<li>translate e to the form e' = 0</li>
<li>if (e'.<a class="el" href="namespaceCVC3.html#ac0334a083d6782caa17ca0d337fddddf">isRational()</a>) then {if e' != 0 return false else true}</li>
<li>a for loop checks if all the variables are integers.<ul>
<li>if not isolate a suitable real variable and call <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8eee6ca3ee410677dea1209a8cbef65f" title="processes equalities with 1 or more vars of type REAL">processRealEq()</a>.</li>
<li>if all variables are integers then isolate suitable variable and call <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4f8a6f8aa73817d4696a4035713c1eaa" title="processes equalities whose vars are all of type INT">processIntEq()</a>. </li>
</ul>
</li>
</ol>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00447">447</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="debug_8h_source.html#l00037">FatalAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="expr_8h_source.html#l00356">CVC3::Expr::isTrue()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="arith__exception_8h_source.html#l00041">CVC3::ArithException::toString()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03547">solve()</a>.</p>

</div>
</div>
<a class="anchor" id="a43f9a32880731caf7956db77adf633c8"></a><!-- doxytag: member="CVC3::TheoryArithOld::canonConjunctionEquiv" ref="a43f9a32880731caf7956db77adf633c8" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::canonConjunctionEquiv </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>takes in a conjunction equivalence Thm and canonizes it. </p>
<p>accepts an equivalence theorem whose RHS is a conjunction, canonizes it, applies iffMP and substituvity to derive the canonized thm </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00434">434</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1c9bcf5e29f48498065f1d32a8c3f4b7"></a><!-- doxytag: member="CVC3::TheoryArithOld::pickIntEqMonomial" ref="a1c9bcf5e29f48498065f1d32a8c3f4b7" args="(const Expr &amp;right, Expr &amp;isolated, bool &amp;nonlin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::pickIntEqMonomial </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>isolated</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>nonlin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>picks the monomial with the smallest abs(coeff) from the input </p>
<p>pick a monomial for the input equation. This function is used only if the equation is an integer equation. Choose the monomial with the smallest absolute value of coefficient. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00563">563</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="cvc__util_8h_source.html#l00053">CVC3::abs()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="minisat__global_8h_source.html#l00058">MiniSat::min()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a8eee6ca3ee410677dea1209a8cbef65f"></a><!-- doxytag: member="CVC3::TheoryArithOld::processRealEq" ref="a8eee6ca3ee410677dea1209a8cbef65f" args="(const Theorem &amp;eqn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::processRealEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>eqn</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>processes equalities with 1 or more vars of type REAL </p>
<p>input is 0=e' <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> and some of the vars in e' are of type REAL. isolate one of them and send back to framework. output is "var = e''" <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00615">615</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00240">CVC3::Theorem::getLHS()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00173">CVC3::isReal()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a4f8a6f8aa73817d4696a4035713c1eaa"></a><!-- doxytag: member="CVC3::TheoryArithOld::processIntEq" ref="a4f8a6f8aa73817d4696a4035713c1eaa" args="(const Theorem &amp;eqn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::processIntEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>eqn</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>processes equalities whose vars are all of type INT </p>
<p>input is 0=e' <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> and all of the vars in e' are of type INT. isolate one of them and send back to framework. output is "var = e''" <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> and some associated equations in solved form. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00869">869</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l00421">CVC3::Expr::isAnd()</a>, <a class="el" href="expr_8h_source.html#l00357">CVC3::Expr::isBoolConst()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a8b94e299e5947b05b3e29757ff621b56"></a><!-- doxytag: member="CVC3::TheoryArithOld::processSimpleIntEq" ref="a8b94e299e5947b05b3e29757ff621b56" args="(const Theorem &amp;eqn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::processSimpleIntEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>eqn</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>One step of INT equality processing (aux. method for <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4f8a6f8aa73817d4696a4035713c1eaa" title="processes equalities whose vars are all of type INT">processIntEq()</a>) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">eqn</td><td>is a single equation 0 = e </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an equivalent <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> (x = t AND 0 = e'), or just x = t </dd></dl>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00739">739</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00240">CVC3::Theorem::getLHS()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l00421">CVC3::Expr::isAnd()</a>, <a class="el" href="theory__quant_8cpp_source.html#l03731">isIntx()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="ad6d1693a1a81c87e64d51abb3596f21b"></a><!-- doxytag: member="CVC3::TheoryArithOld::processBuffer" ref="ad6d1693a1a81c87e64d51abb3596f21b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::processBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process inequalities in the buffer. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01037">1037</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00356">CVC3::Expr::isTrue()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>.</p>

</div>
</div>
<a class="anchor" id="a3bef421de6f4579b54b76666d015ecb4"></a><!-- doxytag: member="CVC3::TheoryArithOld::isolateVariable" ref="a3bef421de6f4579b54b76666d015ecb4" args="(const Theorem &amp;inputThm, bool &amp;e1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::isolateVariable </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>inputThm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>e1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Take an inequality and isolate a variable. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01499">1499</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="aeda9acb0bae07ff39ce79f8b0e2e83f7"></a><!-- doxytag: member="CVC3::TheoryArithOld::updateStats" ref="aeda9acb0bae07ff39ce79f8b0e2e83f7" args="(const Rational &amp;c, const Expr &amp;var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::updateStats </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>var</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the statistics counters for the variable with a coeff. c. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01143">1143</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="aeb19474dc85d27601add9f7956bb2768"></a><!-- doxytag: member="CVC3::TheoryArithOld::updateStats" ref="aeb19474dc85d27601add9f7956bb2768" args="(const Expr &amp;monomial)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::updateStats </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>monomial</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the statistics counters for the monomial. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01189">1189</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>.</p>

</div>
</div>
<a class="anchor" id="a473d3204340c03e97f8eae1975b752cb"></a><!-- doxytag: member="CVC3::TheoryArithOld::addToBuffer" ref="a473d3204340c03e97f8eae1975b752cb" args="(const Theorem &amp;thm, bool priority=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::addToBuffer </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>priority</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an inequality to the input buffer. See also d_buffer. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01241">1241</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b9f6be5cba7ac4ae67800f5b002ef09"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeNormalFactor" ref="a1b9f6be5cba7ac4ae67800f5b002ef09" args="(const Expr &amp;rhs, bool normalizeConstants)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> TheoryArithOld::computeNormalFactor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalizeConstants</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a canonized term, compute a factor to make all coefficients integer and relatively prime. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01579">1579</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="cvc__util_8h_source.html#l00053">CVC3::abs()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="classCVC3_1_1Rational.html#a7c237dbba5d9f2b022d13bae3188a7e9">CVC3::Rational::getDenominator()</a>, <a class="el" href="classCVC3_1_1Rational.html#a953f2eb850fc3612097b5320dcda6047">CVC3::Rational::getNumerator()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>.</p>

</div>
</div>
<a class="anchor" id="a19b5fc9e624049923d3bf7d561cf83a8"></a><!-- doxytag: member="CVC3::TheoryArithOld::normalize" ref="a19b5fc9e624049923d3bf7d561cf83a8" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::normalize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Normalize an equation (make all coefficients rel. prime integers) </p>
<p>accepts a rewrite theorem over eqn|ineqn and normalizes it and returns a theorem to that effect. assumes e is non-trivial i.e. e is not '0=const' or 'const=0' or '0 &lt;= const' etc. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02994">2994</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l00417">canonPredEquiv()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02913">checkIntegerEquality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01579">computeNormalFactor()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#ad62d795eb10e67c655c608774881bde3">CVC3::ArithProofRules::multEqn()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a70e83cfbc207a5d15fedd4adde7e9e76">CVC3::ArithProofRules::multIneqn()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>, <a class="el" href="theory_8h_source.html#l00673">CVC3::Theory::reflexivityRule()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04613">inequalityToFind()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03070">normalize()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ad28af4388c0e1a5548faddbc00662040"></a><!-- doxytag: member="CVC3::TheoryArithOld::normalize" ref="ad28af4388c0e1a5548faddbc00662040" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::normalize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Normalize an equation (make all coefficients rel. prime integers) </p>
<p>accepts a rewrite theorem over eqn|ineqn and normalizes it and returns a theorem to that effect. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03070">3070</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory_8h_source.html#l00714">CVC3::Theory::iffMP()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>, and <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>.</p>

</div>
</div>
<a class="anchor" id="a12afa30f9322b35f5c79107522aa3d40"></a><!-- doxytag: member="CVC3::TheoryArithOld::pickMonomial" ref="a12afa30f9322b35f5c79107522aa3d40" args="(const Expr &amp;right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> TheoryArithOld::pickMonomial </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02017">2017</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a1bd6e1f367ec9b69c2f511716c4d4b59"></a><!-- doxytag: member="CVC3::TheoryArithOld::getFactors" ref="a1bd6e1f367ec9b69c2f511716c4d4b59" args="(const Expr &amp;e, std::set&lt; Expr &gt; &amp;factors)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::getFactors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::set&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>factors</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00705">705</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00178">CVC3::isIntegerConst()</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a7cf2bbefa118b69a416778e98cda8408"></a><!-- doxytag: member="CVC3::TheoryArithOld::separateMonomial" ref="a7cf2bbefa118b69a416778e98cda8408" args="(const Expr &amp;e, Expr &amp;c, Expr &amp;var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::separateMonomial </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>var</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Separate monomial e = c*p1*...*pn into c and 1*p1*...*pn. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#aa1298a20a1dcddd2be2aa7d591909d2c">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01684">1684</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01162">CVC3::Expr::getKids()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02759">findRationalBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05926">updateConstrained()</a>.</p>

</div>
</div>
<a class="anchor" id="a849e9094d3af74ee70e45112b353136c"></a><!-- doxytag: member="CVC3::TheoryArithOld::isInteger" ref="a849e9094d3af74ee70e45112b353136c" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::TheoryArithOld::isInteger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check the term t for integrality (return bool) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00258">258</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, and <a class="el" href="theory__arith_8h_source.html#l00173">CVC3::isReal()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03725">computeType()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05300">isPowerEquality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03952">print()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02432">processFiniteIntervals()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03547">solve()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="a7aaeb2f1987ed2be618088b8149dd329"></a><!-- doxytag: member="CVC3::TheoryArithOld::lessThanVar" ref="a7aaeb2f1987ed2be618088b8149dd329" args="(const Expr &amp;isolatedVar, const Expr &amp;var2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::lessThanVar </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>isolatedVar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>var2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01623">1623</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ac623d777315532c14558cff5b16cd085"></a><!-- doxytag: member="CVC3::TheoryArithOld::isStale" ref="ac623d777315532c14558cff5b16cd085" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isStale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the term expression is "stale". </p>
<p>"Stale" means it contains non-simplified subexpressions. For terms, it checks the expression's find pointer; for formulas it checks the children recursively (no caching!). So, apply it with caution, and only to simple atomic formulas (like inequality). </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01639">1639</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, and <a class="el" href="expr_8h_source.html#l01021">CVC3::Expr::isTerm()</a>.</p>

</div>
</div>
<a class="anchor" id="a65e5d28ea620e399d0d11e4580379394"></a><!-- doxytag: member="CVC3::TheoryArithOld::isStale" ref="a65e5d28ea620e399d0d11e4580379394" args="(const Ineq &amp;ineq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isStale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &amp;&#160;</td>
          <td class="paramname"><em>ineq</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the inequality is "stale" or subsumed. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01651">1651</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00045">CVC3::TheoryArithOld::FreeConst::getConst()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00066">CVC3::TheoryArithOld::Ineq::getConst()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00064">CVC3::TheoryArithOld::Ineq::ineq()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00046">CVC3::TheoryArithOld::FreeConst::strict()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00068">CVC3::TheoryArithOld::Ineq::varOnRHS()</a>.</p>

</div>
</div>
<a class="anchor" id="a03cf8b3d693cd9bc3237f9e1e1cacaf1"></a><!-- doxytag: member="CVC3::TheoryArithOld::projectInequalities" ref="a03cf8b3d693cd9bc3237f9e1e1cacaf1" args="(const Theorem &amp;theInequality, bool isolatedVarOnRHS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::projectInequalities </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>theInequality</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>isolatedVarOnRHS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01710">1710</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory__arith__old_8h_source.html#l00064">CVC3::TheoryArithOld::Ineq::ineq()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="expr_8h_source.html#l00356">CVC3::Expr::isTrue()</a>, <a class="el" href="cdlist_8h_source.html#l00066">CVC3::CDList&lt; T &gt;::push_back()</a>, <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="debug_8h_source.html#l00414">TRACE_MSG</a>.</p>

</div>
</div>
<a class="anchor" id="a515b32506fecca7cd6425d62b9ef5077"></a><!-- doxytag: member="CVC3::TheoryArithOld::assignVariables" ref="a515b32506fecca7cd6425d62b9ef5077" args="(std::vector&lt; Expr &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::assignVariables </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02831">2831</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory_8cpp_source.html#l00162">CVC3::Theory::assignValue()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05111">CVC3::TheoryArithOld::DifferenceLogicGraph::computeModel()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00155">d_graph</a>, <a class="el" href="theory__arith__old_8h_source.html#l00885">diffLogicGraph</a>, <a class="el" href="theory__arith__old_8h_source.html#l00418">diffLogicOnly</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02780">findBounds()</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05150">CVC3::TheoryArithOld::DifferenceLogicGraph::getValuation()</a>, <a class="el" href="theory_8cpp_source.html#l00097">CVC3::Theory::inconsistent()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02170">CVC3::TheoryArithOld::VarOrderGraph::selectSmallest()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02882">computeModelBasic()</a>.</p>

</div>
</div>
<a class="anchor" id="ab26f578642a85785f9323fcabef94797"></a><!-- doxytag: member="CVC3::TheoryArithOld::findRationalBound" ref="ab26f578642a85785f9323fcabef94797" args="(const Expr &amp;varSide, const Expr &amp;ratSide, const Expr &amp;var, Rational &amp;r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::findRationalBound </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>varSide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>ratSide</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02759">2759</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05223">isNonlinearEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02780">findBounds()</a>.</p>

</div>
</div>
<a class="anchor" id="a8dfcde6ee0edf0f14959b1b582575261"></a><!-- doxytag: member="CVC3::TheoryArithOld::findBounds" ref="a8dfcde6ee0edf0f14959b1b582575261" args="(const Expr &amp;e, Rational &amp;lub, Rational &amp;glb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::findBounds </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>lub</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>glb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02780">2780</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap&lt; Data &gt;::count()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00081">d_inequalitiesLeftDB</a>, <a class="el" href="theory__arith__old_8h_source.html#l00078">d_inequalitiesRightDB</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02759">findRationalBound()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>, <a class="el" href="expr__map_8h_source.html#l00171">CVC3::ExprMap&lt; Data &gt;::size()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>.</p>

</div>
</div>
<a class="anchor" id="a6998209aa1c4e1ed10a2be7b7303d89c"></a><!-- doxytag: member="CVC3::TheoryArithOld::normalizeProjectIneqs" ref="a6998209aa1c4e1ed10a2be7b7303d89c" args="(const Theorem &amp;ineqThm1, const Theorem &amp;ineqThm2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::normalizeProjectIneqs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>ineqThm1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>ineqThm2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01822">1822</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00055">CVC3::GRAY_SHADOW</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, <a class="el" href="theory__quant_8cpp_source.html#l03731">isIntx()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="expr_8h_source.html#l00422">CVC3::Expr::isOr()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a02f7b174fc1989343a087bb495cb7e75"></a><!-- doxytag: member="CVC3::TheoryArithOld::solvedForm" ref="a02f7b174fc1989343a087bb495cb7e75" args="(const std::vector&lt; Theorem &gt; &amp;solvedEqs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::solvedForm </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>solvedEqs</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Take a system of equations and turn it into a solved form. </p>
<p>Takes a vector of equations and for every equation x_i=t_i substitutes t_j for x_j in t_i for all j&gt;i. This turns the system of equations into a solved form.</p>
<p>Assumption: variables x_j may appear in the RHS terms t_i ONLY for i&lt;j, but not for i&gt;=j. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00912">912</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap&lt; Data &gt;::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="debug_8h_source.html#l00414">TRACE_MSG</a>.</p>

</div>
</div>
<a class="anchor" id="a315acb4c55cf413c47c013853a534112"></a><!-- doxytag: member="CVC3::TheoryArithOld::substAndCanonize" ref="a315acb4c55cf413c47c013853a534112" args="(const Expr &amp;t, ExprMap&lt; Theorem &gt; &amp;subst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::substAndCanonize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>subst</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Substitute all vars in term 't' according to the substitution 'subst' and canonize the result. </p>
<p>ASSUMPTION: 't' is a fully canonized arithmetic term, and every element of subst is a fully canonized equation of the form x=e, indexed by the LHS variable. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00966">966</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr__map_8h_source.html#l00170">CVC3::ExprMap&lt; Data &gt;::empty()</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a6d57d63930df3fd7cd61ffb4603f012d"></a><!-- doxytag: member="CVC3::TheoryArithOld::substAndCanonize" ref="a6d57d63930df3fd7cd61ffb4603f012d" args="(const Theorem &amp;eq, ExprMap&lt; Theorem &gt; &amp;subst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::substAndCanonize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>eq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>subst</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Substitute all vars in the RHS of the equation 'eq' of the form (x = t) according to the substitution 'subst', and canonize the result. </p>
<p>ASSUMPTION: 't' is a fully canonized equation of the form x = t, and so is every element of subst, indexed by the LHS variable. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01017">1017</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00170">CVC3::ExprMap&lt; Data &gt;::empty()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aa3aac05d983610669f500fb761615fa0"></a><!-- doxytag: member="CVC3::TheoryArithOld::collectVars" ref="aa3aac05d983610669f500fb761615fa0" args="(const Expr &amp;e, std::vector&lt; Expr &gt; &amp;vars, std::set&lt; Expr &gt; &amp;cache)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::collectVars </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::set&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cache</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Traverse 'e' and push all the i-leaves into 'vars' vector. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02359">2359</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, and <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>.</p>

</div>
</div>
<a class="anchor" id="abc79fe4a559ac4d6e9b75a2cab81d2b0"></a><!-- doxytag: member="CVC3::TheoryArithOld::processFiniteInterval" ref="abc79fe4a559ac4d6e9b75a2cab81d2b0" args="(const Theorem &amp;alphaLEax, const Theorem &amp;bxLEbeta)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::processFiniteInterval </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>alphaLEax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>bxLEbeta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if alpha &lt;= ax &amp; bx &lt;= beta is a finite interval for integer var 'x', and assert the corresponding constraint. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02373">2373</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02432">processFiniteIntervals()</a>.</p>

</div>
</div>
<a class="anchor" id="a9dc4aaaa3c9bf4cc53ed6e699b5cb67d"></a><!-- doxytag: member="CVC3::TheoryArithOld::processFiniteIntervals" ref="a9dc4aaaa3c9bf4cc53ed6e699b5cb67d" args="(const Expr &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::processFiniteIntervals </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For an integer var 'x', find and process all constraints A &lt;= ax &lt;= A+c. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02432">2432</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00081">d_inequalitiesLeftDB</a>, <a class="el" href="theory__arith__old_8h_source.html#l00078">d_inequalitiesRightDB</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02373">processFiniteInterval()</a>, and <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>.</p>

</div>
</div>
<a class="anchor" id="ac240d8f8712b716744824921cf46deb0"></a><!-- doxytag: member="CVC3::TheoryArithOld::setupRec" ref="ac240d8f8712b716744824921cf46deb0" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::setupRec </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recursive setup for isolated inequalities (and other new expressions) </p>
<p>This function recursively decends expression tree <b>without caching</b> until it hits a node that is already setup. Be careful on what expressions you are calling it. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02458">2458</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="theory_8h_source.html#l00673">CVC3::Theory::reflexivityRule()</a>, <a class="el" href="expr_8h_source.html#l01416">CVC3::Expr::setEqNext()</a>, <a class="el" href="expr_8h_source.html#l01405">CVC3::Expr::setFind()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03355">setup()</a>.</p>

</div>
</div>
<a class="anchor" id="a80f0e73dede7d5072cf7941a39a8deb4"></a><!-- doxytag: member="CVC3::TheoryArithOld::createProofRulesOld" ref="a80f0e73dede7d5072cf7941a39a8deb4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ArithProofRules.html">ArithProofRules</a> * TheoryArithOld::createProofRulesOld </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00044">44</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_old.cpp</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a1503d539a5f25dfdb5fcfe486405b658"></a><!-- doxytag: member="CVC3::TheoryArithOld::addSharedTerm" ref="a1503d539a5f25dfdb5fcfe486405b658" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::addSharedTerm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Notify theory of a new shared term. </p>
<p>When a term e associated with theory i occurs as a child of an expression associated with theory j, the framework calls i-&gt;addSharedTerm(e) and j-&gt;addSharedTerm(e) </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#ae3c23943703bddf1f6f642a4b3ff9503">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02472">2472</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00128">d_sharedTerms</a>, <a class="el" href="theory__arith__old_8h_source.html#l00129">d_sharedTermsList</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, and <a class="el" href="cdlist_8h_source.html#l00066">CVC3::CDList&lt; T &gt;::push_back()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="a998f71fde188c547c464a912058dd64d"></a><!-- doxytag: member="CVC3::TheoryArithOld::assertFact" ref="a998f71fde188c547c464a912058dd64d" args="(const Theorem &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::assertFact </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assert a new fact to the decision procedure. </p>
<p>Each fact that makes it into the core framework is assigned to exactly one theory: the theory associated with that fact. assertFact is called to inform the theory that a new fact has been assigned to the theory. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#aef5c0f3d486b56abdd8e488b5b6ede6e">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02481">2481</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l01241">addToBuffer()</a>, <a class="el" href="expr_8cpp_source.html#l00517">CVC3::Expr::addToNotify()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00099">d_buffer_0</a>, <a class="el" href="theory__arith__old_8h_source.html#l00100">d_buffer_1</a>, <a class="el" href="theory__arith__old_8h_source.html#l00101">d_buffer_2</a>, <a class="el" href="theory__arith__old_8h_source.html#l00102">d_buffer_3</a>, <a class="el" href="theory__arith__old_8h_source.html#l00104">d_bufferIdx_0</a>, <a class="el" href="theory__arith__old_8h_source.html#l00105">d_bufferIdx_1</a>, <a class="el" href="theory__arith__old_8h_source.html#l00106">d_bufferIdx_2</a>, <a class="el" href="theory__arith__old_8h_source.html#l00107">d_bufferIdx_3</a>, <a class="el" href="theory__arith__old_8h_source.html#l00111">d_bufferThres</a>, <a class="el" href="theory__arith__old_8h_source.html#l00031">d_diseq</a>, <a class="el" href="theory__arith__old_8h_source.html#l00115">d_grayShadowThres</a>, <a class="el" href="theory__arith__old_8h_source.html#l00035">d_inModelCreation</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith__old_8h_source.html#l00418">diffLogicOnly</a>, <a class="el" href="theory_8cpp_source.html#l00128">CVC3::Theory::enqueueFact()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a94ffe313b29aa63c32d5c3facb3bc917">CVC3::ArithProofRules::expandDarkShadow()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#af936b764ef75b0a6f63043d01a819044">CVC3::ArithProofRules::expandGrayShadow()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a32df170ed2ec7fb3d1c7541e6f3dda77">CVC3::ArithProofRules::expandGrayShadow0()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a597adbe8879c33bffefae537a5bca7c0">CVC3::ArithProofRules::grayShadowConst()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00190">CVC3::isDarkShadow()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a8c3d5fdc2b0c9c11291d41c3c20067e4">CVC3::ArithProofRules::IsIntegerElim()</a>, <a class="el" href="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00894">multiplicativeSignSplits</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01037">processBuffer()</a>, <a class="el" href="cdlist_8h_source.html#l00066">CVC3::CDList&lt; T &gt;::push_back()</a>, <a class="el" href="theory_8cpp_source.html#l00112">CVC3::Theory::setIncomplete()</a>, <a class="el" href="theory_8cpp_source.html#l00103">CVC3::Theory::setInconsistent()</a>, <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a4b6ef5b29b05bada6ea2df72873abea6">CVC3::ArithProofRules::splitGrayShadow()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#aa33975feef2a9cdd513e5d641f14dc7a">CVC3::ArithProofRules::splitGrayShadowSmall()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="aa4dc2c586e3bf401a1940a2057508d9f"></a><!-- doxytag: member="CVC3::TheoryArithOld::refineCounterExample" ref="aa4dc2c586e3bf401a1940a2057508d9f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::refineCounterExample </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process disequalities from the arrangement for model generation. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#aa438bb4c5ceaeca9b2bb692d725d6ce8">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02726">2726</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory_8cpp_source.html#l00148">CVC3::Theory::addSplitter()</a>, <a class="el" href="cdmap_8h_source.html#l00257">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::begin()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00035">d_inModelCreation</a>, <a class="el" href="theory__arith__old_8h_source.html#l00128">d_sharedTerms</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="theory_8cpp_source.html#l00383">CVC3::Theory::getBaseType()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00173">CVC3::isReal()</a>, <a class="el" href="theory_8h_source.html#l00430">CVC3::Theory::simplifyExpr()</a>, <a class="el" href="type_8h_source.html#l00080">CVC3::Type::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="ab0be6755fcb152cd582d064663e2d53f"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeModelBasic" ref="ab0be6755fcb152cd582d064663e2d53f" args="(const std::vector&lt; Expr &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::computeModelBasic </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assign concrete values to basic-type variables in v. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#abb0dc7f8453ab4327aca42a9bd394ca2">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02882">2882</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00035">d_inModelCreation</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="ab89a3988c04c44852823fa598358ab67"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeModel" ref="ab89a3988c04c44852823fa598358ab67" args="(const Expr &amp;e, std::vector&lt; Expr &gt; &amp;vars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::computeModel </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the value of a compound variable from the more primitive ones. </p>
<p>The more primitive variables for e are already assigned concrete values, and are available through <a class="el" href="classCVC3_1_1Theory.html#a4867f332c809f6efe8f01ffa45c32db3" title="Fetch the concrete assignment to the variable during model generation.">getModelValue()</a>.</p>
<p>The new value for e must be assigned using <a class="el" href="classCVC3_1_1Theory.html#a917b117d28514f486b296568fcd1cfd1" title="Assigns t a concrete value val. Used in model generation.">assignValue()</a> method.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>is the compound type expression to assign a value;</td></tr>
    <tr><td class="paramname">vars</td><td>are the variables actually assigned. Normally, 'e' is the only element of vars. However, e.g. in the case of uninterpreted functions, assigning 'f' means assigning all relevant applications of 'f' to constant values (f(0), f(5), etc.). Such applications might not be known before the model is constructed (they may be of the form f(x), f(y+z), etc., where x,y,z are still unassigned).</td></tr>
  </table>
  </dd>
</dl>
<p>Populating 'vars' is an opportunity for a DP to change the set of top-level "variables" to assign, if needed. In particular, it may drop 'e' from the model entirely, if it is already a concrete value by itself. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#af775fc35d6a629ec19e2ffb67ff19dd4">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02905">2905</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory_8cpp_source.html#l00162">CVC3::Theory::assignValue()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory_8cpp_source.html#l00119">CVC3::Theory::simplify()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a966afeabb8016841de17f5c51fe165a0"></a><!-- doxytag: member="CVC3::TheoryArithOld::checkSat" ref="a966afeabb8016841de17f5c51fe165a0" args="(bool fullEffort)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::checkSat </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>fullEffort</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check for satisfiability in the theory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fullEffort</td><td>when it is false, checkSat can do as much or as little work as it likes, though simple inferences and checks for consistency should be done to increase efficiency. If fullEffort is true, checkSat must check whether the set of facts given by assertFact together with the arrangement of shared terms (provided by addSharedTerm) induced by the global find database equivalence relation are satisfiable. If satisfiable, checkSat does nothing.</td></tr>
  </table>
  </dd>
</dl>
<p>If satisfiability can be acheived by merging some of the shared terms, a new fact must be enqueued using enqueueFact (this fact need not be a literal). If there is no way to make things satisfiable, setInconsistent must be called. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a1a93522e582d9381e461972125984ea4">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02606">2606</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00099">d_buffer_0</a>, <a class="el" href="theory__arith__old_8h_source.html#l00100">d_buffer_1</a>, <a class="el" href="theory__arith__old_8h_source.html#l00101">d_buffer_2</a>, <a class="el" href="theory__arith__old_8h_source.html#l00102">d_buffer_3</a>, <a class="el" href="theory__arith__old_8h_source.html#l00031">d_diseq</a>, <a class="el" href="theory__arith__old_8h_source.html#l00032">d_diseqIdx</a>, <a class="el" href="theory__arith__old_8h_source.html#l00035">d_inModelCreation</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith__old_8h_source.html#l00033">diseqSplitAlready</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#af180898d9f1d255ef3a2f528ecd8ac65">CVC3::ArithProofRules::diseqToIneq()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>, <a class="el" href="theory_8cpp_source.html#l00128">CVC3::Theory::enqueueFact()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theory_8cpp_source.html#l00310">CVC3::Theory::find()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory_8cpp_source.html#l00097">CVC3::Theory::inconsistent()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01037">processBuffer()</a>, <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a17c6d2694c44f77da17d5b32620b0761"></a><!-- doxytag: member="CVC3::TheoryArithOld::rewrite" ref="a17c6d2694c44f77da17d5b32620b0761" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::rewrite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Theory-specific rewrite rules. </p>
<p>By default, rewrite just returns a reflexive theorem stating that the input expression is equivalent to itself. However, rewrite is allowed to return any theorem which describes how the input expression is equivalent to some new expression. rewrite should be used to perform simplifications, normalization, and any other preprocessing on theory-specific expressions that needs to be done. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#aaa06e89f76f2313953a35d867c33942f">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03076">3076</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00218">canon()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00417">canonPredEquiv()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05345">canPickEqMonomial()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a8dd6bb6fed9a4745469b0cad5ed4a139">CVC3::ArithProofRules::constPredicate()</a>, <a class="el" href="expr_8cpp_source.html#l00525">CVC3::Expr::containsTermITE()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="theory__arith_8h_source.html#l00054">CVC3::DARK_SHADOW</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a419dd84177b5ca1fda7a23f3052b6132">CVC3::ArithProofRules::divideEqnNonConst()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a0e6f19ba5333f667efa3a0e3d8787775">CVC3::ArithProofRules::elimPower()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a0e240fba4eac33522b24be6581d98346">CVC3::ArithProofRules::elimPowerConst()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a646e312e12d5d23dca0c4db39d2c9fb9">CVC3::ArithProofRules::eqToIneq()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a80f948f405f0b1a88283c97b70aab43e">CVC3::ArithProofRules::evenPowerEqNegConst()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#aff4a01da77770b0b60089444c83c9cef">CVC3::ArithProofRules::flipInequality()</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00705">getFactors()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01030">CVC3::Expr::getSize()</a>, <a class="el" href="classCVC3_1_1Rational.html#ae6d4bedf76175b8f91283f610b3eb7d0">CVC3::Rational::getUnsigned()</a>, <a class="el" href="theory__arith_8h_source.html#l00055">CVC3::GRAY_SHADOW</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="classCVC3_1_1CommonProofRules.html#ae5a0a67c59ba15d84e900fdccc7653ca">CVC3::CommonProofRules::iffTrue()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#aff57d78a7d743fffd21de7d4415df3e4">CVC3::ArithProofRules::intEqIrrational()</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="expr_8h_source.html#l00406">CVC3::Expr::isAbsLiteral()</a>, <a class="el" href="expr_8cpp_source.html#l00550">CVC3::Expr::isAtomic()</a>, <a class="el" href="expr_8h_source.html#l00357">CVC3::Expr::isBoolConst()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00189">CVC3::isGE()</a>, <a class="el" href="theory__arith_8h_source.html#l00188">CVC3::isGT()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00081">isIntegerDerive()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05223">isNonlinearEq()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05300">isPowerEquality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05244">isPowersEquality()</a>, <a class="el" href="expr_8h_source.html#l00411">CVC3::Expr::isPropAtom()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theorem_8h_source.html#l00171">CVC3::Theorem::isRefl()</a>, <a class="el" href="expr_8h_source.html#l01021">CVC3::Expr::isTerm()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8cpp_source.html#l00294">CVC3::TheoryArith::leavesAreNumConst()</a>, <a class="el" href="theory_8cpp_source.html#l00557">CVC3::Theory::leavesAreSimp()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#af5cfb693ee5ee6f3463e83f01196b31e">CVC3::ArithProofRules::lessThanToLERewrite()</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#af8f4f59bd12fdd8f93d1fd49ae41279e">CVC3::ArithProofRules::multEqZero()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#aee47bda46999143ea29d7d4ff0be89d4">CVC3::ArithProofRules::negatedInequality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>, <a class="el" href="kinds_8h_source.html#l00066">NOT</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, <a class="el" href="rational_8h_source.html#l00172">CVC3::ratRoot()</a>, <a class="el" href="theory_8h_source.html#l00673">CVC3::Theory::reflexivityRule()</a>, <a class="el" href="arith__theorem__producer_8cpp_source.html#l03243">CVC3::ArithProofRules::rewriteLeavesConst()</a>, <a class="el" href="classCVC3_1_1CommonProofRules.html#a338cafc978d9b6a447e8d58af42d7e5b">CVC3::CommonProofRules::rewriteUsingSymmetry()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#acde77bf4aa73ff6b9a079b372ed7cc51">CVC3::ArithProofRules::rightMinusLeft()</a>, <a class="el" href="expr_8h_source.html#l01457">CVC3::Expr::setRewriteNormal()</a>, <a class="el" href="theory_8cpp_source.html#l00119">CVC3::Theory::simplify()</a>, <a class="el" href="theory_8h_source.html#l00093">CVC3::Theory::theoryCore()</a>, <a class="el" href="theory_8cpp_source.html#l00252">CVC3::Theory::theoryOf()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>, and <a class="el" href="theory_8cpp_source.html#l00918">CVC3::Theory::typePred()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02913">checkIntegerEquality()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>.</p>

</div>
</div>
<a class="anchor" id="af876aaea3321dd03faebd5f4b3f06ddd"></a><!-- doxytag: member="CVC3::TheoryArithOld::setup" ref="af876aaea3321dd03faebd5f4b3f06ddd" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::setup </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set up the term e for call-backs when e or its children change. </p>
<p>setup is called once for each expression associated with the theory. It is typically used to setup theory-specific data for an expression and to add call-back information for use with update. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classCVC3_1_1TheoryArithOld.html#a314a1422f7fb05eb90d94cd88625fd0c" title="Notify a theory of a new equality.">update</a> </dd></dl>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a76e011a1d78cac54d5bd87ad1b51ccb7">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03355">3355</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8cpp_source.html#l00517">CVC3::Expr::addToNotify()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="expr_8h_source.html#l01021">CVC3::Expr::isTerm()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02458">setupRec()</a>.</p>

</div>
</div>
<a class="anchor" id="a314a1422f7fb05eb90d94cd88625fd0c"></a><!-- doxytag: member="CVC3::TheoryArithOld::update" ref="a314a1422f7fb05eb90d94cd88625fd0c" args="(const Theorem &amp;e, const Expr &amp;d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::update </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Notify a theory of a new equality. </p>
<p>update is a call-back used by the notify mechanism of the core theory. It works as follows. When an equation t1 = t2 makes it into the core framework, the two find equivalence classes for t1 and t2 are merged. The result is that t2 is the new equivalence class representative and t1 is no longer an equivalence class representative. When this happens, the notify list of t1 is traversed. Notify list entries consist of a theory and an expression d. For each entry (i,d), i-&gt;update(e, d) is called, where e is the theorem corresponding to the equality t1=t2.</p>
<p>To add the entry (i,d) to a term t1's notify list, a call must be made to t1.addNotify(i,d). This is typically done in setup.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classCVC3_1_1TheoryArithOld.html#af876aaea3321dd03faebd5f4b3f06ddd" title="Set up the term e for call-backs when e or its children change.">setup</a> </dd></dl>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a065b02fa3e5ea7bf335b94ae42102cad">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03390">3390</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l02472">addSharedTerm()</a>, <a class="el" href="expr_8cpp_source.html#l00517">CVC3::Expr::addToNotify()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00406">alreadyProjected</a>, <a class="el" href="theory_8cpp_source.html#l00142">CVC3::Theory::assertEqualities()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00390">bufferedInequalities</a>, <a class="el" href="theory__arith__old_8h_source.html#l00128">d_sharedTerms</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith__old_8h_source.html#l00413">dontBuffer</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="theory_8cpp_source.html#l00128">CVC3::Theory::enqueueFact()</a>, <a class="el" href="theory_8h_source.html#l00579">CVC3::Theory::falseExpr()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theory_8cpp_source.html#l00310">CVC3::Theory::find()</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theorem_8cpp_source.html#l00240">CVC3::Theorem::getLHS()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory_8h_source.html#l00714">CVC3::Theory::iffMP()</a>, <a class="el" href="theory_8cpp_source.html#l00097">CVC3::Theory::inconsistent()</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="expr_8cpp_source.html#l00550">CVC3::Expr::isAtomic()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory_8cpp_source.html#l00103">CVC3::Theory::setInconsistent()</a>, <a class="el" href="theory_8cpp_source.html#l00119">CVC3::Theory::simplify()</a>, <a class="el" href="theory_8h_source.html#l00686">CVC3::Theory::substitutivityRule()</a>, <a class="el" href="theory_8h_source.html#l00677">CVC3::Theory::symmetryRule()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>, and <a class="el" href="theory_8h_source.html#l00582">CVC3::Theory::trueExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a9488a6be1041e63a9519482ac7e854c8"></a><!-- doxytag: member="CVC3::TheoryArithOld::solve" ref="a9488a6be1041e63a9519482ac7e854c8" args="(const Theorem &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::solve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An optional solver. </p>
<p>The solve method can be used to implement a Shostak-style solver. Since solvers do not in general combine, the following technique is used. One theory is designated as the primary solver (in our case, it is the theory of arithmetic). For each equation that enters the core framework, the primary solver is called to ensure that the equation is in solved form with respect to the primary theory.</p>
<p>After the primary solver, the solver for the theory associated with the equation is called. This solver can do whatever it likes, as long as the result is still in solved form with respect to the primary solver. This is a slight generalization of what is described in my (Clark)'s PhD thesis. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a79b7f024bad6bbac7520517071957404">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03547">3547</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00447">doSolve()</a>, <a class="el" href="theorem_8cpp_source.html#l00240">CVC3::Theorem::getLHS()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory_8cpp_source.html#l00546">CVC3::Theory::isLeafIn()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="expr_8h_source.html#l01021">CVC3::Expr::isTerm()</a>, and <a class="el" href="theory_8h_source.html#l00677">CVC3::Theory::symmetryRule()</a>.</p>

</div>
</div>
<a class="anchor" id="a331a6d4320eee82cbb093fd587c96bb8"></a><!-- doxytag: member="CVC3::TheoryArithOld::checkAssertEqInvariant" ref="a331a6d4320eee82cbb093fd587c96bb8" args="(const Theorem &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::checkAssertEqInvariant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A debug check used by the primary solver. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#ae84d7601b3361fe773127a73194160f9">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03621">3621</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="classCVC3_1_1CommonProofRules.html#a3f3592ac74d0aa0caa3b9224ea7e61f4">CVC3::CommonProofRules::andElim()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__arith_8cpp_source.html#l00257">CVC3::TheoryArith::canonSimp()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00240">CVC3::Theorem::getLHS()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory_8cpp_source.html#l00546">CVC3::Theory::isLeafIn()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="expr_8h_source.html#l01021">CVC3::Expr::isTerm()</a>, <a class="el" href="theory_8cpp_source.html#l00557">CVC3::Theory::leavesAreSimp()</a>, and <a class="el" href="theory__arith_8cpp_source.html#l00283">CVC3::TheoryArith::recursiveCanonSimpCheck()</a>.</p>

</div>
</div>
<a class="anchor" id="ad3e9ede8154ffafbbfdefef3c79d5f78"></a><!-- doxytag: member="CVC3::TheoryArithOld::checkType" ref="ad3e9ede8154ffafbbfdefef3c79d5f78" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::checkType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check that e is a valid <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> expr. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#afb944017844bcb9681fa4c223d7e7f8d">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03673">3673</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00178">CVC3::isIntegerConst()</a>, <a class="el" href="theory__arith_8h_source.html#l00037">CVC3::REAL</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ae22b1b370ee8be1c54ef4a1c3f527d5f"></a><!-- doxytag: member="CVC3::TheoryArithOld::finiteTypeInfo" ref="ae22b1b370ee8be1c54ef4a1c3f527d5f" args="(Expr &amp;e, Unsigned &amp;n, bool enumerate, bool computeSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54">Cardinality</a> TheoryArithOld::finiteTypeInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enumerate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>computeSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute information related to finiteness of types. </p>
<p>Used by the TypeComputer defined in <a class="el" href="classCVC3_1_1TheoryCore.html" title="This theory handles the built-in logical connectives plus equality. It also handles the registration ...">TheoryCore</a> (theories should not call this funtion directly -- they should use the methods in <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> instead). Each theory should implement this if it contains any types that could be non-infinite.</p>
<p>1. Returns Cardinality of the type (finite, infinite, or unknown) 2. If cardinality = finite and enumerate is true, sets e to the nth element of the type if it can sets e to NULL if n is out of bounds or if unable to compute nth element 3. If cardinality = finite and computeSize is true, sets n to the size of the type if it can sets n to 0 otherwise </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a56b40e5b07a5f409415f343013fb478b">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03697">3697</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00081">CVC3::CARD_FINITE</a>, <a class="el" href="expr_8h_source.html#l00082">CVC3::CARD_INFINITE</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="classCVC3_1_1Rational.html#ae6d4bedf76175b8f91283f610b3eb7d0">CVC3::Rational::getUnsigned()</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, and <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>.</p>

</div>
</div>
<a class="anchor" id="ae15e9cc1e826299a857a232c341402c1"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeType" ref="ae15e9cc1e826299a857a232c341402c1" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::computeType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute and store the type of e. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>is the expression whose type is computed.</td></tr>
  </table>
  </dd>
</dl>
<p>This function computes the type of the top-level operator of e, and recurses into children using getType(), if necessary. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a6abf2a3ab02d2242d7ff0673df934405">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03725">3725</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory_8h_source.html#l00576">CVC3::Theory::boolType()</a>, <a class="el" href="theory__arith_8h_source.html#l00073">CVC3::TheoryArith::d_intType</a>, <a class="el" href="theory__arith_8h_source.html#l00072">CVC3::TheoryArith::d_realType</a>, <a class="el" href="theory__arith_8h_source.html#l00054">CVC3::DARK_SHADOW</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theory_8cpp_source.html#l00383">CVC3::Theory::getBaseType()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr__manager_8cpp_source.html#l00405">CVC3::ExprManager::getKindName()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00055">CVC3::GRAY_SHADOW</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, <a class="el" href="theory__arith_8h_source.html#l00033">CVC3::REAL_CONST</a>, <a class="el" href="expr_8h_source.html#l01427">CVC3::Expr::setType()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="type_8h_source.html#l00080">CVC3::Type::toString()</a>, and <a class="el" href="theory__arith_8h_source.html#l00041">CVC3::UMINUS</a>.</p>

</div>
</div>
<a class="anchor" id="adaecdd481476e8db3e400a1bcecf25f3"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeBaseType" ref="adaecdd481476e8db3e400a1bcecf25f3" args="(const Type &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Type.html">Type</a> TheoryArithOld::computeBaseType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>tp</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the base type of the top-level operator of an arbitrary type. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a1f99b1033faaf9b5911edcd667872ac7">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03808">3808</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="type_8h_source.html#l00052">CVC3::Type::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00037">CVC3::REAL</a>, <a class="el" href="theory__arith_8h_source.html#l00152">CVC3::TheoryArith::realType()</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, and <a class="el" href="type_8h_source.html#l00080">CVC3::Type::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a30991bcd4bbcf65cd1c6215725af9899"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeModelTerm" ref="a30991bcd4bbcf65cd1c6215725af9899" args="(const Expr &amp;e, std::vector&lt; Expr &gt; &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::computeModelTerm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add variables from 'e' to 'v' for constructing a concrete model. </p>
<p>If e is already of primitive type, do NOT add it to v. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a73c222d70c5bbfc539041095df6a8321">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03575">3575</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="theory_8h_source.html#l00503">CVC3::Theory::findExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a5c1f93e8fcd10c7943895532cf0aa6f6"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeTypePred" ref="a5c1f93e8fcd10c7943895532cf0aa6f6" args="(const Type &amp;t, const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> TheoryArithOld::computeTypePred </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="classCVC3_1_1Theory.html" title="Base class for theories.">Theory</a> specific computation of the subtyping predicate for type t applied to the expression e. </p>
<p>By default returns true. Each theory needs to compute subtype predicates for the types associated with it. So, for example, the theory of records will take a record type [# f1: T1, f2: T2 #] and an expression e and will return the subtyping predicate for e, namely: computeTypePred(T1, e.f1) AND computeTypePred(T2, e.f2) </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a3b37be00ae123493d74dfd6269bb587a">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03603">3603</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00945">CVC3::andExpr()</a>, <a class="el" href="expr_8h_source.html#l01156">CVC3::Expr::getEM()</a>, <a class="el" href="type_8h_source.html#l00052">CVC3::Type::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, and <a class="el" href="expr__manager_8h_source.html#l00280">CVC3::ExprManager::trueExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a6f507fbe5ded9976e290274059611808"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeTCC" ref="a6f507fbe5ded9976e290274059611808" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> TheoryArithOld::computeTCC </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute and cache the TCC of e. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>is an expression (term or formula). This function computes the TCC of e which is true iff the expression is defined.</td></tr>
  </table>
  </dd>
</dl>
<p>This function computes the TCC or predicate of the top-level operator of e, and recurses into children using <a class="el" href="classCVC3_1_1Theory.html#af38bdeb162a9ab9bd81ce40f598f608f" title="Compute the TCC of e, or the subtyping predicate, if e is a type.">getTCC()</a>, if necessary.</p>
<p>The default implementation is to compute TCCs recursively for all children, and return their conjunction. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a076c8333b4e8ce62955e1c0701975487">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03817">3817</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00941">CVC3::Expr::andExpr()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory_8cpp_source.html#l00081">CVC3::Theory::computeTCC()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, and <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>.</p>

</div>
</div>
<a class="anchor" id="a887b53a4c32e7daab34048bdfe2a31c4"></a><!-- doxytag: member="CVC3::TheoryArithOld::print" ref="a887b53a4c32e7daab34048bdfe2a31c4" args="(ExprStream &amp;os, const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprStream.html">ExprStream</a> &amp; TheoryArithOld::print </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprStream.html">ExprStream</a> &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Theory-specific pretty-printing. </p>
<p>By default, print the top node in AST, and resume pretty-printing the children. The same call e.print(os) can be used in DP-specific printers to use AST printing for the given node. In fact, it is strongly recommended to add e.print(os) as the default for all the cases/kinds that are not handled by the particular pretty-printer. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a879d4967986103b989d7003dd815783f">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03952">3952</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theory__arith_8h_source.html#l00054">CVC3::DARK_SHADOW</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="classCVC3_1_1Rational.html#a094636dfa3a740640ca1b0c7406f7e8f">CVC3::Rational::getInt()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00055">CVC3::GRAY_SHADOW</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="expr__stream_8h_source.html#l00165">CVC3::ExprStream::lang()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="lang_8h_source.html#l00036">CVC3::LISP_LANG</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00034">CVC3::NEGINF</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00035">CVC3::POSINF</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="lang_8h_source.html#l00032">CVC3::PRESENTATION_LANG</a>, <a class="el" href="expr_8cpp_source.html#l00362">CVC3::Expr::print()</a>, <a class="el" href="expr_8cpp_source.html#l00400">CVC3::Expr::printAST()</a>, <a class="el" href="theory__arith_8cpp_source.html#l00054">CVC3::TheoryArith::printRational()</a>, <a class="el" href="expr__stream_8cpp_source.html#l00298">CVC3::push()</a>, <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>, <a class="el" href="theory__arith_8h_source.html#l00037">CVC3::REAL</a>, <a class="el" href="theory__arith_8h_source.html#l00033">CVC3::REAL_CONST</a>, <a class="el" href="lang_8h_source.html#l00043">CVC3::SIMPLIFY_LANG</a>, <a class="el" href="lang_8h_source.html#l00034">CVC3::SMTLIB_LANG</a>, <a class="el" href="lang_8h_source.html#l00052">CVC3::SMTLIB_V2_LANG</a>, <a class="el" href="expr__stream_8cpp_source.html#l00326">CVC3::space()</a>, <a class="el" href="lang_8h_source.html#l00049">CVC3::SPASS_LANG</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="lang_8h_source.html#l00046">CVC3::TPTP_LANG</a>, and <a class="el" href="theory__arith_8h_source.html#l00041">CVC3::UMINUS</a>.</p>

</div>
</div>
<a class="anchor" id="ae4d0208af0078ee314c94f199f8b50db"></a><!-- doxytag: member="CVC3::TheoryArithOld::parseExprOp" ref="ae4d0208af0078ee314c94f199f8b50db" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> TheoryArithOld::parseExprOp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Theory-specific parsing implemented by the DP. </p>

<p>Implements <a class="el" href="classCVC3_1_1TheoryArith.html#a900379e03f4f05409fa4a60e2db4e65d">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l03833">3833</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theory__arith_8h_source.html#l00045">CVC3::DIVIDE</a>, <a class="el" href="theory__arith_8h_source.html#l00219">CVC3::divideExpr()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</a>, <a class="el" href="expr_8h_source.html#l01156">CVC3::Expr::getEM()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr__manager_8cpp_source.html#l00412">CVC3::ExprManager::getKind()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00225">CVC3::gtExpr()</a>, <a class="el" href="kinds_8h_source.html#l00046">ID</a>, <a class="el" href="theory__arith_8h_source.html#l00038">CVC3::INT</a>, <a class="el" href="theory__arith_8h_source.html#l00047">CVC3::INTDIV</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="theory__arith_8h_source.html#l00221">CVC3::ltExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, <a class="el" href="theory__arith_8h_source.html#l00205">CVC3::minusExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00048">CVC3::MOD</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00034">CVC3::NEGINF</a>, <a class="el" href="expr__manager_8h_source.html#l00454">CVC3::ExprManager::newLeafExpr()</a>, <a class="el" href="kinds_8h_source.html#l00032">NULL_KIND</a>, <a class="el" href="theory_8cpp_source.html#l00519">CVC3::Theory::parseExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00035">CVC3::POSINF</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>, <a class="el" href="kinds_8h_source.html#l00044">RAW_LIST</a>, <a class="el" href="theory__arith_8h_source.html#l00037">CVC3::REAL</a>, <a class="el" href="lang_8h_source.html#l00034">CVC3::SMTLIB_LANG</a>, <a class="el" href="lang_8h_source.html#l00052">CVC3::SMTLIB_V2_LANG</a>, <a class="el" href="theory__arith_8h_source.html#l00039">CVC3::SUBRANGE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="theory__arith_8h_source.html#l00041">CVC3::UMINUS</a>, and <a class="el" href="theory__arith_8h_source.html#l00197">CVC3::uminusExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a44ca4928fb45298b5d5586c8b509fba3"></a><!-- doxytag: member="CVC3::TheoryArithOld::currentMaxCoefficient" ref="a44ca4928fb45298b5d5586c8b509fba3" args="(Expr var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> TheoryArithOld::currentMaxCoefficient </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td>
          <td class="paramname"><em>var</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current maximal coefficient of the variable.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">var</td><td>the variable. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01948">1948</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a7bb41aa46d0caeecb89a534fc9c359af"></a><!-- doxytag: member="CVC3::TheoryArithOld::fixCurrentMaxCoefficient" ref="a7bb41aa46d0caeecb89a534fc9c359af" args="(Expr variable, Rational max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::fixCurrentMaxCoefficient </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td>
          <td class="paramname"><em>variable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Fixes the current max coefficient to be used in the ordering. If the maximal coefficient changes in the future, it will not be used in the ordering.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">variable</td><td>the variable </td></tr>
    <tr><td class="paramname">max</td><td>the value to set it to </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01980">1980</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="cvc__util_8h_source.html#l00056">CVC3::max()</a>.</p>

</div>
</div>
<a class="anchor" id="a86f96d920118d4b8c7b6bf78bb6ee740"></a><!-- doxytag: member="CVC3::TheoryArithOld::selectSmallestByCoefficient" ref="a86f96d920118d4b8c7b6bf78bb6ee740" args="(const std::vector&lt; Expr &gt; &amp;input, std::vector&lt; Expr &gt; &amp;output)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::selectSmallestByCoefficient </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Among given input variables, select the smallest ones with respect to the coefficients. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01984">1984</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aea59b6a8576bd484d6bcede8363e4076"></a><!-- doxytag: member="CVC3::TheoryArithOld::rafineInequalityToInteger" ref="aea59b6a8576bd484d6bcede8363e4076" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::rafineInequalityToInteger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an inequality theorem check if it is on integers and get rid of the non-integer constants. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02953">2953</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00401">canonPred()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00417">canonPredEquiv()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory_8h_source.html#l00714">CVC3::Theory::iffMP()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a4b61e3ea9d5ac911806de95241cf35de">CVC3::ArithProofRules::rafineStrictInteger()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b75e191eff379114ec4ad4e73c73610"></a><!-- doxytag: member="CVC3::TheoryArithOld::checkIntegerEquality" ref="a1b75e191eff379114ec4ad4e73c73610" args="(const Theorem &amp;thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::checkIntegerEquality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Given an equality theorem check if it is on integers with a non-integer constant. If yes, return a theorem 0 = 1 </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l02913">2913</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory_8h_source.html#l00714">CVC3::Theory::iffMP()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a93489420e882a93eb308c7d99c27dc1e">CVC3::ArithProofRules::intEqualityRationalConstant()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>.</p>

</div>
</div>
<a class="anchor" id="a83f995b3176a7faffae2a5fcd5c2386f"></a><!-- doxytag: member="CVC3::TheoryArithOld::inequalityToFind" ref="a83f995b3176a7faffae2a5fcd5c2386f" args="(const Theorem &amp;inequalityThm, bool normalizeRHS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> TheoryArithOld::inequalityToFind </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>inequalityThm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalizeRHS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Takes an inequality theorem and substitutes the rhs for it's find. It also get's normalized. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l04613">4613</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory_8h_source.html#l00714">CVC3::Theory::iffMP()</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>, <a class="el" href="theory_8cpp_source.html#l00119">CVC3::Theory::simplify()</a>, <a class="el" href="theory_8h_source.html#l00686">CVC3::Theory::substitutivityRule()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory_8h_source.html#l00681">CVC3::Theory::transitivityRule()</a>.</p>

</div>
</div>
<a class="anchor" id="a3244505fc75c1ef822b445c266da5bb5"></a><!-- doxytag: member="CVC3::TheoryArithOld::extractTermsFromInequality" ref="a3244505fc75c1ef822b445c266da5bb5" args="(const Expr &amp;inequality, Rational &amp;c1, Expr &amp;t1, Rational &amp;c2, Expr &amp;t2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TheoryArithOld::extractTermsFromInequality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>inequality</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>c2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Take inequality of the form 0 op t and extract the c1, t1, c2 and t2, such that c1 &lt;= t1 and t2 &lt;= c2, where c1 and c2 are constants, and t1 and t2 are either sums of monomials or a monomial.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of variables in terms t1 and t2 </dd></dl>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l01196">1196</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01055">CVC3::Expr::getString()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="ad4d5973db0c0b0d26e358450b0c0a4a1"></a><!-- doxytag: member="CVC3::TheoryArithOld::registerAtom" ref="ad4d5973db0c0b0d26e358450b0c0a4a1" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::registerAtom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Theory-specific registration of atoms. </p>
<p>If a theory wants to implement its own theory propagation, it should implement this method and use it to collect all atoms that the core is interested in. If the theory can deduce the atom or its negation, it should do so (using enqueueFact). </p>

<p>Reimplemented from <a class="el" href="group__Theory__API.html#gaae6aca3030e9857d149b8ea26c44b535">CVC3::Theory</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l04662">4662</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="theory_8cpp_source.html#l00128">CVC3::Theory::enqueueFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01196">extractTermsFromInequality()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00448">formulaAtomLowerBound</a>, <a class="el" href="theory__arith__old_8h_source.html#l00454">formulaAtoms</a>, <a class="el" href="theory__arith__old_8h_source.html#l00451">formulaAtomUpperBound</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a5eaf4d106f7ce86227ab1d96ffc66b55">CVC3::ArithProofRules::implyNegatedInequality()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a9abe85f95b61d94fa308a0b15f2b2ef8">CVC3::ArithProofRules::implyWeakerInequality()</a>, <a class="el" href="expr__map_8h_source.html#l00177">CVC3::ExprMap&lt; Data &gt;::insert()</a>, <a class="el" href="expr_8h_source.html#l00398">CVC3::Expr::isAbsAtomicFormula()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="theory__arith__old_8h_source.html#l00393">termLowerBound</a>, <a class="el" href="theory__arith__old_8h_source.html#l00394">termLowerBoundThm</a>, <a class="el" href="theory__arith__old_8h_source.html#l00396">termUpperBound</a>, <a class="el" href="theory__arith__old_8h_source.html#l00397">termUpperBoundThm</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a878f9a4ecf6d87a79f37e9e916750d4c"></a><!-- doxytag: member="CVC3::TheoryArithOld::termDegree" ref="a878f9a4ecf6d87a79f37e9e916750d4c" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TheoryArithOld::termDegree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05334">5334</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="classCVC3_1_1Rational.html#a094636dfa3a740640ca1b0c7406f7e8f">CVC3::Rational::getInt()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, and <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>.</p>

</div>
</div>
<a class="anchor" id="aaa7f3188301a696b421577f2c8059a46"></a><!-- doxytag: member="CVC3::TheoryArithOld::canPickEqMonomial" ref="aaa7f3188301a696b421577f2c8059a46" args="(const Expr &amp;right)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::canPickEqMonomial </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05345">5345</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="cvc__util_8h_source.html#l00053">CVC3::abs()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory_8cpp_source.html#l00546">CVC3::Theory::isLeafIn()</a>, and <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ad2133967c6b85ec7b144f023b7428afd"></a><!-- doxytag: member="CVC3::TheoryArithOld::isBounded" ref="ad2133967c6b85ec7b144f023b7428afd" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isBounded </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the term is bounded. If the term is non-linear, just returns false. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05386">5386</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00926">hasLowerBound()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00927">hasUpperBound()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="aa3b6cea5b43872330fab4c92d55a71d0"></a><!-- doxytag: member="CVC3::TheoryArithOld::hasLowerBound" ref="aa3b6cea5b43872330fab4c92d55a71d0" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::TheoryArithOld::hasLowerBound </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00926">926</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00499">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::isFinite()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05386">isBounded()</a>.</p>

</div>
</div>
<a class="anchor" id="a7ec3bcab775ad3248c29c09c4a109a11"></a><!-- doxytag: member="CVC3::TheoryArithOld::hasUpperBound" ref="a7ec3bcab775ad3248c29c09c4a109a11" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::TheoryArithOld::hasUpperBound </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00927">927</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00499">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::isFinite()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05386">isBounded()</a>.</p>

</div>
</div>
<a class="anchor" id="a39d64f6ffb9232db82c4fea6ad6407b3"></a><!-- doxytag: member="CVC3::TheoryArithOld::isConstrained" ref="a39d64f6ffb9232db82c4fea6ad6407b3" args="(const Expr &amp;t, bool intOnly=true, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isConstrained </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>intOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05799">5799</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>.</p>

</div>
</div>
<a class="anchor" id="a31e4ddb10498727798fb49d7dae42312"></a><!-- doxytag: member="CVC3::TheoryArithOld::isConstrainedAbove" ref="a31e4ddb10498727798fb49d7dae42312" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isConstrainedAbove </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05692">5692</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00919">QueryWithCacheAll</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00911">termConstrainedAbove</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05799">isConstrained()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c85d0cd35937c0ae9d343490b470e22"></a><!-- doxytag: member="CVC3::TheoryArithOld::isConstrainedBelow" ref="a9c85d0cd35937c0ae9d343490b470e22" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isConstrainedBelow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05746">5746</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00919">QueryWithCacheAll</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00910">termConstrainedBelow</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05799">isConstrained()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>.</p>

</div>
</div>
<a class="anchor" id="a92ebe6beaf47d0b9567b4552e9aabf94"></a><!-- doxytag: member="CVC3::TheoryArithOld::getUpperBound" ref="a92ebe6beaf47d0b9567b4552e9aabf94" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">TheoryArithOld::DifferenceLogicGraph::EpsRational</a> TheoryArithOld::getUpperBound </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the term is bounded from above. If the term is non-linear, just returns false. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05391">5391</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00499">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::isFinite()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00551">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::PlusInfinity</a>, <a class="el" href="theory__arith__old_8h_source.html#l00919">QueryWithCacheAll</a>, <a class="el" href="theory__arith__old_8h_source.html#l00915">QueryWithCacheLeaves</a>, <a class="el" href="theory__arith__old_8h_source.html#l00917">QueryWithCacheLeavesAndConstrainedComputation</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00911">termConstrainedAbove</a>, <a class="el" href="theory__arith__old_8h_source.html#l00903">termUpperBounded</a>, <a class="el" href="theory__arith__old_8h_source.html#l00695">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::toString()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00555">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::Zero</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00927">hasUpperBound()</a>.</p>

</div>
</div>
<a class="anchor" id="a1582b7d8a6cfa35a2eb1372408e1d9d1"></a><!-- doxytag: member="CVC3::TheoryArithOld::getLowerBound" ref="a1582b7d8a6cfa35a2eb1372408e1d9d1" args="(const Expr &amp;t, BoundsQueryType queryType=QueryWithCacheLeaves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">TheoryArithOld::DifferenceLogicGraph::EpsRational</a> TheoryArithOld::getLowerBound </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html#a26c172f0fb2468ba2255c3d5a2c46811">BoundsQueryType</a>&#160;</td>
          <td class="paramname"><em>queryType</em> = <code>QueryWithCacheLeaves</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the term is bouned from below. If the term is non-linear, just return false. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05463">5463</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00499">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::isFinite()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00553">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::MinusInfinity</a>, <a class="el" href="theory__arith__old_8h_source.html#l00919">QueryWithCacheAll</a>, <a class="el" href="theory__arith__old_8h_source.html#l00915">QueryWithCacheLeaves</a>, <a class="el" href="theory__arith__old_8h_source.html#l00917">QueryWithCacheLeavesAndConstrainedComputation</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00910">termConstrainedBelow</a>, <a class="el" href="theory__arith__old_8h_source.html#l00904">termLowerBounded</a>, <a class="el" href="theory__arith__old_8h_source.html#l00695">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::toString()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00555">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::Zero</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00926">hasLowerBound()</a>.</p>

</div>
</div>
<a class="anchor" id="a0a9d00e2c2f734aec6d76a52cf301bc4"></a><!-- doxytag: member="CVC3::TheoryArithOld::computeTermBounds" ref="a0a9d00e2c2f734aec6d76a52cf301bc4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int TheoryArithOld::computeTermBounds </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>See whether and which terms are bounded. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05535">5535</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00155">d_graph</a>, <a class="el" href="theory__arith__old_8h_source.html#l00081">d_inequalitiesLeftDB</a>, <a class="el" href="theory__arith__old_8h_source.html#l00078">d_inequalitiesRightDB</a>, <a class="el" href="theory__arith__old_8h_source.html#l00035">d_inModelCreation</a>, <a class="el" href="theory__arith__old_8h_source.html#l00885">diffLogicGraph</a>, <a class="el" href="theory__arith__old_8h_source.html#l00418">diffLogicOnly</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="theory_8cpp_source.html#l00310">CVC3::Theory::find()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l04778">CVC3::TheoryArithOld::DifferenceLogicGraph::getEdgeWeight()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05842">CVC3::TheoryArithOld::DifferenceLogicGraph::getVariables()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02152">CVC3::TheoryArithOld::VarOrderGraph::getVerticesTopological()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05809">CVC3::TheoryArithOld::DifferenceLogicGraph::hasIncoming()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05827">CVC3::TheoryArithOld::DifferenceLogicGraph::hasOutgoing()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l04744">CVC3::TheoryArithOld::DifferenceLogicGraph::inCycle()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00064">CVC3::TheoryArithOld::Ineq::ineq()</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05799">isConstrained()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00499">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::isFinite()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l00070">isIntegerThm()</a>, <a class="el" href="theorem_8h_source.html#l00164">CVC3::Theorem::isNull()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00553">CVC3::TheoryArithOld::DifferenceLogicGraph::EpsRational::MinusInfinity</a>, <a class="el" href="theory__arith__old_8h_source.html#l00919">QueryWithCacheAll</a>, <a class="el" href="theory__arith__old_8h_source.html#l00915">QueryWithCacheLeaves</a>, <a class="el" href="theory__arith__old_8h_source.html#l00917">QueryWithCacheLeavesAndConstrainedComputation</a>, <a class="el" href="cdlist_8h_source.html#l00064">CVC3::CDList&lt; T &gt;::size()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00911">termConstrainedAbove</a>, <a class="el" href="theory__arith__old_8h_source.html#l00910">termConstrainedBelow</a>, <a class="el" href="theory__arith__old_8h_source.html#l00904">termLowerBounded</a>, <a class="el" href="theory__arith__old_8h_source.html#l00903">termUpperBounded</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05872">CVC3::TheoryArithOld::DifferenceLogicGraph::writeGraph()</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00887">zero</a>.</p>

</div>
</div>
<a class="anchor" id="abc26aaf78f6b9a25b3c5f3923719ddb7"></a><!-- doxytag: member="CVC3::TheoryArithOld::updateConstrained" ref="abc26aaf78f6b9a25b3c5f3923719ddb7" args="(const Expr &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::updateConstrained </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05926">5926</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00907">d_varConstrainedMinus</a>, <a class="el" href="theory__arith__old_8h_source.html#l00906">d_varConstrainedPlus</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a820f1ace7a5dd9e962b2453ceb1bcaf1"></a><!-- doxytag: member="CVC3::TheoryArithOld::isUnconstrained" ref="a820f1ace7a5dd9e962b2453ceb1bcaf1" args="(const Expr &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isUnconstrained </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05895">5895</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00907">d_varConstrainedMinus</a>, <a class="el" href="theory__arith__old_8h_source.html#l00906">d_varConstrainedPlus</a>, <a class="el" href="theory__arith__old_8h_source.html#l00885">diffLogicGraph</a>, <a class="el" href="theory__arith__old_8h_source.html#l00418">diffLogicOnly</a>, <a class="el" href="cdmap_8h_source.html#l00258">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::end()</a>, <a class="el" href="cdmap_8h_source.html#l00303">CVC3::CDMap&lt; Key, Data, HashFcn &gt;::find()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05809">CVC3::TheoryArithOld::DifferenceLogicGraph::hasIncoming()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05827">CVC3::TheoryArithOld::DifferenceLogicGraph::hasOutgoing()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l01684">separateMonomial()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>.</p>

</div>
</div>
<a class="anchor" id="af26f1b31629fe94f3678e4d051b17afa"></a><!-- doxytag: member="CVC3::TheoryArithOld::tryPropagate" ref="af26f1b31629fe94f3678e4d051b17afa" args="(const Expr &amp;x, const Expr &amp;y, const DifferenceLogicGraph::EdgeInfo &amp;x_y_edge, int kind)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::tryPropagate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EdgeInfo.html">DifferenceLogicGraph::EdgeInfo</a> &amp;&#160;</td>
          <td class="paramname"><em>x_y_edge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>kind</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05039">5039</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l00218">canon()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00034">d_rules</a>, <a class="el" href="theory__arith__old_8h_source.html#l00885">diffLogicGraph</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="theory_8cpp_source.html#l00128">CVC3::Theory::enqueueFact()</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap&lt; Data &gt;::find()</a>, <a class="el" href="theory_8cpp_source.html#l00310">CVC3::Theory::find()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00448">formulaAtomLowerBound</a>, <a class="el" href="theory__arith__old_8h_source.html#l00451">formulaAtomUpperBound</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l04888">CVC3::TheoryArithOld::DifferenceLogicGraph::getEdgeTheorems()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#a61ecf1cfc7219c010519cd90cb31d465">CVC3::ArithProofRules::implyNegatedInequalityDiffLogic()</a>, <a class="el" href="classCVC3_1_1ArithProofRules.html#aafc12b4bdf180f3475ecf4eaa40648d9">CVC3::ArithProofRules::implyWeakerInequalityDiffLogic()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith__old_8h_source.html#l00712">CVC3::TheoryArithOld::DifferenceLogicGraph::EdgeInfo::length</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00156">CVC3::TheoryArith::rat()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>, and <a class="el" href="theory__arith__old_8h_source.html#l00887">zero</a>.</p>

</div>
</div>
<a class="anchor" id="a0f6143643b36835a5383acfa65252f3e"></a><!-- doxytag: member="CVC3::TheoryArithOld::addMultiplicativeSignSplit" ref="a0f6143643b36835a5383acfa65252f3e" args="(const Theorem &amp;case_split_thm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TheoryArithOld::addMultiplicativeSignSplit </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>case_split_thm</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1TheoryArith.html#a7491e5568f08eb89f9e801fccbd94b3e">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05194">5194</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00894">multiplicativeSignSplits</a>.</p>

</div>
</div>
<a class="anchor" id="a7cc81a1017de4d7e2c7278dfc01a4e60"></a><!-- doxytag: member="CVC3::TheoryArithOld::addPairToArithOrder" ref="a7cc81a1017de4d7e2c7278dfc01a4e60" args="(const Expr &amp;smaller, const Expr &amp;bigger)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::addPairToArithOrder </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>smaller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>bigger</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Record that smaller should be smaller than bigger in the variable order. Should be implemented in decision procedures that support it. </p>

<p>Reimplemented from <a class="el" href="classCVC3_1_1TheoryArith.html#a9c7006698172a267cd3b138baf5ad5a9">CVC3::TheoryArith</a>.</p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05198">5198</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="theory__arith__old_8cpp_source.html#l02093">CVC3::TheoryArithOld::VarOrderGraph::addEdge()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00155">d_graph</a>, <a class="el" href="debug_8h_source.html#l00037">FatalAssert</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, <a class="el" href="theory__arith_8h_source.html#l00173">CVC3::isReal()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02103">CVC3::TheoryArithOld::VarOrderGraph::lessThan()</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p>

</div>
</div>
<a class="anchor" id="a372a7ff635b9de24607daa04d3a63d02"></a><!-- doxytag: member="CVC3::TheoryArithOld::nonlinearSignSplit" ref="a372a7ff635b9de24607daa04d3a63d02" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::TheoryArithOld::nonlinearSignSplit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00959">959</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>References <a class="el" href="theory__arith__old_8h_source.html#l00113">d_splitSign</a>.</p>

</div>
</div>
<a class="anchor" id="ab8686f11885fd196e2d0e592f767ba76"></a><!-- doxytag: member="CVC3::TheoryArithOld::isNonlinearEq" ref="ab8686f11885fd196e2d0e592f767ba76" args="(const Expr &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isNonlinearEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if equation is nonlinear. An equation is nonlinear if there is at least one nonlinear term in the sum on either side of the equation. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05223">5223</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05210">isNonlinearSumTerm()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02759">findRationalBound()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="aadfdf8251af6c3a07baa5e8ee0828146"></a><!-- doxytag: member="CVC3::TheoryArithOld::isNonlinearSumTerm" ref="aadfdf8251af6c3a07baa5e8ee0828146" args="(const Expr &amp;term)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isNonlinearSumTerm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>term</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if a sum term is nonlinear </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05210">5210</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory_8h_source.html#l00556">CVC3::Theory::isLeaf()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, and <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05223">isNonlinearEq()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a3eebb5aa899590483a0e9f8223599051"></a><!-- doxytag: member="CVC3::TheoryArithOld::isPowersEquality" ref="a3eebb5aa899590483a0e9f8223599051" args="(const Expr &amp;nonlinearEq, Expr &amp;power1, Expr &amp;power2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isPowersEquality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>nonlinearEq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>power1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>power2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the equality is of the form c + power1^n - power2^n = 0; </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05244">5244</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<a class="anchor" id="af99992fce594e9940305e0121eb0b45c"></a><!-- doxytag: member="CVC3::TheoryArithOld::isPowerEquality" ref="af99992fce594e9940305e0121eb0b45c" args="(const Expr &amp;nonlinearEq, Rational &amp;constant, Expr &amp;power1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool TheoryArithOld::isPowerEquality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>nonlinearEq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>constant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>power1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the equality is of the form c - x^n = 0 </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l05300">5300</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith__old_8h_source.html#l00258">isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, <a class="el" href="theory__arith_8h_source.html#l00185">CVC3::isPow()</a>, <a class="el" href="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a24b0687e8f0fa36a6d5bacc8155517e2"></a><!-- doxytag: member="CVC3::TheoryArithOld::operator&lt;&lt;" ref="a24b0687e8f0fa36a6d5bacc8155517e2" args="(std::ostream &amp;os, const FreeConst &amp;fc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a> &amp;&#160;</td>
          <td class="paramname"><em>fc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Printing. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00046">46</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a588ea1b8e9435f2a0fa0fbfe028fbd28"></a><!-- doxytag: member="CVC3::TheoryArithOld::operator&lt;&lt;" ref="a588ea1b8e9435f2a0fa0fbfe028fbd28" args="(std::ostream &amp;os, const Ineq &amp;ineq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a> &amp;&#160;</td>
          <td class="paramname"><em>ineq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Printing. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8cpp_source.html#l00056">56</a> of file <a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a475767dfdb12442c31b65bd944b00b10"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_diseq" ref="a475767dfdb12442c31b65bd944b00b10" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a475767dfdb12442c31b65bd944b00b10">CVC3::TheoryArithOld::d_diseq</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00031">31</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a0a551f54d4d406e672526fc863e982"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_diseqIdx" ref="a2a0a551f54d4d406e672526fc863e982" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a2a0a551f54d4d406e672526fc863e982">CVC3::TheoryArithOld::d_diseqIdx</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00032">32</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>.</p>

</div>
</div>
<a class="anchor" id="aa9f5d8de688f66aecd61f2c079b0e4e8"></a><!-- doxytag: member="CVC3::TheoryArithOld::diseqSplitAlready" ref="aa9f5d8de688f66aecd61f2c079b0e4e8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa9f5d8de688f66aecd61f2c079b0e4e8">CVC3::TheoryArithOld::diseqSplitAlready</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00033">33</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f700d0b7e2e30c96ed9d9640d988860"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_rules" ref="a1f700d0b7e2e30c96ed9d9640d988860" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ArithProofRules.html">ArithProofRules</a>* <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1f700d0b7e2e30c96ed9d9640d988860">CVC3::TheoryArithOld::d_rules</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00034">34</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02913">checkIntegerEquality()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02994">normalize()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02953">rafineInequalityToInteger()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l03076">rewrite()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02343">~TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a40829e395fe9f98d5b1a043df470c50c"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_inModelCreation" ref="a40829e395fe9f98d5b1a043df470c50c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a40829e395fe9f98d5b1a043df470c50c">CVC3::TheoryArithOld::d_inModelCreation</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00035">35</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02882">computeModelBasic()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02726">refineCounterExample()</a>.</p>

</div>
</div>
<a class="anchor" id="af89e9fc76620b5d170850e769cc0c785"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_inequalitiesRightDB" ref="af89e9fc76620b5d170850e769cc0c785" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;<a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a>&gt; *&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#af89e9fc76620b5d170850e769cc0c785">CVC3::TheoryArithOld::d_inequalitiesRightDB</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Database of inequalities with a variable isolated on the right. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00078">78</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02780">findBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02432">processFiniteIntervals()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02343">~TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="ad4df2ed12abb38f060e8c82515b8608c"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_inequalitiesLeftDB" ref="ad4df2ed12abb38f060e8c82515b8608c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;<a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1TheoryArithOld_1_1Ineq.html">Ineq</a>&gt; *&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad4df2ed12abb38f060e8c82515b8608c">CVC3::TheoryArithOld::d_inequalitiesLeftDB</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Database of inequalities with a variable isolated on the left. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00081">81</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02780">findBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02432">processFiniteIntervals()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02343">~TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="abf3123ffb3e08ece66d6982e9a4b6c2e"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_freeConstDB" ref="abf3123ffb3e08ece66d6982e9a4b6c2e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1TheoryArithOld_1_1FreeConst.html">FreeConst</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abf3123ffb3e08ece66d6982e9a4b6c2e">CVC3::TheoryArithOld::d_freeConstDB</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mapping of inequalities to the largest/smallest free constant. </p>
<p>The <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> is the original inequality with the free constant removed and inequality converted to non-strict (for indexing purposes). I.e. ax&lt;c+t becomes ax&lt;=t. This inequality is mapped to a pair&lt;c,strict&gt;, the smallest (largest for c+t&lt;ax) constant among inequalities with the same 'a', 'x', and 't', and a boolean flag indicating whether the strongest inequality is strict. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00091">91</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d49144bb8b5ce32137c7ed8ccf27b32"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_buffer_0" ref="a4d49144bb8b5ce32137c7ed8ccf27b32" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4d49144bb8b5ce32137c7ed8ccf27b32">CVC3::TheoryArithOld::d_buffer_0</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer of input inequalities (high priority) </p>
<p>Is the problem only difference logic </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00099">99</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="abc136583724a477c0d748096580fe0b9"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_buffer_1" ref="abc136583724a477c0d748096580fe0b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abc136583724a477c0d748096580fe0b9">CVC3::TheoryArithOld::d_buffer_1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer of input inequalities (one variable) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00100">100</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a435fac35fb032c091e227398972ad55e"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_buffer_2" ref="a435fac35fb032c091e227398972ad55e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a435fac35fb032c091e227398972ad55e">CVC3::TheoryArithOld::d_buffer_2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer of input inequalities (small constraints) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00101">101</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a4e33f5321cb15e4f7252772c58600bce"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_buffer_3" ref="a4e33f5321cb15e4f7252772c58600bce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4e33f5321cb15e4f7252772c58600bce">CVC3::TheoryArithOld::d_buffer_3</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer of input inequalities (big constraint) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00102">102</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02606">checkSat()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="aa2f920e8cc39034f24cbe52a7edb7754"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_bufferIdx_0" ref="aa2f920e8cc39034f24cbe52a7edb7754" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa2f920e8cc39034f24cbe52a7edb7754">CVC3::TheoryArithOld::d_bufferIdx_0</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer index of the next unprocessed inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00104">104</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>.</p>

</div>
</div>
<a class="anchor" id="a06582edc6ff3081f420bccb4a35b33e3"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_bufferIdx_1" ref="a06582edc6ff3081f420bccb4a35b33e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a06582edc6ff3081f420bccb4a35b33e3">CVC3::TheoryArithOld::d_bufferIdx_1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer index of the next unprocessed inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00105">105</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="a31b271732e81b39fa2d228af1dff9a68"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_bufferIdx_2" ref="a31b271732e81b39fa2d228af1dff9a68" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a31b271732e81b39fa2d228af1dff9a68">CVC3::TheoryArithOld::d_bufferIdx_2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer index of the next unprocessed inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00106">106</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="aba34300626e64486129e1afa96da9837"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_bufferIdx_3" ref="aba34300626e64486129e1afa96da9837" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aba34300626e64486129e1afa96da9837">CVC3::TheoryArithOld::d_bufferIdx_3</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer index of the next unprocessed inequality. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00107">107</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>.</p>

</div>
</div>
<a class="anchor" id="ae176998a4531d73a2723680c45ef618c"></a><!-- doxytag: member="CVC3::TheoryArithOld::diff_logic_size" ref="ae176998a4531d73a2723680c45ef618c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;size_t&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae176998a4531d73a2723680c45ef618c">CVC3::TheoryArithOld::diff_logic_size</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of queries that are just difference logic. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00109">109</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a53b15103320c4dcce490238f380851ff"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_bufferThres" ref="a53b15103320c4dcce490238f380851ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int* <a class="el" href="classCVC3_1_1TheoryArithOld.html#a53b15103320c4dcce490238f380851ff">CVC3::TheoryArithOld::d_bufferThres</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Threshold when the buffer must be processed. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00111">111</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>.</p>

</div>
</div>
<a class="anchor" id="a7cee71daa7f8f8bbd33d0b6a333f61aa"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_splitSign" ref="a7cee71daa7f8f8bbd33d0b6a333f61aa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const bool* <a class="el" href="classCVC3_1_1TheoryArithOld.html#a7cee71daa7f8f8bbd33d0b6a333f61aa">CVC3::TheoryArithOld::d_splitSign</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00113">113</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8h_source.html#l00959">nonlinearSignSplit()</a>.</p>

</div>
</div>
<a class="anchor" id="af606dcd2ddc8be8ad3f0bb6fea6eb4db"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_grayShadowThres" ref="af606dcd2ddc8be8ad3f0bb6fea6eb4db" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int* <a class="el" href="classCVC3_1_1TheoryArithOld.html#af606dcd2ddc8be8ad3f0bb6fea6eb4db">CVC3::TheoryArithOld::d_grayShadowThres</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Threshold on gray shadow size (ignore it and set incomplete) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00115">115</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>.</p>

</div>
</div>
<a class="anchor" id="ae642c380af492cdc4581a9182514c20c"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_countRight" ref="ae642c380af492cdc4581a9182514c20c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, int&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae642c380af492cdc4581a9182514c20c">CVC3::TheoryArithOld::d_countRight</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mapping of a variable to the number of inequalities where the variable would be isolated on the right. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00121">121</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a69bd49fe441cf96f2c665deb97ab6859"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_countLeft" ref="a69bd49fe441cf96f2c665deb97ab6859" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, int&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a69bd49fe441cf96f2c665deb97ab6859">CVC3::TheoryArithOld::d_countLeft</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mapping of a variable to the number of inequalities where the variable would be isolated on the left. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00125">125</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5c8d1f10ab619b668988eb866a5b8e45"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_sharedTerms" ref="a5c8d1f10ab619b668988eb866a5b8e45" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5c8d1f10ab619b668988eb866a5b8e45">CVC3::TheoryArithOld::d_sharedTerms</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set of shared terms (for counterexample generation) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00128">128</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02472">addSharedTerm()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02726">refineCounterExample()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="abd3bec60e2dbe8e0c427d91227733dd2"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_sharedTermsList" ref="abd3bec60e2dbe8e0c427d91227733dd2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#abd3bec60e2dbe8e0c427d91227733dd2">CVC3::TheoryArithOld::d_sharedTermsList</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00129">129</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02472">addSharedTerm()</a>.</p>

</div>
</div>
<a class="anchor" id="a84b39d6978a6942723f608da58d54e51"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_sharedVars" ref="a84b39d6978a6942723f608da58d54e51" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a84b39d6978a6942723f608da58d54e51">CVC3::TheoryArithOld::d_sharedVars</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set of shared integer variables (i-leaves) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00132">132</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f242375ca87172a68b30c5a49a0cf2e"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_graph" ref="a3f242375ca87172a68b30c5a49a0cf2e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1TheoryArithOld_1_1VarOrderGraph.html">VarOrderGraph</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a3f242375ca87172a68b30c5a49a0cf2e">CVC3::TheoryArithOld::d_graph</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00155">155</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05198">addPairToArithOrder()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>.</p>

</div>
</div>
<a class="anchor" id="a9600791c28f5e0d0cfd79c8eb025f5e3"></a><!-- doxytag: member="CVC3::TheoryArithOld::maxCoefficientLeft" ref="a9600791c28f5e0d0cfd79c8eb025f5e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;<a class="el" href="classCVC3_1_1Rational.html">Rational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a9600791c28f5e0d0cfd79c8eb025f5e3">CVC3::TheoryArithOld::maxCoefficientLeft</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Map from variables to the maximal (by absolute value) of one of it's coefficients </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00350">350</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a667bd1e22b3275a0c8544e29bd8fe613"></a><!-- doxytag: member="CVC3::TheoryArithOld::maxCoefficientRight" ref="a667bd1e22b3275a0c8544e29bd8fe613" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;<a class="el" href="classCVC3_1_1Rational.html">Rational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a667bd1e22b3275a0c8544e29bd8fe613">CVC3::TheoryArithOld::maxCoefficientRight</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00351">351</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="afc337545f540e2e3301cfaa0ff240c29"></a><!-- doxytag: member="CVC3::TheoryArithOld::fixedMaxCoefficient" ref="afc337545f540e2e3301cfaa0ff240c29" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;<a class="el" href="classCVC3_1_1Rational.html">Rational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#afc337545f540e2e3301cfaa0ff240c29">CVC3::TheoryArithOld::fixedMaxCoefficient</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Map from variables to the fixed value of one of it's coefficients </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00354">354</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad1514cc33619de965117a48c4e3ea342"></a><!-- doxytag: member="CVC3::TheoryArithOld::bufferedInequalities" ref="ad1514cc33619de965117a48c4e3ea342" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ad1514cc33619de965117a48c4e3ea342">CVC3::TheoryArithOld::bufferedInequalities</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Keep the expressions that are already in the buffer </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00390">390</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="a14047821f94566b7a46950d1f6529332"></a><!-- doxytag: member="CVC3::TheoryArithOld::termLowerBound" ref="a14047821f94566b7a46950d1f6529332" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Rational.html">Rational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a14047821f94566b7a46950d1f6529332">CVC3::TheoryArithOld::termLowerBound</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Strict lower bounds on terms, so that we don't add inequalities to the buffer </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00393">393</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d69b6422585056ed9ce55777d04590"></a><!-- doxytag: member="CVC3::TheoryArithOld::termLowerBoundThm" ref="ab6d69b6422585056ed9ce55777d04590" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab6d69b6422585056ed9ce55777d04590">CVC3::TheoryArithOld::termLowerBoundThm</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00394">394</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="a45ed4c2833167e036dbf682c8bd06e72"></a><!-- doxytag: member="CVC3::TheoryArithOld::termUpperBound" ref="a45ed4c2833167e036dbf682c8bd06e72" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Rational.html">Rational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a45ed4c2833167e036dbf682c8bd06e72">CVC3::TheoryArithOld::termUpperBound</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Strict upper bounds on terms, so that we don't add inequalities to the buffer </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00396">396</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="a21dd22e840f352a67dc6be3472a2bb5a"></a><!-- doxytag: member="CVC3::TheoryArithOld::termUpperBoundThm" ref="a21dd22e840f352a67dc6be3472a2bb5a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a21dd22e840f352a67dc6be3472a2bb5a">CVC3::TheoryArithOld::termUpperBoundThm</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00397">397</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="a079cb45bf44fab2325badc15ec92c4e4"></a><!-- doxytag: member="CVC3::TheoryArithOld::alreadyProjected" ref="a079cb45bf44fab2325badc15ec92c4e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a079cb45bf44fab2325badc15ec92c4e4">CVC3::TheoryArithOld::alreadyProjected</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Which inequalities have already been projected (on which monomial).</p>
<ul>
<li>if we get an update of an inequality that's not been projected, we don't care it will get projected (it's find)</li>
<li>when projecting, project the finds, not the originals</li>
<li>when done projecting add here, both original and the find </li>
</ul>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00406">406</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="a939e94398d23870f3a43fc0d7067b581"></a><!-- doxytag: member="CVC3::TheoryArithOld::dontBuffer" ref="a939e94398d23870f3a43fc0d7067b581" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a939e94398d23870f3a43fc0d7067b581">CVC3::TheoryArithOld::dontBuffer</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sometimes we know an inequality is in the buffer (as a find of something) and we don't want it in the buffer, but we do want to pre-process it, so we put it here. </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00413">413</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l03390">update()</a>.</p>

</div>
</div>
<a class="anchor" id="affd5f1260775159e8b6b01783f3cfb9b"></a><!-- doxytag: member="CVC3::TheoryArithOld::diffLogicOnly" ref="affd5f1260775159e8b6b01783f3cfb9b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#affd5f1260775159e8b6b01783f3cfb9b">CVC3::TheoryArithOld::diffLogicOnly</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Are we doing only difference logic? </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00418">418</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>.</p>

</div>
</div>
<a class="anchor" id="af353ec3abe3d512a90dc8b83a28ccfb5"></a><!-- doxytag: member="CVC3::TheoryArithOld::formulaAtomLowerBound" ref="af353ec3abe3d512a90dc8b83a28ccfb5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">AtomsMap</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#af353ec3abe3d512a90dc8b83a28ccfb5">CVC3::TheoryArithOld::formulaAtomLowerBound</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Map from terms to their lower bound (and the original formula expression) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00448">448</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>.</p>

</div>
</div>
<a class="anchor" id="af6089a946fd9248a222bd3a83d2e4478"></a><!-- doxytag: member="CVC3::TheoryArithOld::formulaAtomUpperBound" ref="af6089a946fd9248a222bd3a83d2e4478" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">AtomsMap</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#af6089a946fd9248a222bd3a83d2e4478">CVC3::TheoryArithOld::formulaAtomUpperBound</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Map from terms to their upper bound (and the original formula expression) </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00451">451</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>.</p>

</div>
</div>
<a class="anchor" id="a1c52c54bc6c46167e0526723128c0e72"></a><!-- doxytag: member="CVC3::TheoryArithOld::formulaAtoms" ref="a1c52c54bc6c46167e0526723128c0e72" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt;bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1c52c54bc6c46167e0526723128c0e72">CVC3::TheoryArithOld::formulaAtoms</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Map of all the atoms in the formula </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00454">454</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l04662">registerAtom()</a>.</p>

</div>
</div>
<a class="anchor" id="a1dda0fccac36ffbebc06beb58e404619"></a><!-- doxytag: member="CVC3::TheoryArithOld::diffLogicGraph" ref="a1dda0fccac36ffbebc06beb58e404619" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph.html">DifferenceLogicGraph</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1dda0fccac36ffbebc06beb58e404619">CVC3::TheoryArithOld::diffLogicGraph</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The graph for difference logic </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00885">885</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l02831">assignVariables()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>.</p>

</div>
</div>
<a class="anchor" id="a5aef4b094054e928a145c5b9ee5703d1"></a><!-- doxytag: member="CVC3::TheoryArithOld::zero" ref="a5aef4b094054e928a145c5b9ee5703d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1TheoryArithOld.html#a5aef4b094054e928a145c5b9ee5703d1">CVC3::TheoryArithOld::zero</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00887">887</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l02227">TheoryArithOld()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05039">tryPropagate()</a>.</p>

</div>
</div>
<a class="anchor" id="adecf2614be23bfd1347e1992081e7848"></a><!-- doxytag: member="CVC3::TheoryArithOld::shared_index_1" ref="adecf2614be23bfd1347e1992081e7848" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;unsigned&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#adecf2614be23bfd1347e1992081e7848">CVC3::TheoryArithOld::shared_index_1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Index for expanding on shared term equalities </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00890">890</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4a63d7abe48efcd5262bdec8d2a48ebf"></a><!-- doxytag: member="CVC3::TheoryArithOld::shared_index_2" ref="a4a63d7abe48efcd5262bdec8d2a48ebf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;unsigned&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a4a63d7abe48efcd5262bdec8d2a48ebf">CVC3::TheoryArithOld::shared_index_2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Index for expanding on shared term equalities </p>

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00892">892</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab9e74bfc121f8d683449540b3f47648d"></a><!-- doxytag: member="CVC3::TheoryArithOld::multiplicativeSignSplits" ref="ab9e74bfc121f8d683449540b3f47648d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ab9e74bfc121f8d683449540b3f47648d">CVC3::TheoryArithOld::multiplicativeSignSplits</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00894">894</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05194">addMultiplicativeSignSplit()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l02481">assertFact()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3f7689542dd29298e68dcc16e5976e6"></a><!-- doxytag: member="CVC3::TheoryArithOld::termUpperBounded" ref="ae3f7689542dd29298e68dcc16e5976e6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#ae3f7689542dd29298e68dcc16e5976e6">CVC3::TheoryArithOld::termUpperBounded</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00903">903</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>.</p>

</div>
</div>
<a class="anchor" id="aa3cbd03caf1f931c74829f2502d75553"></a><!-- doxytag: member="CVC3::TheoryArithOld::termLowerBounded" ref="aa3cbd03caf1f931c74829f2502d75553" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, <a class="el" href="classCVC3_1_1TheoryArithOld_1_1DifferenceLogicGraph_1_1EpsRational.html">DifferenceLogicGraph::EpsRational</a>&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#aa3cbd03caf1f931c74829f2502d75553">CVC3::TheoryArithOld::termLowerBounded</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00904">904</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>.</p>

</div>
</div>
<a class="anchor" id="a1dbba6d20d053083679893b4f79998a8"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_varConstrainedPlus" ref="a1dbba6d20d053083679893b4f79998a8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a1dbba6d20d053083679893b4f79998a8">CVC3::TheoryArithOld::d_varConstrainedPlus</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00906">906</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05926">updateConstrained()</a>.</p>

</div>
</div>
<a class="anchor" id="acb4e673f7c27347289317a35a376f82d"></a><!-- doxytag: member="CVC3::TheoryArithOld::d_varConstrainedMinus" ref="acb4e673f7c27347289317a35a376f82d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#acb4e673f7c27347289317a35a376f82d">CVC3::TheoryArithOld::d_varConstrainedMinus</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00907">907</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05895">isUnconstrained()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05926">updateConstrained()</a>.</p>

</div>
</div>
<a class="anchor" id="afd5889bc69bdde0f39137619db945c80"></a><!-- doxytag: member="CVC3::TheoryArithOld::termConstrainedBelow" ref="afd5889bc69bdde0f39137619db945c80" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#afd5889bc69bdde0f39137619db945c80">CVC3::TheoryArithOld::termConstrainedBelow</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00910">910</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05463">getLowerBound()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05746">isConstrainedBelow()</a>.</p>

</div>
</div>
<a class="anchor" id="a8c0a52d514303b34e73fc36803331419"></a><!-- doxytag: member="CVC3::TheoryArithOld::termConstrainedAbove" ref="a8c0a52d514303b34e73fc36803331419" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDMap.html">CDMap</a>&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>, bool&gt; <a class="el" href="classCVC3_1_1TheoryArithOld.html#a8c0a52d514303b34e73fc36803331419">CVC3::TheoryArithOld::termConstrainedAbove</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="theory__arith__old_8h_source.html#l00911">911</a> of file <a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a>.</p>

<p>Referenced by <a class="el" href="theory__arith__old_8cpp_source.html#l05535">computeTermBounds()</a>, <a class="el" href="theory__arith__old_8cpp_source.html#l05391">getUpperBound()</a>, and <a class="el" href="theory__arith__old_8cpp_source.html#l05692">isConstrainedAbove()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="theory__arith__old_8h_source.html">theory_arith_old.h</a></li>
<li><a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_old.cpp</a></li>
<li><a class="el" href="theory__arith__old_8cpp_source.html">theory_arith_old.cpp</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Sep 7 2011 for CVC3 by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>