Sophie

Sophie

distrib > PLD > th > x86_64 > by-pkgid > 9f869ff92bf81fc4b13902b2b85811f8 > files > 159

cvc3-doc-2.4.1-1.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CVC3: CVC3::ArithTheoremProducerOld Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CVC3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
  <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="inherits.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_1ArithTheoremProducerOld.html">ArithTheoremProducerOld</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classCVC3_1_1ArithTheoremProducerOld-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::ArithTheoremProducerOld Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="classCVC3_1_1ArithProofRules.html">CVC3::ArithProofRules</a>, and <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a>.</p>
<div class="dynheader">
Collaboration diagram for CVC3::ArithTheoremProducerOld:</div>
<div class="dyncontent">
<div class="center"><img src="classCVC3_1_1ArithTheoremProducerOld__coll__graph.gif" border="0" usemap="#CVC3_1_1ArithTheoremProducerOld_coll__map" alt="Collaboration graph"/></div>
<map name="CVC3_1_1ArithTheoremProducerOld_coll__map" id="CVC3_1_1ArithTheoremProducerOld_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4896b0d01e30e02300f74b9ae6b4d9d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4896b0d01e30e02300f74b9ae6b4d9d4">ArithTheoremProducerOld</a> (<a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *tm, <a class="el" href="classCVC3_1_1TheoryArithOld.html">TheoryArithOld</a> *theoryArith)</td></tr>
<tr class="memdesc:a4896b0d01e30e02300f74b9ae6b4d9d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a4896b0d01e30e02300f74b9ae6b4d9d4"></a><br/></td></tr>
<tr class="separator:a4896b0d01e30e02300f74b9ae6b4d9d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e7bf5bdb1872df7f21920c64a37c612"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8e7bf5bdb1872df7f21920c64a37c612">rat</a> (<a class="el" href="classCVC3_1_1Rational.html">Rational</a> r)</td></tr>
<tr class="memdesc:a8e7bf5bdb1872df7f21920c64a37c612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> from <a class="el" href="classCVC3_1_1Rational.html">Rational</a> (for convenience)  <a href="#a8e7bf5bdb1872df7f21920c64a37c612"></a><br/></td></tr>
<tr class="separator:a8e7bf5bdb1872df7f21920c64a37c612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22e2bf40e2473ab9dc34097c28a46a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ab22e2bf40e2473ab9dc34097c28a46a3">realType</a> ()</td></tr>
<tr class="separator:ab22e2bf40e2473ab9dc34097c28a46a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a520ba37f3cc4129559fc32289a027b82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a520ba37f3cc4129559fc32289a027b82">intType</a> ()</td></tr>
<tr class="separator:a520ba37f3cc4129559fc32289a027b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9437ab7589a35fa490136b4b917ad244"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a9437ab7589a35fa490136b4b917ad244">darkShadow</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs)</td></tr>
<tr class="memdesc:a9437ab7589a35fa490136b4b917ad244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the dark shadow expression representing lhs &lt;= rhs.  <a href="#a9437ab7589a35fa490136b4b917ad244"></a><br/></td></tr>
<tr class="separator:a9437ab7589a35fa490136b4b917ad244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eade9939f609e974d0c5210404ba965"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;v, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c1, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c2)</td></tr>
<tr class="memdesc:a4eade9939f609e974d0c5210404ba965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the gray shadow expression representing c1 &lt;= v - e &lt;= c2.  <a href="#a4eade9939f609e974d0c5210404ba965"></a><br/></td></tr>
<tr class="separator:a4eade9939f609e974d0c5210404ba965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebcc9153d9e9bfff3678c271674a6053"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aebcc9153d9e9bfff3678c271674a6053">varToMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:aebcc9153d9e9bfff3678c271674a6053"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; e = 1 * e  <a href="#aebcc9153d9e9bfff3678c271674a6053"></a><br/></td></tr>
<tr class="separator:aebcc9153d9e9bfff3678c271674a6053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8165eb2a8fea70e0d1d2c8ebb1358855"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8165eb2a8fea70e0d1d2c8ebb1358855">uMinusToMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a8165eb2a8fea70e0d1d2c8ebb1358855"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; -(e) = (-1) * e  <a href="#a8165eb2a8fea70e0d1d2c8ebb1358855"></a><br/></td></tr>
<tr class="separator:a8165eb2a8fea70e0d1d2c8ebb1358855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3458f7b381a95e124e3204ed66904ef"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae3458f7b381a95e124e3204ed66904ef">minusToPlus</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)</td></tr>
<tr class="memdesc:ae3458f7b381a95e124e3204ed66904ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; x - y = x + (-1) * y  <a href="#ae3458f7b381a95e124e3204ed66904ef"></a><br/></td></tr>
<tr class="separator:ae3458f7b381a95e124e3204ed66904ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a693a5043cf100f13390b358290940dd5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a693a5043cf100f13390b358290940dd5">canonUMinusToDivide</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a693a5043cf100f13390b358290940dd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">-(e) ==&gt; e / (-1); takes 'e'  <a href="#a693a5043cf100f13390b358290940dd5"></a><br/></td></tr>
<tr class="separator:a693a5043cf100f13390b358290940dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237d508b95295db21e9ce21172d4366a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a237d508b95295db21e9ce21172d4366a">canonDivideConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;d)</td></tr>
<tr class="memdesc:a237d508b95295db21e9ce21172d4366a"><td class="mdescLeft">&#160;</td><td class="mdescRight">(c) / d ==&gt; (c/d), takes c and d  <a href="#a237d508b95295db21e9ce21172d4366a"></a><br/></td></tr>
<tr class="separator:a237d508b95295db21e9ce21172d4366a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea8367eb1c88d26b83aea3e5e63f66db"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aea8367eb1c88d26b83aea3e5e63f66db">canonDivideMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;cx, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;d)</td></tr>
<tr class="memdesc:aea8367eb1c88d26b83aea3e5e63f66db"><td class="mdescLeft">&#160;</td><td class="mdescRight">(c * x) / d ==&gt; (c/d) * x, takes (c*x) and d  <a href="#aea8367eb1c88d26b83aea3e5e63f66db"></a><br/></td></tr>
<tr class="separator:aea8367eb1c88d26b83aea3e5e63f66db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a844e1fe500be8d1c083ddf6c06fcc85c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a844e1fe500be8d1c083ddf6c06fcc85c">canonDividePlus</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;d)</td></tr>
<tr class="memdesc:a844e1fe500be8d1c083ddf6c06fcc85c"><td class="mdescLeft">&#160;</td><td class="mdescRight">(+ c ...)/d ==&gt; push division to all the coefficients.  <a href="#a844e1fe500be8d1c083ddf6c06fcc85c"></a><br/></td></tr>
<tr class="separator:a844e1fe500be8d1c083ddf6c06fcc85c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79a13a84e24d58135d13d7520726134"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#af79a13a84e24d58135d13d7520726134">canonDivideVar</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="memdesc:af79a13a84e24d58135d13d7520726134"><td class="mdescLeft">&#160;</td><td class="mdescRight">x / d ==&gt; (1/d) * x, takes x and d  <a href="#af79a13a84e24d58135d13d7520726134"></a><br/></td></tr>
<tr class="separator:af79a13a84e24d58135d13d7520726134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeebe92e51ed9f4f65fc949c66d240a1c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aeebe92e51ed9f4f65fc949c66d240a1c">simplifiedMultExpr</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;mulKids)</td></tr>
<tr class="separator:aeebe92e51ed9f4f65fc949c66d240a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe68827d0fd6cdccac139bc55416cb8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4fe68827d0fd6cdccac139bc55416cb8">canonMultConstMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a4fe68827d0fd6cdccac139bc55416cb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f22909a2df31e9d59a96afecfa11dd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aa9f22909a2df31e9d59a96afecfa11dd">canonMultConstPlus</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:aa9f22909a2df31e9d59a96afecfa11dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5840677a1efc3ab4ef21840d57654c5f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a5840677a1efc3ab4ef21840d57654c5f">canonMultPowPow</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:a5840677a1efc3ab4ef21840d57654c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7bb027487c9e8312c4ca194ecfd379d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae7bb027487c9e8312c4ca194ecfd379d">canonMultPowLeaf</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:ae7bb027487c9e8312c4ca194ecfd379d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71d7308e50c892d691d504397f5a92c8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a71d7308e50c892d691d504397f5a92c8">canonMultLeafLeaf</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:a71d7308e50c892d691d504397f5a92c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a040ec808dbbe743d9b138bfae33d24fc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a040ec808dbbe743d9b138bfae33d24fc">canonMultLeafOrPowMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:a040ec808dbbe743d9b138bfae33d24fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad39a4a6b01790e883d49e03e3b513a9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aad39a4a6b01790e883d49e03e3b513a9">canonCombineLikeTerms</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;sumExprs)</td></tr>
<tr class="separator:aad39a4a6b01790e883d49e03e3b513a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0ff17451a851136910015ea515ac2f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#acf0ff17451a851136910015ea515ac2f">canonMultLeafOrPowOrMultPlus</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:acf0ff17451a851136910015ea515ac2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae39478b27e22eee4837e7a132301b31a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae39478b27e22eee4837e7a132301b31a">canonMultPlusPlus</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:ae39478b27e22eee4837e7a132301b31a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7982dec66d9ebd08596c5b7d352604b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad7982dec66d9ebd08596c5b7d352604b">canonMultMtermMterm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:ad7982dec66d9ebd08596c5b7d352604b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a213b741317120ee84b6e61f50e484f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4a213b741317120ee84b6e61f50e484f">canonPlus</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a4a213b741317120ee84b6e61f50e484f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Canonize (PLUS t1 ... tn)  <a href="#a4a213b741317120ee84b6e61f50e484f"></a><br/></td></tr>
<tr class="separator:a4a213b741317120ee84b6e61f50e484f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7696b12b3bc3ab04fdbf284a9466364a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a7696b12b3bc3ab04fdbf284a9466364a">canonInvertConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a7696b12b3bc3ab04fdbf284a9466364a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd60e50d112e88d021974c0b70956db6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#acd60e50d112e88d021974c0b70956db6">canonInvertLeaf</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:acd60e50d112e88d021974c0b70956db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad02b7e86f0f0edef419c4fe2adc74c99"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad02b7e86f0f0edef419c4fe2adc74c99">canonInvertPow</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:ad02b7e86f0f0edef419c4fe2adc74c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a776468ac8d047b43cb460c9b3c600293"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a776468ac8d047b43cb460c9b3c600293">canonInvertMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a776468ac8d047b43cb460c9b3c600293"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67391e426738cbd4a15f6fbc5b2d19e1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a67391e426738cbd4a15f6fbc5b2d19e1">canonInvert</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a67391e426738cbd4a15f6fbc5b2d19e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; 1/e = e' where e' is canonical; takes e.  <a href="#a67391e426738cbd4a15f6fbc5b2d19e1"></a><br/></td></tr>
<tr class="separator:a67391e426738cbd4a15f6fbc5b2d19e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b44fabb65bb6748259aee8959be465e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a2b44fabb65bb6748259aee8959be465e">moveSumConstantRight</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a2b44fabb65bb6748259aee8959be465e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec48ed7710110960c6f87e6946500494"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aec48ed7710110960c6f87e6946500494">canonDivide</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:aec48ed7710110960c6f87e6946500494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50819c4cc053538490a2cbb535edf39d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a50819c4cc053538490a2cbb535edf39d">canonMult</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a50819c4cc053538490a2cbb535edf39d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d0d0fa8c08582a17399c0570812afa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a70d0d0fa8c08582a17399c0570812afa">canonMultTermConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)</td></tr>
<tr class="memdesc:a70d0d0fa8c08582a17399c0570812afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">t*c ==&gt; c*t, takes constant c and term t  <a href="#a70d0d0fa8c08582a17399c0570812afa"></a><br/></td></tr>
<tr class="separator:a70d0d0fa8c08582a17399c0570812afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10ed8952ec021d78cf1bc8b60e6634c6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a10ed8952ec021d78cf1bc8b60e6634c6">canonMultTerm1Term2</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)</td></tr>
<tr class="memdesc:a10ed8952ec021d78cf1bc8b60e6634c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">t1*t2 ==&gt; Error, takes t1 and t2 where both are non-constants  <a href="#a10ed8952ec021d78cf1bc8b60e6634c6"></a><br/></td></tr>
<tr class="separator:a10ed8952ec021d78cf1bc8b60e6634c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af62a070ed7a3a326db5b121b282bd47c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#af62a070ed7a3a326db5b121b282bd47c">canonMultZero</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:af62a070ed7a3a326db5b121b282bd47c"><td class="mdescLeft">&#160;</td><td class="mdescRight">0*t ==&gt; 0, takes 0*t  <a href="#af62a070ed7a3a326db5b121b282bd47c"></a><br/></td></tr>
<tr class="separator:af62a070ed7a3a326db5b121b282bd47c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc03e832be081de0ca6f7f4e905e0f4f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#abc03e832be081de0ca6f7f4e905e0f4f">canonMultOne</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:abc03e832be081de0ca6f7f4e905e0f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">1*t ==&gt; t, takes 1*t  <a href="#abc03e832be081de0ca6f7f4e905e0f4f"></a><br/></td></tr>
<tr class="separator:abc03e832be081de0ca6f7f4e905e0f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c1740f98f0ac4952c8d7a721767535e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a3c1740f98f0ac4952c8d7a721767535e">canonMultConstConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c2)</td></tr>
<tr class="memdesc:a3c1740f98f0ac4952c8d7a721767535e"><td class="mdescLeft">&#160;</td><td class="mdescRight">c1*c2 ==&gt; c', takes constant c1*c2  <a href="#a3c1740f98f0ac4952c8d7a721767535e"></a><br/></td></tr>
<tr class="separator:a3c1740f98f0ac4952c8d7a721767535e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e0a636c4ee9bb70b8f36ee3f6acab49"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8e0a636c4ee9bb70b8f36ee3f6acab49">canonMultConstTerm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)</td></tr>
<tr class="memdesc:a8e0a636c4ee9bb70b8f36ee3f6acab49"><td class="mdescLeft">&#160;</td><td class="mdescRight">c1*(c2*t) ==&gt; c'*t, takes c1 and c2 and t  <a href="#a8e0a636c4ee9bb70b8f36ee3f6acab49"></a><br/></td></tr>
<tr class="separator:a8e0a636c4ee9bb70b8f36ee3f6acab49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5892d8574e2787b95005211cf0517952"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a5892d8574e2787b95005211cf0517952">canonMultConstSum</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;c1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;sum)</td></tr>
<tr class="memdesc:a5892d8574e2787b95005211cf0517952"><td class="mdescLeft">&#160;</td><td class="mdescRight">c1*(+ c2 v1 ...) ==&gt; (+ c' c1v1 ...), takes c1 and the sum  <a href="#a5892d8574e2787b95005211cf0517952"></a><br/></td></tr>
<tr class="separator:a5892d8574e2787b95005211cf0517952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b083f1e452bd42475d9f0b313651fac"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a7b083f1e452bd42475d9f0b313651fac">canonPowConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;<a class="el" href="namespaceCVC3.html#a28fc84bed3f9bc91ca9967de0f9cfa00">pow</a>)</td></tr>
<tr class="memdesc:a7b083f1e452bd42475d9f0b313651fac"><td class="mdescLeft">&#160;</td><td class="mdescRight">c^n = c' (compute the constant power expression)  <a href="#a7b083f1e452bd42475d9f0b313651fac"></a><br/></td></tr>
<tr class="separator:a7b083f1e452bd42475d9f0b313651fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba0cab7c4879b336dfac9cd1673be1c8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aba0cab7c4879b336dfac9cd1673be1c8">canonFlattenSum</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:aba0cab7c4879b336dfac9cd1673be1c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">flattens the input. accepts a PLUS expr  <a href="#aba0cab7c4879b336dfac9cd1673be1c8"></a><br/></td></tr>
<tr class="separator:aba0cab7c4879b336dfac9cd1673be1c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2a1a065eac005fa6b47c32040d9401"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a7f2a1a065eac005fa6b47c32040d9401">canonComboLikeTerms</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a7f2a1a065eac005fa6b47c32040d9401"><td class="mdescLeft">&#160;</td><td class="mdescRight">combine like terms. accepts a flattened PLUS expr  <a href="#a7f2a1a065eac005fa6b47c32040d9401"></a><br/></td></tr>
<tr class="separator:a7f2a1a065eac005fa6b47c32040d9401"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad73622cdec4a472af97d68de6716fe0a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad73622cdec4a472af97d68de6716fe0a">multEqZero</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr)</td></tr>
<tr class="separator:ad73622cdec4a472af97d68de6716fe0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc96dbb9ae7fa063146b9924f51fe68"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a9cc96dbb9ae7fa063146b9924f51fe68">powEqZero</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr)</td></tr>
<tr class="separator:a9cc96dbb9ae7fa063146b9924f51fe68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed414c650deb9b1e619ffb8f3266ea4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aeed414c650deb9b1e619ffb8f3266ea4">elimPower</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr)</td></tr>
<tr class="separator:aeed414c650deb9b1e619ffb8f3266ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2483c968c6a4d7f8ae63595c839b70f2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a2483c968c6a4d7f8ae63595c839b70f2">elimPowerConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;root)</td></tr>
<tr class="separator:a2483c968c6a4d7f8ae63595c839b70f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5f71b9fdeb8be95e0e71e94df0b598"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#afe5f71b9fdeb8be95e0e71e94df0b598">evenPowerEqNegConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr)</td></tr>
<tr class="separator:afe5f71b9fdeb8be95e0e71e94df0b598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75a67906db6381d408ea1a9830c36cf7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a75a67906db6381d408ea1a9830c36cf7">intEqIrrational</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="namespaceCVC3.html#a8b193cc1fee34cb43707171b2ae6471e">isInt</a>)</td></tr>
<tr class="separator:a75a67906db6381d408ea1a9830c36cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefea69c7f808394db447b9ed658c59fa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aefea69c7f808394db447b9ed658c59fa">constPredicate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:aefea69c7f808394db447b9ed658c59fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">e0 @ e1 &lt;==&gt; true | false, where @ is {=,&lt;,&lt;=,&gt;,&gt;=}  <a href="#aefea69c7f808394db447b9ed658c59fa"></a><br/></td></tr>
<tr class="separator:aefea69c7f808394db447b9ed658c59fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088b20af694e737e1c7ff12d2ff74d7c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a088b20af694e737e1c7ff12d2ff74d7c">rightMinusLeft</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a088b20af694e737e1c7ff12d2ff74d7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">e[0] @ e[1] &lt;==&gt; 0 @ e[1] - e[0], where @ is {=,&lt;,&lt;=,&gt;,&gt;=}  <a href="#a088b20af694e737e1c7ff12d2ff74d7c"></a><br/></td></tr>
<tr class="separator:a088b20af694e737e1c7ff12d2ff74d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36301e14b9eb42fc9842a3a7f60f8b17"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a36301e14b9eb42fc9842a3a7f60f8b17">leftMinusRight</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a36301e14b9eb42fc9842a3a7f60f8b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">e[0] @ e[1] &lt;==&gt; e[0] - e[1] @ 0, where @ is {=,&lt;,&lt;=,&gt;,&gt;=}  <a href="#a36301e14b9eb42fc9842a3a7f60f8b17"></a><br/></td></tr>
<tr class="separator:a36301e14b9eb42fc9842a3a7f60f8b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35577ad70c513422af5cbfca00cde1e2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a35577ad70c513422af5cbfca00cde1e2">plusPredicate</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="classCVC3_1_1Expr.html">Expr</a> &amp;z, int kind)</td></tr>
<tr class="memdesc:a35577ad70c513422af5cbfca00cde1e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">x @ y &lt;==&gt; x + z @ y + z, where @ is {=,&lt;,&lt;=,&gt;,&gt;=} (given as 'kind')  <a href="#a35577ad70c513422af5cbfca00cde1e2"></a><br/></td></tr>
<tr class="separator:a35577ad70c513422af5cbfca00cde1e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb54d03f4672718b7de6160a88bf33cb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aeb54d03f4672718b7de6160a88bf33cb">multEqn</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="classCVC3_1_1Expr.html">Expr</a> &amp;z)</td></tr>
<tr class="memdesc:aeb54d03f4672718b7de6160a88bf33cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">x = y &lt;==&gt; x * z = y * z, where z is a non-zero constant  <a href="#aeb54d03f4672718b7de6160a88bf33cb"></a><br/></td></tr>
<tr class="separator:aeb54d03f4672718b7de6160a88bf33cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16c7325daba5b9e8cea7284fafaa5382"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a16c7325daba5b9e8cea7284fafaa5382">divideEqnNonConst</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="classCVC3_1_1Expr.html">Expr</a> &amp;z)</td></tr>
<tr class="separator:a16c7325daba5b9e8cea7284fafaa5382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa425318a5846e14a94b2a3a34bb99b6d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aa425318a5846e14a94b2a3a34bb99b6d">multIneqn</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;z)</td></tr>
<tr class="memdesc:aa425318a5846e14a94b2a3a34bb99b6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplying inequation by a non-zero constant.  <a href="#aa425318a5846e14a94b2a3a34bb99b6d"></a><br/></td></tr>
<tr class="separator:aa425318a5846e14a94b2a3a34bb99b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8edb275846dc5d938d3a8716436f0e1e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8edb275846dc5d938d3a8716436f0e1e">eqToIneq</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a8edb275846dc5d938d3a8716436f0e1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">x = y ==&gt; x &lt;= y and x &gt;= y  <a href="#a8edb275846dc5d938d3a8716436f0e1e"></a><br/></td></tr>
<tr class="separator:a8edb275846dc5d938d3a8716436f0e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86c578d9592d6782d2224118b755e0fa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a86c578d9592d6782d2224118b755e0fa">flipInequality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a86c578d9592d6782d2224118b755e0fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">"op1 GE|GT op2" &lt;==&gt; op2 LE|LT op1  <a href="#a86c578d9592d6782d2224118b755e0fa"></a><br/></td></tr>
<tr class="separator:a86c578d9592d6782d2224118b755e0fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b1fba36612db00956767d73bb1b6623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0b1fba36612db00956767d73bb1b6623">negatedInequality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a0b1fba36612db00956767d73bb1b6623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Propagating negation over &lt;,&lt;=,&gt;,&gt;=.  <a href="#a0b1fba36612db00956767d73bb1b6623"></a><br/></td></tr>
<tr class="separator:a0b1fba36612db00956767d73bb1b6623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f7858787d55442d57e5924dd232f842"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8f7858787d55442d57e5924dd232f842">realShadow</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;alphaLTt, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;tLTbeta)</td></tr>
<tr class="memdesc:a8f7858787d55442d57e5924dd232f842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Real shadow: a &lt;(=) t, t &lt;(=) b ==&gt; a &lt;(=) b.  <a href="#a8f7858787d55442d57e5924dd232f842"></a><br/></td></tr>
<tr class="separator:a8f7858787d55442d57e5924dd232f842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5033cb7a4be3d2e9bc1cd60582482c5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a5033cb7a4be3d2e9bc1cd60582482c5f">realShadowEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;alphaLEt, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;tLEalpha)</td></tr>
<tr class="memdesc:a5033cb7a4be3d2e9bc1cd60582482c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">alpha &lt;= t &lt;= alpha ==&gt; t = alpha  <a href="#a5033cb7a4be3d2e9bc1cd60582482c5f"></a><br/></td></tr>
<tr class="separator:a5033cb7a4be3d2e9bc1cd60582482c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2869b5a206710a6c890d81ded080838"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae2869b5a206710a6c890d81ded080838">finiteInterval</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;aLEt, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;tLEac, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isInta, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntt)</td></tr>
<tr class="memdesc:ae2869b5a206710a6c890d81ded080838"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finite interval for integers: a &lt;= t &lt;= a + c ==&gt; G(t, a, 0, c)  <a href="#ae2869b5a206710a6c890d81ded080838"></a><br/></td></tr>
<tr class="separator:ae2869b5a206710a6c890d81ded080838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07e973f55e9daf1def982c84c3a078b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a07e973f55e9daf1def982c84c3a078b1">darkGrayShadow2ab</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;betaLEbx, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;axLEalpha, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntAlpha, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntBeta, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="theory__quant_8cpp.html#ac9940420b1f3427ebe821902adbb578d">isIntx</a>)</td></tr>
<tr class="memdesc:a07e973f55e9daf1def982c84c3a078b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dark &amp; Gray shadows when a &lt;= b.  <a href="#a07e973f55e9daf1def982c84c3a078b1"></a><br/></td></tr>
<tr class="separator:a07e973f55e9daf1def982c84c3a078b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae27df6e46accf919b67dda1cb914c160"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae27df6e46accf919b67dda1cb914c160">darkGrayShadow2ba</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;betaLEbx, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;axLEalpha, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntAlpha, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntBeta, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="theory__quant_8cpp.html#ac9940420b1f3427ebe821902adbb578d">isIntx</a>)</td></tr>
<tr class="memdesc:ae27df6e46accf919b67dda1cb914c160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dark &amp; Gray shadows when b &lt;= a.  <a href="#ae27df6e46accf919b67dda1cb914c160"></a><br/></td></tr>
<tr class="separator:ae27df6e46accf919b67dda1cb914c160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b28ed8d0e2ef812bcfc8bba931e46cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0b28ed8d0e2ef812bcfc8bba931e46cd">expandDarkShadow</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a9437ab7589a35fa490136b4b917ad244">darkShadow</a>)</td></tr>
<tr class="separator:a0b28ed8d0e2ef812bcfc8bba931e46cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273501b582758aca3ebabe6bd3ce83e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a273501b582758aca3ebabe6bd3ce83e4">expandGrayShadow0</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a>)</td></tr>
<tr class="memdesc:a273501b582758aca3ebabe6bd3ce83e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">GRAY_SHADOW(v, e, c, c) ==&gt; v=e+c.  <a href="#a273501b582758aca3ebabe6bd3ce83e4"></a><br/></td></tr>
<tr class="separator:a273501b582758aca3ebabe6bd3ce83e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fa5dbc59e8ce9a4315373092329a029"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a7fa5dbc59e8ce9a4315373092329a029">splitGrayShadow</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a>)</td></tr>
<tr class="memdesc:a7fa5dbc59e8ce9a4315373092329a029"><td class="mdescLeft">&#160;</td><td class="mdescRight">G(x, e, c1, c2) ==&gt; (G1 or G2) and (!G1 or !G2)  <a href="#a7fa5dbc59e8ce9a4315373092329a029"></a><br/></td></tr>
<tr class="separator:a7fa5dbc59e8ce9a4315373092329a029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d76b8569909514e1f6a392a3778c04b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0d76b8569909514e1f6a392a3778c04b">splitGrayShadowSmall</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a>)</td></tr>
<tr class="separator:a0d76b8569909514e1f6a392a3778c04b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e43921a028cfe58d5b50acd0c4a70ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0e43921a028cfe58d5b50acd0c4a70ed">expandGrayShadow</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a>)</td></tr>
<tr class="memdesc:a0e43921a028cfe58d5b50acd0c4a70ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">G(x, e, c1, c2) ==&gt; e+c1 &lt;= x AND x &lt;= e+c2.  <a href="#a0e43921a028cfe58d5b50acd0c4a70ed"></a><br/></td></tr>
<tr class="separator:a0e43921a028cfe58d5b50acd0c4a70ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8c25031e88732d3259cd8e33d75e094"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae8c25031e88732d3259cd8e33d75e094">expandGrayShadowConst</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a4eade9939f609e974d0c5210404ba965">grayShadow</a>)</td></tr>
<tr class="memdesc:ae8c25031e88732d3259cd8e33d75e094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optimized rules: GRAY_SHADOW(a*x, c, c1, c2) ==&gt; [expansion].  <a href="#ae8c25031e88732d3259cd8e33d75e094"></a><br/></td></tr>
<tr class="separator:ae8c25031e88732d3259cd8e33d75e094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d45720968a5ff4ccd6411413bd826e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a04d45720968a5ff4ccd6411413bd826e">grayShadowConst</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;g)</td></tr>
<tr class="memdesc:a04d45720968a5ff4ccd6411413bd826e"><td class="mdescLeft">&#160;</td><td class="mdescRight">|- G(ax, c, c1, c2) ==&gt; |- G(x, 0, ceil((c1+c)/a), floor((c2+c)/a))  <a href="#a04d45720968a5ff4ccd6411413bd826e"></a><br/></td></tr>
<tr class="separator:a04d45720968a5ff4ccd6411413bd826e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd378d8d5a434e8df4809239bebc22fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#abd378d8d5a434e8df4809239bebc22fa">constRHSGrayShadow</a> (const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;c, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;b, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;a)</td></tr>
<tr class="memdesc:abd378d8d5a434e8df4809239bebc22fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements j(c,b,a)  <a href="#abd378d8d5a434e8df4809239bebc22fa"></a><br/></td></tr>
<tr class="separator:abd378d8d5a434e8df4809239bebc22fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce54f8c725be25a6f6b11c7fbdc5321"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0ce54f8c725be25a6f6b11c7fbdc5321">lessThanToLE</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;less, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntLHS, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntRHS, bool changeRight)</td></tr>
<tr class="separator:a0ce54f8c725be25a6f6b11c7fbdc5321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab872ead63494b4afa6571e61a5cdd977"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ab872ead63494b4afa6571e61a5cdd977">lessThanToLERewrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ineq, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntLHS, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntRHS, bool changeRight)</td></tr>
<tr class="separator:ab872ead63494b4afa6571e61a5cdd977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99692dc40111d3082e7c583590c32188"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a99692dc40111d3082e7c583590c32188">intVarEqnConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;eqn, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="theory__quant_8cpp.html#ac9940420b1f3427ebe821902adbb578d">isIntx</a>)</td></tr>
<tr class="separator:a99692dc40111d3082e7c583590c32188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc3a59f76832fd2671407c85b4b721a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#adc3a59f76832fd2671407c85b4b721a5">IsIntegerElim</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="theory__quant_8cpp.html#ac9940420b1f3427ebe821902adbb578d">isIntx</a>)</td></tr>
<tr class="separator:adc3a59f76832fd2671407c85b4b721a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85fd2ee0f7126d421fb53f4823ec8e77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77">eqElimIntRule</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eqn, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;<a class="el" href="theory__quant_8cpp.html#ac9940420b1f3427ebe821902adbb578d">isIntx</a>, const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;isIntVars)</td></tr>
<tr class="memdesc:a85fd2ee0f7126d421fb53f4823ec8e77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality elimination rule for integers: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[\frac{\mathsf{int}(a\cdot x)\quad \mathsf{int}(C+\sum_{i=1}^{n}a_{i}\cdot x_{i})} {a\cdot x=C+\sum_{i=1}^{n}a_{i}\cdot x_{i} \quad\equiv\quad x=t_{2}\wedge 0=t_{3}} \]" src="form_303.png"/>
</p>
<p> See the detailed description for explanations.  <a href="#a85fd2ee0f7126d421fb53f4823ec8e77"></a><br/></td></tr>
<tr class="separator:a85fd2ee0f7126d421fb53f4823ec8e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef5359db9aa12e8d196f7a39fc0fb55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a5ef5359db9aa12e8d196f7a39fc0fb55">isIntConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a5ef5359db9aa12e8d196f7a39fc0fb55"><td class="mdescLeft">&#160;</td><td class="mdescRight">return e &lt;=&gt; TRUE/FALSE for e == IS_INTEGER(c), where c is a constant  <a href="#a5ef5359db9aa12e8d196f7a39fc0fb55"></a><br/></td></tr>
<tr class="separator:a5ef5359db9aa12e8d196f7a39fc0fb55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a3f404013d038207a13103500e09c99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0a3f404013d038207a13103500e09c99">equalLeaves1</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)</td></tr>
<tr class="separator:a0a3f404013d038207a13103500e09c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1820f8d68e98363139d77deae464f4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae1820f8d68e98363139d77deae464f4f">equalLeaves2</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)</td></tr>
<tr class="separator:ae1820f8d68e98363139d77deae464f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e8ce7a2f17e5a855985bd0abfac6f12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8e8ce7a2f17e5a855985bd0abfac6f12">equalLeaves3</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)</td></tr>
<tr class="separator:a8e8ce7a2f17e5a855985bd0abfac6f12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24c874d01ca341845373cd41851a5a1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a24c874d01ca341845373cd41851a5a1b">equalLeaves4</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)</td></tr>
<tr class="separator:a24c874d01ca341845373cd41851a5a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae723d1459d8c6f797ec08451f80f0798"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae723d1459d8c6f797ec08451f80f0798">diseqToIneq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;diseq)</td></tr>
<tr class="memdesc:ae723d1459d8c6f797ec08451f80f0798"><td class="mdescLeft">&#160;</td><td class="mdescRight">x /= y ==&gt; (x &lt; y) OR (x &gt; y)  <a href="#ae723d1459d8c6f797ec08451f80f0798"></a><br/></td></tr>
<tr class="separator:ae723d1459d8c6f797ec08451f80f0798"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a3dd2d9c47ec607c816a9004c3659a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a3a3dd2d9c47ec607c816a9004c3659a5">dummyTheorem</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a3a3dd2d9c47ec607c816a9004c3659a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb6d93e58c5c069ecbea38d013cbcf3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aeb6d93e58c5c069ecbea38d013cbcf3e">oneElimination</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;x)</td></tr>
<tr class="separator:aeb6d93e58c5c069ecbea38d013cbcf3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa71bcce02e1c1ce0d6ae588b4f341e4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aa71bcce02e1c1ce0d6ae588b4f341e4a">clashingBounds</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;lowerBound, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;upperBound)</td></tr>
<tr class="separator:aa71bcce02e1c1ce0d6ae588b4f341e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a582df53749ebc6fd4011c614ff767181"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a582df53749ebc6fd4011c614ff767181">addInequalities</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm1, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;thm2)</td></tr>
<tr class="separator:a582df53749ebc6fd4011c614ff767181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d40393a73ca5ac2e0078a6e955d7988"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0d40393a73ca5ac2e0078a6e955d7988">addInequalities</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;thms)</td></tr>
<tr class="separator:a0d40393a73ca5ac2e0078a6e955d7988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08879e8160aca1424c12e098f78df383"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a08879e8160aca1424c12e098f78df383">implyWeakerInequality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr2)</td></tr>
<tr class="separator:a08879e8160aca1424c12e098f78df383"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3597b8abdecd9f22c11f3ed1b570b6e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a3597b8abdecd9f22c11f3ed1b570b6e8">implyNegatedInequality</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr2)</td></tr>
<tr class="separator:a3597b8abdecd9f22c11f3ed1b570b6e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6dec83ab198a011e429c0f4b3aa218f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad6dec83ab198a011e429c0f4b3aa218f">integerSplit</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;intVar, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;intPoint)</td></tr>
<tr class="separator:ad6dec83ab198a011e429c0f4b3aa218f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a929689864e6c95280fcf1caa08ae28e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a929689864e6c95280fcf1caa08ae28e1">trustedRewrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr2)</td></tr>
<tr class="separator:a929689864e6c95280fcf1caa08ae28e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6182f9b295bde40a9047b1651d979a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#af6182f9b295bde40a9047b1651d979a5">rafineStrictInteger</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntConstrThm, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;constr)</td></tr>
<tr class="separator:af6182f9b295bde40a9047b1651d979a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b67f29c32a44f6194d127feb316d99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a21b67f29c32a44f6194d127feb316d99">simpleIneqInt</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ineq, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntRHS)</td></tr>
<tr class="separator:a21b67f29c32a44f6194d127feb316d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33232797bdaaa27ecd2f077478605bf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a33232797bdaaa27ecd2f077478605bf6">intEqualityRationalConstant</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;isIntConstrThm, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;constr)</td></tr>
<tr class="separator:a33232797bdaaa27ecd2f077478605bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf793e26f8917dbd96d235b9399a18e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aacf793e26f8917dbd96d235b9399a18e">cycleConflict</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;inequalitites)</td></tr>
<tr class="separator:aacf793e26f8917dbd96d235b9399a18e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a98470138f38710024a7cc8f37706fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a6a98470138f38710024a7cc8f37706fb">implyEqualities</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;inequalities)</td></tr>
<tr class="separator:a6a98470138f38710024a7cc8f37706fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d982874e310ba4bdbc796fcbc720fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#af6d982874e310ba4bdbc796fcbc720fc">implyWeakerInequalityDiffLogic</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;antecedentThms, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;implied)</td></tr>
<tr class="separator:af6d982874e310ba4bdbc796fcbc720fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee41f9c7c0f2a6b82383076327e316a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aee41f9c7c0f2a6b82383076327e316a0">implyNegatedInequalityDiffLogic</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;antecedentThms, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;implied)</td></tr>
<tr class="separator:aee41f9c7c0f2a6b82383076327e316a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb0ca6212da8280b0026369e449f900e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#abb0ca6212da8280b0026369e449f900e">expandGrayShadowRewrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;theShadow)</td></tr>
<tr class="separator:abb0ca6212da8280b0026369e449f900e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad54e479f1a44912397237a557590c597"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad54e479f1a44912397237a557590c597">compactNonLinearTerm</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;nonLinear)</td></tr>
<tr class="separator:ad54e479f1a44912397237a557590c597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe7a4ea7cbce967d7f160c21995c8b39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#afe7a4ea7cbce967d7f160c21995c8b39">nonLinearIneqSignSplit</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;ineqThm)</td></tr>
<tr class="separator:afe7a4ea7cbce967d7f160c21995c8b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8581e89bb73352a8e368e7b87acd78f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8581e89bb73352a8e368e7b87acd78f4">implyDiffLogicBothBounds</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;x, std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;c1_le_x, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> c1, std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;x_le_c2, <a class="el" href="classCVC3_1_1Rational.html">Rational</a> c2)</td></tr>
<tr class="separator:a8581e89bb73352a8e368e7b87acd78f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb554e4e8877b135fb01d6e2471ccba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#aadb554e4e8877b135fb01d6e2471ccba">powerOfOne</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:aadb554e4e8877b135fb01d6e2471ccba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a120563be6dbb828da3e9b6a9d4d35e32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a120563be6dbb828da3e9b6a9d4d35e32">rewriteLeavesConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a120563be6dbb828da3e9b6a9d4d35e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classCVC3_1_1ArithProofRules"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1ArithProofRules')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classCVC3_1_1ArithProofRules.html">CVC3::ArithProofRules</a></td></tr>
<tr class="memitem:a410c697fc050feca9680a388397b0968 inherit pub_methods_classCVC3_1_1ArithProofRules"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithProofRules.html#a410c697fc050feca9680a388397b0968">~ArithProofRules</a> ()</td></tr>
<tr class="separator:a410c697fc050feca9680a388397b0968 inherit pub_methods_classCVC3_1_1ArithProofRules"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classCVC3_1_1TheoremProducer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1TheoremProducer')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a></td></tr>
<tr class="memitem:a5b69feb3bf1ce90107295b5731f847d7 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a5b69feb3bf1ce90107295b5731f847d7">TheoremProducer</a> (<a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *tm)</td></tr>
<tr class="separator:a5b69feb3bf1ce90107295b5731f847d7 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae21722ca8449f4480e01566982cd4d61 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ae21722ca8449f4480e01566982cd4d61">~TheoremProducer</a> ()</td></tr>
<tr class="separator:ae21722ca8449f4480e01566982cd4d61 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceb1eeebc6b491b3241f463488471f3a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aceb1eeebc6b491b3241f463488471f3a">withProof</a> ()</td></tr>
<tr class="memdesc:aceb1eeebc6b491b3241f463488471f3a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Testing whether to generate proofs.  <a href="#aceb1eeebc6b491b3241f463488471f3a"></a><br/></td></tr>
<tr class="separator:aceb1eeebc6b491b3241f463488471f3a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32afe6d99e661b5c70082036e40d48bc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a32afe6d99e661b5c70082036e40d48bc">withAssumptions</a> ()</td></tr>
<tr class="memdesc:a32afe6d99e661b5c70082036e40d48bc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Testing whether to generate assumptions.  <a href="#a32afe6d99e661b5c70082036e40d48bc"></a><br/></td></tr>
<tr class="separator:a32afe6d99e661b5c70082036e40d48bc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4bdd16428b49f295b3d21208dffc0cd inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#af4bdd16428b49f295b3d21208dffc0cd">newLabel</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:af4bdd16428b49f295b3d21208dffc0cd inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new proof label (bound variable) for an assumption (formula)  <a href="#af4bdd16428b49f295b3d21208dffc0cd"></a><br/></td></tr>
<tr class="separator:af4bdd16428b49f295b3d21208dffc0cd inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8e67b1fb33d5dfe428a659d8c66651 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9a8e67b1fb33d5dfe428a659d8c66651">newPf</a> (const std::string &amp;name)</td></tr>
<tr class="separator:a9a8e67b1fb33d5dfe428a659d8c66651 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc7589f2361108f86ba9a39584225c8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4dc7589f2361108f86ba9a39584225c8">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a4dc7589f2361108f86ba9a39584225c8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4318ccfdb9a7476428b6bec10218b704 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4318ccfdb9a7476428b6bec10218b704">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:a4318ccfdb9a7476428b6bec10218b704 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde487055921fadaa010a98fcfec3efc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#afde487055921fadaa010a98fcfec3efc">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)</td></tr>
<tr class="separator:afde487055921fadaa010a98fcfec3efc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8fe1de247e929400cdcf8abb05f51d8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac8fe1de247e929400cdcf8abb05f51d8">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:ac8fe1de247e929400cdcf8abb05f51d8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4442d3e5b304a0d0c26a70f398605c2f inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4442d3e5b304a0d0c26a70f398605c2f">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e3)</td></tr>
<tr class="separator:a4442d3e5b304a0d0c26a70f398605c2f inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9635508015efe3b1eee16c42c095d664 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9635508015efe3b1eee16c42c095d664">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:a9635508015efe3b1eee16c42c095d664 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea760a51b9c828ba13daabb8bb85a059 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aea760a51b9c828ba13daabb8bb85a059">newPf</a> (const std::string &amp;name, <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> begin, const <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> &amp;end)</td></tr>
<tr class="separator:aea760a51b9c828ba13daabb8bb85a059 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64af41f02b0a09e641ddfee381dec928 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a64af41f02b0a09e641ddfee381dec928">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> begin, const <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> &amp;end)</td></tr>
<tr class="separator:a64af41f02b0a09e641ddfee381dec928 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19abffed968792730fc45001a78e2f29 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a19abffed968792730fc45001a78e2f29">newPf</a> (const std::string &amp;name, <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> begin, const <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a> &amp;end, const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;pfs)</td></tr>
<tr class="separator:a19abffed968792730fc45001a78e2f29 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc79087033fcd7a9c14faca4fee9d34 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#afbc79087033fcd7a9c14faca4fee9d34">newPf</a> (const std::string &amp;name, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;args)</td></tr>
<tr class="separator:afbc79087033fcd7a9c14faca4fee9d34 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8748ea26e91b5d0046ba28ffaa085935 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a8748ea26e91b5d0046ba28ffaa085935">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;args)</td></tr>
<tr class="separator:a8748ea26e91b5d0046ba28ffaa085935 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9620645731b7d636c5988319d2b02513 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9620645731b7d636c5988319d2b02513">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;pfs)</td></tr>
<tr class="separator:a9620645731b7d636c5988319d2b02513 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dd3b2ab2d8230f47795e65d2c48fb04 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9dd3b2ab2d8230f47795e65d2c48fb04">newPf</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2, const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;pfs)</td></tr>
<tr class="separator:a9dd3b2ab2d8230f47795e65d2c48fb04 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8ad8684a67b13b361a8569d825b2098 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac8ad8684a67b13b361a8569d825b2098">newPf</a> (const std::string &amp;name, const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;pfs)</td></tr>
<tr class="separator:ac8ad8684a67b13b361a8569d825b2098 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a241ecbd26413d976be8cc1d34f7f93e2 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a241ecbd26413d976be8cc1d34f7f93e2">newPf</a> (const std::string &amp;name, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;args, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:a241ecbd26413d976be8cc1d34f7f93e2 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac903fe293131f805c477a7830956de9a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac903fe293131f805c477a7830956de9a">newPf</a> (const std::string &amp;name, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;args, const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;pfs)</td></tr>
<tr class="separator:ac903fe293131f805c477a7830956de9a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5703a2ebdbed3225aa886e4476c683ec inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a5703a2ebdbed3225aa886e4476c683ec">newPf</a> (const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;label, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;frm, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="memdesc:a5703a2ebdbed3225aa886e4476c683ec inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creating LAMBDA-abstraction (LAMBDA label formula proof)  <a href="#a5703a2ebdbed3225aa886e4476c683ec"></a><br/></td></tr>
<tr class="separator:a5703a2ebdbed3225aa886e4476c683ec inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab928d4883eab42df337ce09447c49702 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ab928d4883eab42df337ce09447c49702">newPf</a> (const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;label, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="memdesc:ab928d4883eab42df337ce09447c49702 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creating LAMBDA-abstraction (LAMBDA label proof).  <a href="#ab928d4883eab42df337ce09447c49702"></a><br/></td></tr>
<tr class="separator:ab928d4883eab42df337ce09447c49702 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad2d702b1e1a7e024d1068cbde1b8d77 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aad2d702b1e1a7e024d1068cbde1b8d77">newPf</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;labels, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;frms, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="memdesc:aad2d702b1e1a7e024d1068cbde1b8d77 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similarly, multi-argument lambda-abstractions: (LAMBDA (u1,...,un): (f1,...,fn). pf)  <a href="#aad2d702b1e1a7e024d1068cbde1b8d77"></a><br/></td></tr>
<tr class="separator:aad2d702b1e1a7e024d1068cbde1b8d77 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe7fac97b88de3346898e955456adc75 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#abe7fac97b88de3346898e955456adc75">newPf</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &gt; &amp;labels, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:abe7fac97b88de3346898e955456adc75 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ac6cae811b7bab0f2fc9aa62b94b461fd"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ac6cae811b7bab0f2fc9aa62b94b461fd">greaterthan</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;)</td></tr>
<tr class="separator:ac6cae811b7bab0f2fc9aa62b94b461fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Auxiliary functions for eqElimIntRule()</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods that compute the subterms used in <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a> </p>
</div></td></tr>
<tr class="memitem:a0f531ca3d0d71a1872e1519aeafa7700"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a0f531ca3d0d71a1872e1519aeafa7700">modEq</a> (const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;i, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m)</td></tr>
<tr class="memdesc:a0f531ca3d0d71a1872e1519aeafa7700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#a0f531ca3d0d71a1872e1519aeafa7700"></a><br/></td></tr>
<tr class="separator:a0f531ca3d0d71a1872e1519aeafa7700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a312dc8f65e3f19567e078035d1c67228"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a312dc8f65e3f19567e078035d1c67228">create_t</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;eqn)</td></tr>
<tr class="memdesc:a312dc8f65e3f19567e078035d1c67228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the term 't'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>.  <a href="#a312dc8f65e3f19567e078035d1c67228"></a><br/></td></tr>
<tr class="separator:a312dc8f65e3f19567e078035d1c67228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e069e289a008b1becbd5aef9afdd386"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a1e069e289a008b1becbd5aef9afdd386">create_t2</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)</td></tr>
<tr class="memdesc:a1e069e289a008b1becbd5aef9afdd386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the term 't2'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>.  <a href="#a1e069e289a008b1becbd5aef9afdd386"></a><br/></td></tr>
<tr class="separator:a1e069e289a008b1becbd5aef9afdd386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7458e7bd26ab3c181402534228ddbcc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a7458e7bd26ab3c181402534228ddbcc0">create_t3</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t)</td></tr>
<tr class="memdesc:a7458e7bd26ab3c181402534228ddbcc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the term 't3'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>.  <a href="#a7458e7bd26ab3c181402534228ddbcc0"></a><br/></td></tr>
<tr class="separator:a7458e7bd26ab3c181402534228ddbcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8634bedfcede10ab17339fde0a72e5d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a8634bedfcede10ab17339fde0a72e5d6">sumModM</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;summands, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;sum, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;divisor)</td></tr>
<tr class="memdesc:a8634bedfcede10ab17339fde0a72e5d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes sum = a_0 + a_1*x_1+...+a_n*x_n and returns the vector of similar monomials (in 'summands') with coefficients mod(a_i, m). If divide flag is true, the coefficients will be mod(a_i,m)/m.  <a href="#a8634bedfcede10ab17339fde0a72e5d6"></a><br/></td></tr>
<tr class="separator:a8634bedfcede10ab17339fde0a72e5d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9551aaeb071bd9c2b5703f69c2243e14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a9551aaeb071bd9c2b5703f69c2243e14">monomialModM</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;divisor)</td></tr>
<tr class="memdesc:a9551aaeb071bd9c2b5703f69c2243e14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#a9551aaeb071bd9c2b5703f69c2243e14"></a><br/></td></tr>
<tr class="separator:a9551aaeb071bd9c2b5703f69c2243e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d81fdb3d2ac10bfc3f2c0d73a5258e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a3d81fdb3d2ac10bfc3f2c0d73a5258e1">sumMulF</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;summands, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;sum, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;divisor)</td></tr>
<tr class="memdesc:a3d81fdb3d2ac10bfc3f2c0d73a5258e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#a3d81fdb3d2ac10bfc3f2c0d73a5258e1"></a><br/></td></tr>
<tr class="separator:a3d81fdb3d2ac10bfc3f2c0d73a5258e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e2582c11f6547ed6faefaec6c9142f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a2e2582c11f6547ed6faefaec6c9142f9">monomialMulF</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;divisor)</td></tr>
<tr class="memdesc:a2e2582c11f6547ed6faefaec6c9142f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#a2e2582c11f6547ed6faefaec6c9142f9"></a><br/></td></tr>
<tr class="separator:a2e2582c11f6547ed6faefaec6c9142f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7af04a277cf5337c02182ee9bf055a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ad7af04a277cf5337c02182ee9bf055a4">f</a> (const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;i, const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;m)</td></tr>
<tr class="memdesc:ad7af04a277cf5337c02182ee9bf055a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute floor(i/m+1/2) + mod(i,m)  <a href="#ad7af04a277cf5337c02182ee9bf055a4"></a><br/></td></tr>
<tr class="separator:ad7af04a277cf5337c02182ee9bf055a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77f3c348c3b6566fbae5c9750d568b9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a77f3c348c3b6566fbae5c9750d568b9c">substitute</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;term, <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;eMap)</td></tr>
<tr class="memdesc:a77f3c348c3b6566fbae5c9750d568b9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#a77f3c348c3b6566fbae5c9750d568b9c"></a><br/></td></tr>
<tr class="separator:a77f3c348c3b6566fbae5c9750d568b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2174305ea66a5df62101bce0ada8d04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#ae2174305ea66a5df62101bce0ada8d04">getLeaves</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::set&lt; <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &gt; &amp;s, <a class="el" href="classCVC3_1_1ExprHashMap.html">ExprHashMap</a>&lt; bool &gt; &amp;cache)</td></tr>
<tr class="memdesc:ae2174305ea66a5df62101bce0ada8d04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the special modulus: i - m*floor(i/m+1/2)  <a href="#ae2174305ea66a5df62101bce0ada8d04"></a><br/></td></tr>
<tr class="separator:ae2174305ea66a5df62101bce0ada8d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:afd5a86810c4915fbe0223a122180a466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoryArithOld.html">TheoryArithOld</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#afd5a86810c4915fbe0223a122180a466">d_theoryArith</a></td></tr>
<tr class="separator:afd5a86810c4915fbe0223a122180a466"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classCVC3_1_1TheoremProducer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classCVC3_1_1TheoremProducer')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a></td></tr>
<tr class="memitem:ab3afa2471d244b129865548afe06ca89 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ab3afa2471d244b129865548afe06ca89">newTheorem</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;thm, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &amp;assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="memdesc:ab3afa2471d244b129865548afe06ca89 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new theorem. See also <a class="el" href="classCVC3_1_1TheoremProducer.html#a1b12639479f7d06736c643d43d714e90" title="Create a rewrite theorem: lhs = rhs.">newRWTheorem()</a> and <a class="el" href="classCVC3_1_1TheoremProducer.html#a0670b7f9cfb6e1420227b5df652d6e79" title="Create a reflexivity theorem.">newReflTheorem()</a>  <a href="#ab3afa2471d244b129865548afe06ca89"></a><br/></td></tr>
<tr class="separator:ab3afa2471d244b129865548afe06ca89 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b12639479f7d06736c643d43d714e90 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a1b12639479f7d06736c643d43d714e90">newRWTheorem</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &amp;assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="memdesc:a1b12639479f7d06736c643d43d714e90 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a rewrite theorem: lhs = rhs.  <a href="#a1b12639479f7d06736c643d43d714e90"></a><br/></td></tr>
<tr class="separator:a1b12639479f7d06736c643d43d714e90 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0670b7f9cfb6e1420227b5df652d6e79 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a0670b7f9cfb6e1420227b5df652d6e79">newReflTheorem</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a0670b7f9cfb6e1420227b5df652d6e79 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a reflexivity theorem.  <a href="#a0670b7f9cfb6e1420227b5df652d6e79"></a><br/></td></tr>
<tr class="separator:a0670b7f9cfb6e1420227b5df652d6e79 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f0d46a632906b24cca2d5f648ae329 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ae6f0d46a632906b24cca2d5f648ae329">newAssumption</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;thm, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf, int scope=-1)</td></tr>
<tr class="separator:ae6f0d46a632906b24cca2d5f648ae329 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0760db9fcf381bf3886dbb1801662d inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem3.html">Theorem3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aec0760db9fcf381bf3886dbb1801662d">newTheorem3</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;thm, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &amp;assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:aec0760db9fcf381bf3886dbb1801662d inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaca425811ff3137c21a040a8ce1b69e inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem3.html">Theorem3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aaaca425811ff3137c21a040a8ce1b69e">newRWTheorem3</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;rhs, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &amp;assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &amp;pf)</td></tr>
<tr class="separator:aaaca425811ff3137c21a040a8ce1b69e inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f74c8badd61cf70ebeb05183c00d608 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a8f74c8badd61cf70ebeb05183c00d608">soundError</a> (const std::string &amp;file, int line, const std::string &amp;cond, const std::string &amp;msg)</td></tr>
<tr class="separator:a8f74c8badd61cf70ebeb05183c00d608 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classCVC3_1_1TheoremProducer"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classCVC3_1_1TheoremProducer')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a></td></tr>
<tr class="memitem:a27015759e6bdfced928fc5a2d9877b7d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a27015759e6bdfced928fc5a2d9877b7d">d_tm</a></td></tr>
<tr class="separator:a27015759e6bdfced928fc5a2d9877b7d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b706238281ad141a57363a6890f14a5 inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a1b706238281ad141a57363a6890f14a5">d_em</a></td></tr>
<tr class="separator:a1b706238281ad141a57363a6890f14a5 inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b023af23ac984c27c8eae1f79fb1e2d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">const bool *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a8b023af23ac984c27c8eae1f79fb1e2d">d_checkProofs</a></td></tr>
<tr class="separator:a8b023af23ac984c27c8eae1f79fb1e2d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb2b6244c679d22b4a684fb39fd3558 inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#adcb2b6244c679d22b4a684fb39fd3558">d_pfOp</a></td></tr>
<tr class="separator:adcb2b6244c679d22b4a684fb39fd3558 inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee4a05e25306885dbaa6f67fc92f119d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aee4a05e25306885dbaa6f67fc92f119d">d_hole</a></td></tr>
<tr class="separator:aee4a05e25306885dbaa6f67fc92f119d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00031">31</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4896b0d01e30e02300f74b9ae6b4d9d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ArithTheoremProducerOld::ArithTheoremProducerOld </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *&#160;</td>
          <td class="paramname"><em>tm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArithOld.html">TheoryArithOld</a> *&#160;</td>
          <td class="paramname"><em>theoryArith</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00066">66</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0f531ca3d0d71a1872e1519aeafa7700"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> ArithTheoremProducerOld::modEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

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

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</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="a312dc8f65e3f19567e078035d1c67228"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::create_t </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>eqn</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the term 't'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>. </p>

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

