Sophie

Sophie

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

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::ArrayTheoremProducer 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_1ArrayTheoremProducer.html">ArrayTheoremProducer</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classCVC3_1_1ArrayTheoremProducer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::ArrayTheoremProducer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

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

<p>Inherits <a class="el" href="classCVC3_1_1ArrayProofRules.html">CVC3::ArrayProofRules</a>, and <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a>.</p>
<div class="dynheader">
Collaboration diagram for CVC3::ArrayTheoremProducer:</div>
<div class="dyncontent">
<div class="center"><img src="classCVC3_1_1ArrayTheoremProducer__coll__graph.gif" border="0" usemap="#CVC3_1_1ArrayTheoremProducer_coll__map" alt="Collaboration graph"/></div>
<map name="CVC3_1_1ArrayTheoremProducer_coll__map" id="CVC3_1_1ArrayTheoremProducer_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:a8722003347f46425828e98393be8bb95"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArrayTheoremProducer.html#a8722003347f46425828e98393be8bb95">ArrayTheoremProducer</a> (<a class="el" href="classCVC3_1_1TheoryArray.html">TheoryArray</a> *theoryArray)</td></tr>
<tr class="separator:a8722003347f46425828e98393be8bb95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ab9aba97b1937710a9eba916ae02c05"><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_1ArrayTheoremProducer.html#a0ab9aba97b1937710a9eba916ae02c05">rewriteSameStore</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, int n)</td></tr>
<tr class="separator:a0ab9aba97b1937710a9eba916ae02c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45d175085355a9ff4215371c08fae566"><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_1ArrayTheoremProducer.html#a45d175085355a9ff4215371c08fae566">rewriteWriteWrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a45d175085355a9ff4215371c08fae566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a508cb6e565c59ad0e91ee380774ea379"><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_1ArrayTheoremProducer.html#a508cb6e565c59ad0e91ee380774ea379">rewriteReadWrite</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a508cb6e565c59ad0e91ee380774ea379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b6d56f4f0f05cb3671b3c01b293d3bc"><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_1ArrayTheoremProducer.html#a5b6d56f4f0f05cb3671b3c01b293d3bc">rewriteReadWrite2</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a5b6d56f4f0f05cb3671b3c01b293d3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b4dd97c680555f98834c0c2eb63beca"><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_1ArrayTheoremProducer.html#a1b4dd97c680555f98834c0c2eb63beca">rewriteRedundantWrite1</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;v_eq_r, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;write)</td></tr>
<tr class="separator:a1b4dd97c680555f98834c0c2eb63beca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb3fa026164aa36735dde9de93067e6"><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_1ArrayTheoremProducer.html#a4eb3fa026164aa36735dde9de93067e6">rewriteRedundantWrite2</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a4eb3fa026164aa36735dde9de93067e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a531007d953fd91a89f9d273cf04d2196"><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_1ArrayTheoremProducer.html#a531007d953fd91a89f9d273cf04d2196">interchangeIndices</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="separator:a531007d953fd91a89f9d273cf04d2196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c0cbeb8e41da7e06528641cdf3be3fb"><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_1ArrayTheoremProducer.html#a8c0cbeb8e41da7e06528641cdf3be3fb">readArrayLiteral</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a8c0cbeb8e41da7e06528641cdf3be3fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Beta reduction of array literal: |- (array x. f(x))[arg] = f(arg)  <a href="#a8c0cbeb8e41da7e06528641cdf3be3fb"></a><br/></td></tr>
<tr class="separator:a8c0cbeb8e41da7e06528641cdf3be3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8a296684897a290c2894d4e8fee962b"><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_1ArrayTheoremProducer.html#ac8a296684897a290c2894d4e8fee962b">liftReadIte</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:ac8a296684897a290c2894d4e8fee962b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lift ite over read.  <a href="#ac8a296684897a290c2894d4e8fee962b"></a><br/></td></tr>
<tr class="separator:ac8a296684897a290c2894d4e8fee962b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae644c310ea0d55518a2505acc4e3cc1d"><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_1ArrayTheoremProducer.html#ae644c310ea0d55518a2505acc4e3cc1d">arrayNotEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;e)</td></tr>
<tr class="memdesc:ae644c310ea0d55518a2505acc4e3cc1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">a /= b |- exists i. a[i] /= b[i]  <a href="#ae644c310ea0d55518a2505acc4e3cc1d"></a><br/></td></tr>
<tr class="separator:ae644c310ea0d55518a2505acc4e3cc1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfcf46071d0e2a7544d76f8bdcba3cf7"><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_1ArrayTheoremProducer.html#adfcf46071d0e2a7544d76f8bdcba3cf7">splitOnConstants</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;a, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;consts)</td></tr>
<tr class="separator:adfcf46071d0e2a7544d76f8bdcba3cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a845898b86bdae8fcee18b27d181e6bbd"><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_1ArrayTheoremProducer.html#a845898b86bdae8fcee18b27d181e6bbd">propagateIndexDiseq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;read1eqread2isFalse)</td></tr>
<tr class="separator:a845898b86bdae8fcee18b27d181e6bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classCVC3_1_1ArrayProofRules"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1ArrayProofRules')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classCVC3_1_1ArrayProofRules.html">CVC3::ArrayProofRules</a></td></tr>
<tr class="memitem:a33d0304f92256a794052280219b7c303 inherit pub_methods_classCVC3_1_1ArrayProofRules"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArrayProofRules.html#a33d0304f92256a794052280219b7c303">~ArrayProofRules</a> ()</td></tr>
<tr class="separator:a33d0304f92256a794052280219b7c303 inherit pub_methods_classCVC3_1_1ArrayProofRules"><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="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aa1f4b0ec8f008f77bff2bcfac4ce056d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoryArray.html">TheoryArray</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ArrayTheoremProducer.html#aa1f4b0ec8f008f77bff2bcfac4ce056d">d_theoryArray</a></td></tr>
<tr class="separator:aa1f4b0ec8f008f77bff2bcfac4ce056d"><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="array__theorem__producer_8h_source.html#l00037">37</a> of file <a class="el" href="array__theorem__producer_8h_source.html">array_theorem_producer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8722003347f46425828e98393be8bb95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArrayTheoremProducer::ArrayTheoremProducer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryArray.html">TheoryArray</a> *&#160;</td>
          <td class="paramname"><em>theoryArray</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0ab9aba97b1937710a9eba916ae02c05"></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> ArrayTheoremProducer::rewriteSameStore </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">int&#160;</td>
          <td class="paramname"><em>n</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_1ArrayProofRules.html#a972bcffba3fec45e0407b21eb337cc36">CVC3::ArrayProofRules</a>.</p>

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

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</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="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="a45d175085355a9ff4215371c08fae566"></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> ArrayTheoremProducer::rewriteWriteWrite </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_1ArrayProofRules.html#a7bd90a2d883b5a0e9de8de61ae495be2">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00122">122</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00941">CVC3::Expr::andExpr()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="expr_8h_source.html#l00965">CVC3::Expr::iffExpr()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p>