<p>References <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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="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#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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a1e069e289a008b1becbd5aef9afdd386"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::create_t2 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>lhs</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>rhs</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>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the term 't2'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>. </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l02388">2388</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l01135">CVC3::Expr::getRational()</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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a7458e7bd26ab3c181402534228ddbcc0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::create_t3 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>lhs</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>rhs</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>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the term 't3'. See <a class="el" href="classCVC3_1_1ArithTheoremProducerOld.html#a85fd2ee0f7126d421fb53f4823ec8e77" title="Equality elimination rule for integers:  See the detailed description for explanations.">eqElimIntRule()</a>. </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l02408">2408</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l01135">CVC3::Expr::getRational()</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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a8634bedfcede10ab17339fde0a72e5d6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArithTheoremProducerOld::sumModM </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>summands</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>sum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Takes sum = a_0 + a_1*x_1+...+a_n*x_n and returns the vector of similar monomials (in 'summands') with coefficients mod(a_i, m). If divide flag is true, the coefficients will be mod(a_i,m)/m. </p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a9551aaeb071bd9c2b5703f69c2243e14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::monomialModM </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">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l02465">2465</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="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#l00207">CVC3::multExpr()</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="a3d81fdb3d2ac10bfc3f2c0d73a5258e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArithTheoremProducerOld::sumMulF </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>summands</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>sum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e2582c11f6547ed6faefaec6c9142f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::monomialMulF </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">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>divisor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l02513">2513</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7af04a277cf5337c02182ee9bf055a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> ArithTheoremProducerOld::f </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute floor(i/m+1/2) + mod(i,m) </p>

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

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a77f3c348c3b6566fbae5c9750d568b9c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::substitute </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>
        </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_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>eMap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::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_8h_source.html#l00183">CVC3::isMult()</a>, <a class="el" href="theory__arith_8h_source.html#l00181">CVC3::isPlus()</a>, and <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2174305ea66a5df62101bce0ada8d04"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArithTheoremProducerOld::getLeaves </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_1Rational.html">Rational</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprHashMap.html">ExprHashMap</a>&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>cache</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the special modulus: i - m*floor(i/m+1/2) </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l03838">3838</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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__map_8h_source.html#l00326">CVC3::ExprHashMap&lt; Data &gt;::end()</a>, <a class="el" href="expr__map_8h_source.html#l00329">CVC3::ExprHashMap&lt; Data &gt;::find()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8cpp_source.html#l00550">CVC3::Expr::isAtomic()</a>, <a class="el" href="expr_8h_source.html#l00423">CVC3::Expr::isITE()</a>, and <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>.</p>