</div>
</div>
<a class="anchor" id="a508cb6e565c59ad0e91ee380774ea379"></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> ArrayTheoremProducer::rewriteReadWrite </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_1ArrayProofRules.html#a7cc5971eef4c841bd3b5c2dce8029b53">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00149">149</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="expr_8h_source.html#l00965">CVC3::Expr::iffExpr()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="theory__array_8h_source.html#l00110">CVC3::isRead()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="expr_8h_source.html#l00961">CVC3::Expr::iteExpr()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b6d56f4f0f05cb3671b3c01b293d3bc"></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> ArrayTheoremProducer::rewriteReadWrite2 </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_1ArrayProofRules.html#ae493f58a14d1ab904de9e24fab6f7c10">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00173">173</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="expr_8h_source.html#l00965">CVC3::Expr::iffExpr()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="theory__array_8h_source.html#l00110">CVC3::isRead()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="expr_8h_source.html#l00961">CVC3::Expr::iteExpr()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00107">CVC3::TheoremProducer::newTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b4dd97c680555f98834c0c2eb63beca"></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> ArrayTheoremProducer::rewriteRedundantWrite1 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>v_eq_r</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>write</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_1ArrayProofRules.html#ad6a2685b58c198964d3e62b0cd9b7536">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00205">205</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</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="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="theory__array_8h_source.html#l00110">CVC3::isRead()</a>, <a class="el" href="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p>

</div>
</div>
<a class="anchor" id="a4eb3fa026164aa36735dde9de93067e6"></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> ArrayTheoremProducer::rewriteRedundantWrite2 </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_1ArrayProofRules.html#a528af9ac1b1f4d43bbf14cad57f0cad7">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00244">244</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p>

</div>
</div>
<a class="anchor" id="a531007d953fd91a89f9d273cf04d2196"></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> ArrayTheoremProducer::interchangeIndices </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_1ArrayProofRules.html#adecec86a93de04d1329f64d7426800d9">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00264">264</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="theory__array_8h_source.html#l00111">CVC3::isWrite()</a>, <a class="el" href="expr_8h_source.html#l00961">CVC3::Expr::iteExpr()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p>

</div>
</div>
<a class="anchor" id="a8c0cbeb8e41da7e06528641cdf3be3fb"></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> ArrayTheoremProducer::readArrayLiteral </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>Beta reduction of array literal: |- (array x. f(x))[arg] = f(arg) </p>

<p>Implements <a class="el" href="classCVC3_1_1ArrayProofRules.html#aa5e52ae0cc9df232b4304421d0ed5e3c">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00284">284</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="theory__array_8h_source.html#l00036">CVC3::ARRAY_LITERAL</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="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="ac8a296684897a290c2894d4e8fee962b"></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> ArrayTheoremProducer::liftReadIte </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>Lift ite over read. </p>

<p>Implements <a class="el" href="classCVC3_1_1ArrayProofRules.html#a3fbe2484ae8a80bee72b432e26cfed6e">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00319">319</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.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="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="kinds_8h_source.html#l00081">ITE</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00118">CVC3::TheoremProducer::newRWTheorem()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="ae644c310ea0d55518a2505acc4e3cc1d"></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> ArrayTheoremProducer::arrayNotEq </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>a /= b |- exists i. a[i] /= b[i] </p>

<p>Implements <a class="el" href="classCVC3_1_1ArrayProofRules.html#aeae33c2284acb4cdd65e8737afb58227">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00338">338</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.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="array__theorem__producer_8h_source.html#l00039">d_theoryArray</a>, <a class="el" href="kinds_8h_source.html#l00061">EQ</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="theory_8cpp_source.html#l00383">CVC3::Theory::getBaseType()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="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__array_8h_source.html#l00109">CVC3::isArray()</a>, <a class="el" href="expr__manager_8h_source.html#l00484">CVC3::ExprManager::newBoundVarExpr()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00107">CVC3::TheoremProducer::newTheorem()</a>, <a class="el" href="kinds_8h_source.html#l00066">NOT</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, <a class="el" href="theorem_8h_source.html#l00404">CVC3::Theorem::toString()</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="adfcf46071d0e2a7544d76f8bdcba3cf7"></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> ArrayTheoremProducer::splitOnConstants </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>consts</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_1ArrayProofRules.html#a894c9cfb8219f6607e9f653384d2076e">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00363">363</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00945">CVC3::andExpr()</a>, <a class="el" href="assumptions_8h_source.html#l00083">CVC3::Assumptions::emptyAssump()</a>, <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</a>, <a class="el" href="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00107">CVC3::TheoremProducer::newTheorem()</a>, <a class="el" href="expr_8h_source.html#l00933">CVC3::Expr::notExpr()</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<a class="anchor" id="a845898b86bdae8fcee18b27d181e6bbd"></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> ArrayTheoremProducer::propagateIndexDiseq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>read1eqread2isFalse</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_1ArrayProofRules.html#ae9a9b93c9d3eb87eab3d17c007d4578f">CVC3::ArrayProofRules</a>.</p>

<p>Definition at line <a class="el" href="array__theorem__producer_8cpp_source.html#l00388">388</a> of file <a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.cpp</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00929">CVC3::Expr::eqExpr()</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="theorem__producer_8cpp_source.html#l00075">CVC3::TheoremProducer::newPf()</a>, <a class="el" href="theorem__producer_8h_source.html#l00107">CVC3::TheoremProducer::newTheorem()</a>, <a class="el" href="expr_8h_source.html#l00933">CVC3::Expr::notExpr()</a>, and <a class="el" href="theorem__producer_8h_source.html#l00159">CVC3::TheoremProducer::withProof()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa1f4b0ec8f008f77bff2bcfac4ce056d"></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_1TheoryArray.html">TheoryArray</a>* CVC3::ArrayTheoremProducer::d_theoryArray</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="array__theorem__producer_8h_source.html#l00039">39</a> of file <a class="el" href="array__theorem__producer_8h_source.html">array_theorem_producer.h</a>.</p>

<p>Referenced by <a class="el" href="array__theorem__producer_8cpp_source.html#l00338">arrayNotEq()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="array__theorem__producer_8h_source.html">array_theorem_producer.h</a></li>
<li><a class="el" href="array__theorem__producer_8cpp_source.html">array_theorem_producer.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>