</div>
</div>
<a class="anchor" id="a8e7bf5bdb1872df7f21920c64a37c612"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ArithTheoremProducerOld::rat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> from <a class="el" href="classCVC3_1_1Rational.html">Rational</a> (for convenience) </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00070">70</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

<p>References <a class="el" href="theorem__producer_8h_source.html#l00095">CVC3::TheoremProducer::d_em</a>, and <a class="el" href="expr__manager_8h_source.html#l00471">CVC3::ExprManager::newRatExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="ab22e2bf40e2473ab9dc34097c28a46a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ArithTheoremProducerOld::realType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00071">71</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

<p>References <a class="el" href="arith__theorem__producer__old_8h_source.html#l00032">d_theoryArith</a>, and <a class="el" href="theory__arith_8h_source.html#l00152">CVC3::TheoryArith::realType()</a>.</p>

</div>
</div>
<a class="anchor" id="a520ba37f3cc4129559fc32289a027b82"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ArithTheoremProducerOld::intType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00072">72</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

<p>References <a class="el" href="arith__theorem__producer__old_8h_source.html#l00032">d_theoryArith</a>, and <a class="el" href="theory__arith_8h_source.html#l00153">CVC3::TheoryArith::intType()</a>.</p>

</div>
</div>
<a class="anchor" id="a9437ab7589a35fa490136b4b917ad244"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ArithTheoremProducerOld::darkShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>lhs</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>rhs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct the dark shadow expression representing lhs &lt;= rhs. </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00074">74</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

<p>References <a class="el" href="arith__theorem__producer__old_8h_source.html#l00032">d_theoryArith</a>, and <a class="el" href="theory__arith_8h_source.html#l00159">CVC3::TheoryArith::darkShadow()</a>.</p>

</div>
</div>
<a class="anchor" id="a4eade9939f609e974d0c5210404ba965"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ArithTheoremProducerOld::grayShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>v</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <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">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct the gray shadow expression representing c1 &lt;= v - e &lt;= c2. </p>
<p>Alternatively, v = e + i for some i s.t. c1 &lt;= i &lt;= c2 </p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8h_source.html#l00080">80</a> of file <a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a>.</p>

<p>References <a class="el" href="arith__theorem__producer__old_8h_source.html#l00032">d_theoryArith</a>, and <a class="el" href="theory__arith_8h_source.html#l00165">CVC3::TheoryArith::grayShadow()</a>.</p>

</div>
</div>
<a class="anchor" id="aebcc9153d9e9bfff3678c271674a6053"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::varToMult </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>==&gt; e = 1 * e </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a8b8db5ad0a8d4968f429e98964db93c1">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="a8165eb2a8fea70e0d1d2c8ebb1358855"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::uMinusToMult </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>==&gt; -(e) = (-1) * e </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aa95faca93e7b4a1cf21667ff88d390e4">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="ae3458f7b381a95e124e3204ed66904ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::minusToPlus </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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>==&gt; x - y = x + (-1) * y </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a4319c532082c0f43794b34a2fb9df73f">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="a693a5043cf100f13390b358290940dd5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonUMinusToDivide </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>-(e) ==&gt; e / (-1); takes 'e' </p>
<p>Canon Rule for unary minus: it just converts it to division by -1, the result is not yet canonical: </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0053398d4a8fc49d9a2f8ede6949fc70">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="a237d508b95295db21e9ce21172d4366a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonDivideConst </td>
          <td>(</td>
          <td class="paramtype">const <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">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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>(c) / d ==&gt; (c/d), takes c and d </p>
<p>Canon Rules for division by constant 'd' </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a79c759f2bb7dc41ed98c5962febef804">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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="aea8367eb1c88d26b83aea3e5e63f66db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonDivideMult </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>cx</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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>(c * x) / d ==&gt; (c/d) * x, takes (c*x) and d </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aee487a2a1e8ce4c34075568eb70ea874">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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#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="a844e1fe500be8d1c083ddf6c06fcc85c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonDividePlus </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">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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>(+ c ...)/d ==&gt; push division to all the coefficients. </p>
<p>The result is not canonical, but canonizing the summands will make it canonical. Takes (+ c ...) and d </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a92846ee0cdab98d1759a13ff7e8d710d">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00139">139</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="af79a13a84e24d58135d13d7520726134"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonDivideVar </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">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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x / d ==&gt; (1/d) * x, takes x and d </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a4ab0351b340ecb82d6ced530e4f30510">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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="ac6cae811b7bab0f2fc9aa62b94b461fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArithTheoremProducerOld::greaterthan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>l</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>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l02556">2556</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l00431">CVC3::Expr::isRational()</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>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

</div>
</div>
<a class="anchor" id="aeebe92e51ed9f4f65fc949c66d240a1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::simplifiedMultExpr </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>mulKids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, and <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a4fe68827d0fd6cdccac139bc55416cb8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultConstMult </td>
          <td>(</td>
          <td class="paramtype">const <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">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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00210">210</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#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#l00044">CVC3::MULT</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aa9f22909a2df31e9d59a96afecfa11dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultConstPlus </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00232">232</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, and <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>.</p>

</div>
</div>
<a class="anchor" id="a5840677a1efc3ab4ef21840d57654c5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultPowPow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00251">251</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#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#l00046">CVC3::POW</a>, and <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7bb027487c9e8312c4ca194ecfd379d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultPowLeaf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00291">291</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#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#l00046">CVC3::POW</a>, and <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a71d7308e50c892d691d504397f5a92c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultLeafLeaf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>References <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a040ec808dbbe743d9b138bfae33d24fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultLeafOrPowMult </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00358">358</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l00044">CVC3::MULT</a>, <a class="el" href="theory__arith_8h_source.html#l00046">CVC3::POW</a>, and <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="aad39a4a6b01790e883d49e03e3b513a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonCombineLikeTerms </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>sumExprs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00430">430</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l00431">CVC3::Expr::isRational()</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>, and <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="acf0ff17451a851136910015ea515ac2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultLeafOrPowOrMultPlus </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00511">511</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, and <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>.</p>

</div>
</div>
<a class="anchor" id="ae39478b27e22eee4837e7a132301b31a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> ArithTheoremProducerOld::canonMultPlusPlus </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</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>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00530">530</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, and <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>.</p>

</div>
</div>
<a class="anchor" id="ad7982dec66d9ebd08596c5b7d352604b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultMtermMterm </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aa38d5c06ebe0b672570641fe933cfedb">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="debug_8h_source.html#l00037">FatalAssert</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#l00183">CVC3::isMult()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a213b741317120ee84b6e61f50e484f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonPlus </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Canonize (PLUS t1 ... tn) </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a225fe511e6f654f313048e86c1550510">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00719">719</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, and <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>.</p>

</div>
</div>
<a class="anchor" id="a7696b12b3bc3ab04fdbf284a9466364a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonInvertConst </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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="acd60e50d112e88d021974c0b70956db6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonInvertLeaf </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>References <a class="el" href="theory__arith_8h_source.html#l00216">CVC3::powExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="ad02b7e86f0f0edef419c4fe2adc74c99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonInvertPow </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00847">847</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l01168">CVC3::Expr::getKind()</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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a776468ac8d047b43cb460c9b3c600293"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonInvertMult </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00866">866</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a67391e426738cbd4a15f6fbc5b2d19e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonInvert </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>==&gt; 1/e = e' where e' is canonical; takes e. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a9a806d487932bbfa9a019d4d1eed1cea">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00889">889</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b44fabb65bb6748259aee8959be465e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::moveSumConstantRight </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Transform e = (SUM r t1 ... tn) @ 0 into (SUM t1 ... tn) @ -r. The first sum term (r) must be a rational and t1 ... tn terms must be canonised.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>the expression to transform </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>rewrite theorem representing the transformation </dd></dl>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a18e5970bc4f670a63ca5775750f099ab">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#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#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#l00199">CVC3::plusExpr()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aec48ed7710110960c6f87e6946500494"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonDivide </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>e[0]/e[1] ==&gt; e[0]*(e[1])^-1 </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a198b0b44145b8e33555ffd212f43b7b3">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00957">957</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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#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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a50819c4cc053538490a2cbb535edf39d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMult </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiply out the operands of the multiplication (each of them is expected to be canonised </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aca910e6ff44389aac100b14b486c1942">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00752">752</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="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#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</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="expr_8h_source.html#l00965">CVC3::Expr::iffExpr()</a>, <a class="el" href="expr_8h_source.html#l00969">CVC3::Expr::impExpr()</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="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00221">CVC3::ltExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00044">CVC3::MULT</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</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="kinds_8h_source.html#l00069">XOR</a>.</p>

</div>
</div>
<a class="anchor" id="a70d0d0fa8c08582a17399c0570812afa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultTermConst </td>
          <td>(</td>
          <td class="paramtype">const <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">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>t*c ==&gt; c*t, takes constant c and term t </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a11870b90dbfcc61d2b9a2820df7f6057">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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="a10ed8952ec021d78cf1bc8b60e6634c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultTerm1Term2 </td>
          <td>(</td>
          <td class="paramtype">const <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">const <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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>t1*t2 ==&gt; Error, takes t1 and t2 where both are non-constants </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a8b9abf99f0b013714eaaa49e81a618b9">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="af62a070ed7a3a326db5b121b282bd47c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultZero </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>0*t ==&gt; 0, takes 0*t </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aae559b4d1558fecba5621c9ba27daa88">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="abc03e832be081de0ca6f7f4e905e0f4f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultOne </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>1*t ==&gt; t, takes 1*t </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a87f9a39ecb1bec46adff5187bc899726">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="a3c1740f98f0ac4952c8d7a721767535e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultConstConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>c1</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>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>c1*c2 ==&gt; c', takes constant c1*c2 </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a71be38a9fa2d89e147ac4fde35c49e21">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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="a8e0a636c4ee9bb70b8f36ee3f6acab49"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultConstTerm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>c1</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>c2</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>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>c1*(c2*t) ==&gt; c'*t, takes c1 and c2 and t </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a96b1cb83272cf80c2de663de429e6a15">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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="a5892d8574e2787b95005211cf0517952"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonMultConstSum </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>c1</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>sum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>c1*(+ c2 v1 ...) ==&gt; (+ c' c1v1 ...), takes c1 and the sum </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a978068749de266dbbba2000d9e0c3d39">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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="theory__arith_8h_source.html#l00177">CVC3::isRational()</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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a7b083f1e452bd42475d9f0b313651fac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonPowConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>pow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>c^n = c' (compute the constant power expression) </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a999f13a6fa4a6d8cbe97f02f93fc9ed3">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#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#l00046">CVC3::POW</a>, <a class="el" href="rational_8h_source.html#l00159">CVC3::pow()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aba0cab7c4879b336dfac9cd1673be1c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonFlattenSum </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>flattens the input. accepts a PLUS expr </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af0f4877d7326a53faec76bef54a3d400">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a7f2a1a065eac005fa6b47c32040d9401"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::canonComboLikeTerms </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>combine like terms. accepts a flattened PLUS expr </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a1da0c47c02ff2392ca3e0b6493ac4823">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l01134">1134</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</a>, <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap&lt; Data &gt;::count()</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap&lt; Data &gt;::end()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</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="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ad73622cdec4a472af97d68de6716fe0a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::multEqZero </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af8f4f59bd12fdd8f93d1fd49ae41279e">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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>, and <a class="el" href="kinds_8h_source.html#l00068">OR</a>.</p>

</div>
</div>
<a class="anchor" id="a9cc96dbb9ae7fa063146b9924f51fe68"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::powEqZero </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af17a5dbf4ebbe9d7e46d63ad1284ddaf">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</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#l00185">CVC3::isPow()</a>, <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aeed414c650deb9b1e619ffb8f3266ea4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::elimPower </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0e6f19ba5333f667efa3a0e3d8787775">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l00951">CVC3::Expr::orExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a2483c968c6a4d7f8ae63595c839b70f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::elimPowerConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>root</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0e240fba4eac33522b24be6581d98346">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</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="expr_8h_source.html#l00951">CVC3::Expr::orExpr()</a>, <a class="el" href="rational_8h_source.html#l00159">CVC3::pow()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="afe5f71b9fdeb8be95e0e71e94df0b598"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::evenPowerEqNegConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a80f948f405f0b1a88283c97b70aab43e">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a75a67906db6381d408ea1a9830c36cf7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::intEqIrrational </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</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>isInt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aff57d78a7d743fffd21de7d4415df3e4">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</a>, <a class="el" href="rational_8h_source.html#l00172">CVC3::ratRoot()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aefea69c7f808394db447b9ed658c59fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::constPredicate </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>e0 @ e1 &lt;==&gt; true | false, where @ is {=,&lt;,&lt;=,&gt;,&gt;=} </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>takes e is (e0@e1) where e0 and e1 are constants </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a8dd6bb6fed9a4745469b0cad5ed4a139">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l00053">CLASS_NAME</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="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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a088b20af694e737e1c7ff12d2ff74d7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::rightMinusLeft </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>e[0] @ e[1] &lt;==&gt; 0 @ e[1] - e[0], where @ is {=,&lt;,&lt;=,&gt;,&gt;=} </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#acde77bf4aa73ff6b9a079b372ed7cc51">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, and <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>.</p>

</div>
</div>
<a class="anchor" id="a36301e14b9eb42fc9842a3a7f60f8b17"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::leftMinusRight </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>e[0] @ e[1] &lt;==&gt; e[0] - e[1] @ 0, where @ is {=,&lt;,&lt;=,&gt;,&gt;=} </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0201544f06baaba23df9946f5da47978">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, and <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>.</p>

</div>
</div>
<a class="anchor" id="a35577ad70c513422af5cbfca00cde1e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::plusPredicate </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="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>z</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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x @ y &lt;==&gt; x + z @ y + z, where @ is {=,&lt;,&lt;=,&gt;,&gt;=} (given as 'kind') </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0fa920a2a5cfa4419dbde10b1d913687">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, and <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb54d03f4672718b7de6160a88bf33cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::multEqn </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="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x = y &lt;==&gt; x * z = y * z, where z is a non-zero constant </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ad62d795eb10e67c655c608774881bde3">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, and <a class="el" href="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>.</p>

</div>
</div>
<a class="anchor" id="a16c7325daba5b9e8cea7284fafaa5382"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::divideEqnNonConst </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="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a419dd84177b5ca1fda7a23f3052b6132">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, and <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="aa425318a5846e14a94b2a3a34bb99b6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::multIneqn </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">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Multiplying inequation by a non-zero constant. </p>
<p>z&gt;0 ==&gt; e[0] @ e[1] &lt;==&gt; e[0]*z @ e[1]*z</p>
<p>z&lt;0 ==&gt; e[0] @ e[1] &lt;==&gt; e[1]*z @ e[0]*z</p>
<p>for @ in {&lt;,&lt;=,&gt;,&gt;=}: </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a70e83cfbc207a5d15fedd4adde7e9e76">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l01183">CVC3::Expr::getOp()</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#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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a8edb275846dc5d938d3a8716436f0e1e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::eqToIneq </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x = y ==&gt; x &lt;= y and x &gt;= y </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a646e312e12d5d23dca0c4db39d2c9fb9">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l00945">CVC3::andExpr()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a86c578d9592d6782d2224118b755e0fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::flipInequality </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>"op1 GE|GT op2" &lt;==&gt; op2 LE|LT op1 </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aff4a01da77770b0b60089444c83c9cef">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b1fba36612db00956767d73bb1b6623"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::negatedInequality </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Propagating negation over &lt;,&lt;=,&gt;,&gt;=. </p>
<p>NOT (op1 &lt; op2) &lt;==&gt; (op1 &gt;= op2) </p>
<pre class="fragment">  NOT (op1 &lt;= op2)  &lt;==&gt; (op1 &gt; op2)

  NOT (op1 &gt; op2)  &lt;==&gt; (op1 &lt;= op2)

  NOT (op1 &gt;= op2)  &lt;==&gt; (op1 &lt; op2)</pre> 
<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aee47bda46999143ea29d7d4ff0be89d4">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</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_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#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f7858787d55442d57e5924dd232f842"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::realShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>alphaLTt</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>tLTbeta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Real shadow: a &lt;(=) t, t &lt;(=) b ==&gt; a &lt;(=) b. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a203c7079289189cd4bf4f604c10645e5">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l00402">CVC3::Theorem::getProof()</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#l00049">CVC3::LT</a>, and <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a5033cb7a4be3d2e9bc1cd60582482c5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::realShadowEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>alphaLEt</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>tLEalpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>alpha &lt;= t &lt;= alpha ==&gt; t = alpha </p>
<p>takes two ineqs "|- alpha LE t" and "|- t LE alpha" and returns "|- t = alpha" </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a08dfccc28787af2a4141ed0f5a66bc9d">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, and <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2869b5a206710a6c890d81ded080838"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::finiteInterval </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>aLEt</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>tLEac</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>isInta</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>isIntt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finite interval for integers: a &lt;= t &lt;= a + c ==&gt; G(t, a, 0, c) </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5d419e48b93820624e356ba33efef27c">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</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#l00181">CVC3::isPlus()</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="a07e973f55e9daf1def982c84c3a078b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::darkGrayShadow2ab </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>betaLEbx</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>axLEalpha</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>isIntAlpha</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>isIntBeta</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>isIntx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dark &amp; Gray shadows when a &lt;= b. </p>
<p>takes two integer ineqs (i.e. all vars are ints) "|- beta &lt;= b.x" and "|- a.x &lt;= alpha" and checks if "1 &lt;= a &lt;= b" and returns (D or G) and (!D or !G), where D = Dark_Shadow(ab-1, b.alpha - a.beta), G = Gray_Shadow(a.x, alpha, -(a-1), 0). </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a37835b10dd0f73b5c4cf36c1eebf0d1f">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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#l00205">CVC3::minusExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ae27df6e46accf919b67dda1cb914c160"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::darkGrayShadow2ba </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>betaLEbx</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>axLEalpha</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>isIntAlpha</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>isIntBeta</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>isIntx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dark &amp; Gray shadows when b &lt;= a. </p>
<p>takes two integer ineqs (i.e. all vars are ints) "|- beta &lt;= b.x" and "|- a.x &lt;= alpha" and checks if "1 &lt;= b &lt; a" and returns (D or G) and (!D or !G), where D = Dark_Shadow(ab-1, b.alpha - a.beta), G = Gray_Shadow(b.x, beta, 0, b-1). </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ab17282c2e4de9965586f4821f17bf60d">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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#l00205">CVC3::minusExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b28ed8d0e2ef812bcfc8bba931e46cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::expandDarkShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>darkShadow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>takes a dark shadow and expands it into an inequality. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a94ffe313b29aa63c32d5c3facb3bc917">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00190">CVC3::isDarkShadow()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a273501b582758aca3ebabe6bd3ce83e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::expandGrayShadow0 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>GRAY_SHADOW(v, e, c, c) ==&gt; v=e+c. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a32df170ed2ec7fb3d1c7541e6f3dda77">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a7fa5dbc59e8ce9a4315373092329a029"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::splitGrayShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>G(x, e, c1, c2) ==&gt; (G1 or G2) and (!G1 or !G2) </p>
<p>Here G1 = G(x,e,c1,c), G2 = G(x,e,c+1,c2), and c = floor((c1+c2)/2). </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a4b6ef5b29b05bada6ea2df72873abea6">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a0d76b8569909514e1f6a392a3778c04b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::splitGrayShadowSmall </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>grayShadow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aa33975feef2a9cdd513e5d641f14dc7a">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="classCVC3_1_1Rational.html#a094636dfa3a740640ca1b0c7406f7e8f">CVC3::Rational::getInt()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a0e43921a028cfe58d5b50acd0c4a70ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::expandGrayShadow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>G(x, e, c1, c2) ==&gt; e+c1 &lt;= x AND x &lt;= e+c2. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af936b764ef75b0a6f63043d01a819044">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ae8c25031e88732d3259cd8e33d75e094"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::expandGrayShadowConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Optimized rules: GRAY_SHADOW(a*x, c, c1, c2) ==&gt; [expansion]. </p>
<p>Implements three versions of the rule:</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[\frac{\mathrm{GRAY\_SHADOW}(ax,c,c1,c2)} {ax = c + i - \mathrm{sign}(i)\cdot j(c,i,a) \lor GRAY\_SHADOW(ax, c, i-\mathrm{sign}(i)\cdot (a+j(c,i,a)))}\]" src="form_302.png"/>
</p>
 <pre class="fragment"> where the conclusion may become FALSE or without the
 GRAY_SHADOW part, depending on the values of a, c and i.</pre> 
<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a3083a3c5893123f2a3ec54ce31718e09">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="cvc__util_8h_source.html#l00053">CVC3::abs()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</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#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00183">CVC3::isMult()</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="expr_8h_source.html#l00951">CVC3::Expr::orExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a04d45720968a5ff4ccd6411413bd826e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::grayShadowConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>|- G(ax, c, c1, c2) ==&gt; |- G(x, 0, ceil((c1+c)/a), floor((c2+c)/a)) </p>
<p>In the case the new c1 &gt; c2, return |- FALSE </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a597adbe8879c33bffefae537a5bca7c0">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="abd378d8d5a434e8df4809239bebc22fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> ArithTheoremProducerOld::constRHSGrayShadow </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_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Implements j(c,b,a) </p>
<p>accepts 3 integers a,b,c and returns (b &gt; 0)? (c+b) mod a : (a - (c+b)) mod a </p>

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

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, and <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>.</p>

</div>
</div>
<a class="anchor" id="a0ce54f8c725be25a6f6b11c7fbdc5321"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::lessThanToLE </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>less</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>isIntLHS</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>isIntRHS</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>changeRight</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Takes a <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>(\alpha &lt; \beta) and returns <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>(\alpha &lt; \beta &lt;==&gt; \alpha &lt;= \beta -1) where \alpha and \beta are integer expressions </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a7a0dad5cb9c2815421457dabc25bc537">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ab872ead63494b4afa6571e61a5cdd977"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::lessThanToLERewrite </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">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntLHS</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>isIntRHS</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>changeRight</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Takes a <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>(\alpha &lt; \beta) and returns <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>(\alpha &lt; \beta &lt;==&gt; \alpha &lt;= \beta -1) where \alpha and \beta are integer expressions </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af5cfb693ee5ee6f3463e83f01196b31e">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a99692dc40111d3082e7c583590c32188"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::intVarEqnConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>eqn</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>isIntx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">eqn</td><td>is an equation 0 = a.x or 0 = c + a.x </td></tr>
    <tr><td class="paramname">isIntx</td><td>is a proof of IS_INTEGER(x)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the theorem 0 = c + a.x &lt;==&gt; x=-c/a if -c/a is int else return the theorem 0 = c + a.x &lt;==&gt; false.</dd></dl>
<p>It also handles the special case of 0 = a.x &lt;==&gt; x = 0 </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a62d76b2ccca8af5e1f28c5104ea2e313">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</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="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="adc3a59f76832fd2671407c85b4b721a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::IsIntegerElim </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>IS_INTEGER(x) |= EXISTS (y : INT) y = x where x is not already known to be an integer. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a8c3d5fdc2b0c9c11291d41c3c20067e4">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <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="kinds_8h_source.html#l00085">EXISTS</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#l00402">CVC3::Theorem::getProof()</a>, and <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>.</p>

</div>
</div>
<a class="anchor" id="a85fd2ee0f7126d421fb53f4823ec8e77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::eqElimIntRule </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>
        </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>isIntx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>isIntVars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equality elimination rule for integers: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[\frac{\mathsf{int}(a\cdot x)\quad \mathsf{int}(C+\sum_{i=1}^{n}a_{i}\cdot x_{i})} {a\cdot x=C+\sum_{i=1}^{n}a_{i}\cdot x_{i} \quad\equiv\quad x=t_{2}\wedge 0=t_{3}} \]" src="form_303.png"/>
</p>
<p> See the detailed description for explanations. </p>
<pre class="fragment"> This rule implements a step in the iterative algorithm for
 eliminating integer equality.  The terms in the rule are
 defined as follows:
</pre><p class="formulaDsp">
<img class="formulaDsp" alt="\[\begin{array}{rcl} t_{2} &amp; = &amp; -(C\ \mathbf{mod}\ m+\sum_{i=1}^{n}(a_{i}\ \mathbf{mod}\ m) \cdot x_{i}-m\cdot\sigma(t))\\ &amp; &amp; \\ t_{3} &amp; = &amp; \mathbf{f}(C,m)+\sum_{i=1}^{n}\mathbf{f}(a_{i},m)\cdot x_{i} -a\cdot\sigma(t)\\ &amp; &amp; \\ t &amp; = &amp; (C\ \mathbf{mod}\ m+\sum_{i=1}^{n}(a_{i}\ \mathbf{mod}\ m) \cdot x_{i}+x)/m\\ &amp; &amp; \\ m &amp; = &amp; a+1\\ &amp; &amp; \\ \mathbf{f}(i,m) &amp; = &amp; \left\lfloor \frac{i}{m} +\frac{1}{2}\right\rfloor +i\ \mathbf{mod}\ m\\ &amp; &amp; \\ i\ \mathbf{mod}\ m &amp; = &amp; i-m\left\lfloor\frac{i}{m} +\frac{1}{2}\right\rfloor \end{array} \]" src="form_304.png"/>
</p>
 <pre class="fragment"> All the variables and coefficients are integer, and a &gt;= 2.

 \param eqn is the equation
</pre> <p class="formulaDsp">
<img class="formulaDsp" alt="\[a\cdot x = C + \sum_{i=1}^n a_i\cdot x_i.\]" src="form_305.png"/>
</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[\frac{\Gamma\models ax=t\quad \Gamma'\models\mathsf{int}(x)\quad \{\Gamma_i\models\mathsf{int}(x_i) | x_i\mbox{ is var in }t\}} {\Gamma,\Gamma',\bigcup_i\Gamma_i\models \exists (y:\mathrm{int}).\ x=t_2(y)\wedge 0=t_3(y)} \]" src="form_306.png"/>
</p>
<p> See detailed docs for more information.</p>
<p>This rule implements a step in the iterative algorithm for eliminating integer equality. The terms in the rule are defined as follows:</p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[\begin{array}{rcl} t &amp; = &amp; C+\sum_{i=1}^na_{i}\cdot x_{i}\\ t_{2}(y) &amp; = &amp; -(C\ \mathbf{mod}\ m+\sum_{i=1}^{n}(a_{i}\ \mathbf{mod}\ m) \cdot x_{i}-m\cdot y)\\ &amp; &amp; \\ t_{3}(y) &amp; = &amp; \mathbf{f}(C,m)+\sum_{i=1}^{n}\mathbf{f}(a_{i},m)\cdot x_{i} -a\cdot y\\ &amp; &amp; \\ m &amp; = &amp; a+1\\ &amp; &amp; \\ \mathbf{f}(i,m) &amp; = &amp; \left\lfloor \frac{i}{m} +\frac{1}{2}\right\rfloor +i\ \mathbf{mod}\ m\\ &amp; &amp; \\ i\ \mathbf{mod}\ m &amp; = &amp; i-m\left\lfloor\frac{i}{m} +\frac{1}{2}\right\rfloor \end{array} \]" src="form_307.png"/>
</p>
 <pre class="fragment"> All the variables and coefficients are integer, and a &gt;= 2.

 \param eqn is the equation ax=t:
</pre> <p class="formulaDsp">
<img class="formulaDsp" alt="\[a\cdot x = C + \sum_{i=1}^n a_i\cdot x_i.\]" src="form_305.png"/>
</p>
 <pre class="fragment"> \param isIntx is a Theorem deriving the integrality of the
 LHS variable: IS_INTEGER(x)

 \param isIntVars is a vector of Theorems deriving the
 integrality of all variables on the RHS</pre> 
<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a08b14a730bbc6b4ca28bb808e6f6dc85">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</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#l00402">CVC3::Theorem::getProof()</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="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="theory__arith_8h_source.html#l00184">CVC3::isDivide()</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_8h_source.html#l00194">CVC3::isIntPred()</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="expr_8h_source.html#l01427">CVC3::Expr::setType()</a>, <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</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="a5ef5359db9aa12e8d196f7a39fc0fb55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::isIntConst </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return e &lt;=&gt; TRUE/FALSE for e == IS_INTEGER(c), where c is a constant </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>is a predicate IS_INTEGER(c) where c is a rational constant </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5e9bccd77000156ab34b0b42d3e3bb18">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</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_8h_source.html#l00194">CVC3::isIntPred()</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="a0a3f404013d038207a13103500e09c99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::equalLeaves1 </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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ac05fd3606540a5222ebaa68f9091345b">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</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>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

</div>
</div>
<a class="anchor" id="ae1820f8d68e98363139d77deae464f4f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::equalLeaves2 </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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5052c783af25243987424ef66e2bf5fc">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</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>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

</div>
</div>
<a class="anchor" id="a8e8ce7a2f17e5a855985bd0abfac6f12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::equalLeaves3 </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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a893c86f0404789d229540f7a0a00df89">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</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>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

</div>
</div>
<a class="anchor" id="a24c874d01ca341845373cd41851a5a1b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::equalLeaves4 </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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aa9018c4d16d3d0a2d8f1614f8e7cae23">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</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>, and <a class="el" href="kinds_8h_source.html#l00037">RATIONAL_EXPR</a>.</p>

</div>
</div>
<a class="anchor" id="ae723d1459d8c6f797ec08451f80f0798"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::diseqToIneq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>diseq</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x /= y ==&gt; (x &lt; y) OR (x &gt; y) </p>
<p>Used in concrete model generation </p>

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af180898d9f1d255ef3a2f528ecd8ac65">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00225">CVC3::gtExpr()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="theory__arith_8h_source.html#l00221">CVC3::ltExpr()</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a3dd2d9c47ec607c816a9004c3659a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::dummyTheorem </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a24ea340651805e648d7180debad17225">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="aeb6d93e58c5c069ecbea38d013cbcf3e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::oneElimination </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></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a1ebae10d65430ab1a3a14c866af93de6">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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="expr_8h_source.html#l00431">CVC3::Expr::isRational()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aa71bcce02e1c1ce0d6ae588b4f341e4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::clashingBounds </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>lowerBound</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>upperBound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ad0b23fb01a7adea349c8958059b9f7fd">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#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#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#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="a582df53749ebc6fd4011c614ff767181"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::addInequalities </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>thm1</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>thm2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ac06dd83948d0f3e474f073ecac592343">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</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_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#l00049">CVC3::LT</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a0d40393a73ca5ac2e0078a6e955d7988"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::addInequalities </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>thms</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ab87b1e3a09aa830063d51c24a2147095">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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="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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a08879e8160aca1424c12e098f78df383"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyWeakerInequality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr1</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>expr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a9abe85f95b61d94fa308a0b15f2b2ef8">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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="expr_8h_source.html#l00969">CVC3::Expr::impExpr()</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#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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a3597b8abdecd9f22c11f3ed1b570b6e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyNegatedInequality </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr1</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>expr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5eaf4d106f7ce86227ab1d96ffc66b55">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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="expr_8h_source.html#l00969">CVC3::Expr::impExpr()</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="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>, <a class="el" href="expr_8h_source.html#l00937">CVC3::Expr::negate()</a>, <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ad6dec83ab198a011e429c0f4b3aa218f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::integerSplit </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>intVar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>intPoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a0090e0d4065efbf936ec92f0e99935e9">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00227">CVC3::geExpr()</a>, <a class="el" href="expr_8h_source.html#l00969">CVC3::Expr::impExpr()</a>, <a class="el" href="theory__arith_8h_source.html#l00053">CVC3::IS_INTEGER</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>, and <a class="el" href="classCVC3_1_1Rational.html#a195c125a76cb9a6c5731369e244a2de3">CVC3::Rational::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a929689864e6c95280fcf1caa08ae28e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::trustedRewrite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr1</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>expr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a11976de555ee2e88236575893f2ed766">CVC3::ArithProofRules</a>.</p>

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

</div>
</div>
<a class="anchor" id="af6182f9b295bde40a9047b1651d979a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::rafineStrictInteger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntConstrThm</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>constr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a4b61e3ea9d5ac911806de95241cf35de">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</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#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l01055">CVC3::Expr::getString()</a>, <a class="el" href="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="theory__arith_8h_source.html#l00192">CVC3::isIneq()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</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#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#l00199">CVC3::plusExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a21b67f29c32a44f6194d127feb316d99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::simpleIneqInt </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">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntRHS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a95bc88d9e126e6b9c938691ce92985aa">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="theory__arith_8h_source.html#l00052">CVC3::GE</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#l00402">CVC3::Theorem::getProof()</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="theory__arith_8h_source.html#l00194">CVC3::isIntPred()</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="expr_8h_source.html#l01005">CVC3::Expr::isVar()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, and <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>.</p>

</div>
</div>
<a class="anchor" id="a33232797bdaaa27ecd2f077478605bf6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::intEqualityRationalConstant </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>isIntConstrThm</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>constr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a93489420e882a93eb308c7d99c27dc1e">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</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#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="expr_8h_source.html#l01055">CVC3::Expr::getString()</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>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="aacf793e26f8917dbd96d235b9399a18e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::cycleConflict </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>inequalitites</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5a544980652c3f6793057b16cbc43cf9">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a98470138f38710024a7cc8f37706fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyEqualities </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>inequalities</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a5b475214a53d70298e55f4ac5f3db71f">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, <a class="el" href="expr_8h_source.html#l00945">CVC3::andExpr()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, and <a class="el" href="kinds_8h_source.html#l00044">RAW_LIST</a>.</p>

</div>
</div>
<a class="anchor" id="af6d982874e310ba4bdbc796fcbc720fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyWeakerInequalityDiffLogic </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>antecedentThms</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>implied</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aafc12b4bdf180f3475ecf4eaa40648d9">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, and <a class="el" href="kinds_8h_source.html#l00044">RAW_LIST</a>.</p>

</div>
</div>
<a class="anchor" id="aee41f9c7c0f2a6b82383076327e316a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyNegatedInequalityDiffLogic </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>antecedentThms</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>implied</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a61ecf1cfc7219c010519cd90cb31d465">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, <a class="el" href="expr_8h_source.html#l00933">CVC3::Expr::notExpr()</a>, and <a class="el" href="kinds_8h_source.html#l00044">RAW_LIST</a>.</p>

</div>
</div>
<a class="anchor" id="abb0ca6212da8280b0026369e449f900e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::expandGrayShadowRewrite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>theShadow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ac48d6f8b2ad8e8f8fefac775d33825b5">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00191">CVC3::isGrayShadow()</a>, <a class="el" href="classCVC3_1_1Rational.html#a1366320f4de558bb964c67f8aecedb36">CVC3::Rational::isInteger()</a>, <a class="el" href="theory__arith_8h_source.html#l00223">CVC3::leExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="ad54e479f1a44912397237a557590c597"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::compactNonLinearTerm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>nonLinear</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#a98020e790bcb60c9c2cc5a7e406f500f">CVC3::ArithProofRules</a>.</p>

<p>Definition at line <a class="el" href="arith__theorem__producer__old_8cpp_source.html#l03567">3567</a> of file <a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_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__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="theory__arith_8h_source.html#l00177">CVC3::isRational()</a>, <a class="el" href="theory__arith_8h_source.html#l00207">CVC3::multExpr()</a>, and <a class="el" href="theory__arith_8h_source.html#l00199">CVC3::plusExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="afe7a4ea7cbce967d7f160c21995c8b39"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::nonLinearIneqSignSplit </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>ineqThm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#aa6874fa9f5b02db0adb8149af9664b05">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</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#l00402">CVC3::Theorem::getProof()</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#l00185">CVC3::isPow()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, <a class="el" href="theory__arith_8h_source.html#l00221">CVC3::ltExpr()</a>, <a class="el" href="expr_8h_source.html#l00951">CVC3::Expr::orExpr()</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>, and <a class="el" href="kinds_8h_source.html#l00069">XOR</a>.</p>

</div>
</div>
<a class="anchor" id="a8581e89bb73352a8e368e7b87acd78f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::implyDiffLogicBothBounds </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">std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>c1_le_x</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>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x_le_c2</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>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#af80ad28bb01d8a37e32f29c746d22dbc">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="assumptions_8cpp_source.html#l00200">CVC3::Assumptions::add()</a>.</p>

</div>
</div>
<a class="anchor" id="aadb554e4e8877b135fb01d6e2471ccba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::powerOfOne </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="el" href="classCVC3_1_1ArithProofRules.html#ad3dee93f4078a4fc79ccacef33f05119">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="theorem__producer_8h_source.html#l00087">CHECK_PROOFS</a>, <a class="el" href="theorem__producer_8h_source.html#l00083">CHECK_SOUND</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>

</div>
</div>
<a class="anchor" id="a120563be6dbb828da3e9b6a9d4d35e32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> ArithTheoremProducerOld::rewriteLeavesConst </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>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ArithProofRules.html#a81d9ea1e5c2d42c2b60a893c879145bd">CVC3::ArithProofRules</a>.</p>

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

<p>References <a class="el" href="expr__map_8h_source.html#l00310">CVC3::ExprHashMap&lt; Data &gt;::clear()</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="theory__arith_8h_source.html#l00051">CVC3::GT</a>, <a class="el" href="expr_8h_source.html#l01223">CVC3::Expr::isNull()</a>, <a class="el" href="expr_8h_source.html#l00411">CVC3::Expr::isPropAtom()</a>, <a class="el" href="theory__arith_8h_source.html#l00050">CVC3::LE</a>, and <a class="el" href="theory__arith_8h_source.html#l00049">CVC3::LT</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="afd5a86810c4915fbe0223a122180a466"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1TheoryArithOld.html">TheoryArithOld</a>* CVC3::ArithTheoremProducerOld::d_theoryArith</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

<p>Referenced by <a class="el" href="arith__theorem__producer__old_8h_source.html#l00074">darkShadow()</a>, <a class="el" href="arith__theorem__producer__old_8h_source.html#l00080">grayShadow()</a>, <a class="el" href="arith__theorem__producer__old_8h_source.html#l00072">intType()</a>, and <a class="el" href="arith__theorem__producer__old_8h_source.html#l00071">realType()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="arith__theorem__producer__old_8h_source.html">arith_theorem_producer_old.h</a></li>
<li><a class="el" href="arith__theorem__producer__old_8cpp_source.html">arith_theorem_producer_old.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 16 2013 13:25:19 for CVC3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>