Sophie

Sophie

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

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::RecordsTheoremProducer 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_1RecordsTheoremProducer.html">RecordsTheoremProducer</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_1RecordsTheoremProducer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::RecordsTheoremProducer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

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

<p>Inherits <a class="el" href="classCVC3_1_1RecordsProofRules.html">CVC3::RecordsProofRules</a>, and <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a>.</p>
<div class="dynheader">
Collaboration diagram for CVC3::RecordsTheoremProducer:</div>
<div class="dyncontent">
<div class="center"><img src="classCVC3_1_1RecordsTheoremProducer__coll__graph.gif" border="0" usemap="#CVC3_1_1RecordsTheoremProducer_coll__map" alt="Collaboration graph"/></div>
<map name="CVC3_1_1RecordsTheoremProducer_coll__map" id="CVC3_1_1RecordsTheoremProducer_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:ae3c59db05725732c5cd94761d9e58862"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#ae3c59db05725732c5cd94761d9e58862">RecordsTheoremProducer</a> (<a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *tm, <a class="el" href="classCVC3_1_1TheoryRecords.html">TheoryRecords</a> *t)</td></tr>
<tr class="separator:ae3c59db05725732c5cd94761d9e58862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6daf5a4886315133bf830d52c6fb010d"><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_1RecordsTheoremProducer.html#a6daf5a4886315133bf830d52c6fb010d">rewriteLitSelect</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a6daf5a4886315133bf830d52c6fb010d"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; (SELECT (LITERAL v1 ... vi ...) fi) = vi  <a href="#a6daf5a4886315133bf830d52c6fb010d"></a><br/></td></tr>
<tr class="separator:a6daf5a4886315133bf830d52c6fb010d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5d335a5684178e3553a9ce69a265046"><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_1RecordsTheoremProducer.html#aa5d335a5684178e3553a9ce69a265046">rewriteUpdateSelect</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:aa5d335a5684178e3553a9ce69a265046"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; (RECORD_SELECT (RECORD_UPDATE r fi vi) fj) = vi  <a href="#aa5d335a5684178e3553a9ce69a265046"></a><br/></td></tr>
<tr class="separator:aa5d335a5684178e3553a9ce69a265046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae794bafd39256699bda95e85e01ffd39"><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_1RecordsTheoremProducer.html#ae794bafd39256699bda95e85e01ffd39">rewriteLitUpdate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:ae794bafd39256699bda95e85e01ffd39"><td class="mdescLeft">&#160;</td><td class="mdescRight">==&gt; (RECORD_UPDATE (RECORD (f1 v1) ... (fi vi) ...) fi v') =(RECORD (f1 v1) ... (fi v') ...) and same for tuples.  <a href="#ae794bafd39256699bda95e85e01ffd39"></a><br/></td></tr>
<tr class="separator:ae794bafd39256699bda95e85e01ffd39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab544bdb188ab71aee6632e22cd1e1384"><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_1RecordsTheoremProducer.html#ab544bdb188ab71aee6632e22cd1e1384">expandEq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;eqThrm)</td></tr>
<tr class="memdesc:ab544bdb188ab71aee6632e22cd1e1384"><td class="mdescLeft">&#160;</td><td class="mdescRight">From T|- e = e' return T|- AND (e.i = e'.i) for all i.  <a href="#ab544bdb188ab71aee6632e22cd1e1384"></a><br/></td></tr>
<tr class="separator:ab544bdb188ab71aee6632e22cd1e1384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf649085219bc8a7d787cb6dff3faa02"><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_1RecordsTheoremProducer.html#abf649085219bc8a7d787cb6dff3faa02">expandNeq</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;neqThrm)</td></tr>
<tr class="memdesc:abf649085219bc8a7d787cb6dff3faa02"><td class="mdescLeft">&#160;</td><td class="mdescRight">From T|- NOT e=e' return T|- NOT AND (e.i = e'.i) for all i.  <a href="#abf649085219bc8a7d787cb6dff3faa02"></a><br/></td></tr>
<tr class="separator:abf649085219bc8a7d787cb6dff3faa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af56c2526f560cb39a139abe6cf2ac695"><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_1RecordsTheoremProducer.html#af56c2526f560cb39a139abe6cf2ac695">expandRecord</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:af56c2526f560cb39a139abe6cf2ac695"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand a record into a literal: |- e = (# f1:=e.f1, ..., fn:=e.fn #)  <a href="#af56c2526f560cb39a139abe6cf2ac695"></a><br/></td></tr>
<tr class="separator:af56c2526f560cb39a139abe6cf2ac695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01aaea1cec3e1ccdbbdf15b597d966f4"><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_1RecordsTheoremProducer.html#a01aaea1cec3e1ccdbbdf15b597d966f4">expandTuple</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a01aaea1cec3e1ccdbbdf15b597d966f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expand a tuple into a literal: |- e = (e.0, ..., e.n-1)  <a href="#a01aaea1cec3e1ccdbbdf15b597d966f4"></a><br/></td></tr>
<tr class="separator:a01aaea1cec3e1ccdbbdf15b597d966f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58c96735d0cf8932a162fe1a4a206f37"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a58c96735d0cf8932a162fe1a4a206f37">isRecordType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a58c96735d0cf8932a162fe1a4a206f37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether expr is a record type.  <a href="#a58c96735d0cf8932a162fe1a4a206f37"></a><br/></td></tr>
<tr class="separator:a58c96735d0cf8932a162fe1a4a206f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4977723bfdf10e344ed1c516fd946cdb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a4977723bfdf10e344ed1c516fd946cdb">isRecordType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t)</td></tr>
<tr class="memdesc:a4977723bfdf10e344ed1c516fd946cdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> is a record type.  <a href="#a4977723bfdf10e344ed1c516fd946cdb"></a><br/></td></tr>
<tr class="separator:a4977723bfdf10e344ed1c516fd946cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae68b804354e94823df645f71e03b9a62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#ae68b804354e94823df645f71e03b9a62">isRecordAccess</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:ae68b804354e94823df645f71e03b9a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether expr is a record select/update subclass.  <a href="#ae68b804354e94823df645f71e03b9a62"></a><br/></td></tr>
<tr class="separator:ae68b804354e94823df645f71e03b9a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ab7c99b6e0525c7cbc0d3793819b2ff"><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_1RecordsTheoremProducer.html#a3ab7c99b6e0525c7cbc0d3793819b2ff">recordExpr</a> (const std::vector&lt; std::string &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)</td></tr>
<tr class="memdesc:a3ab7c99b6e0525c7cbc0d3793819b2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record literal.  <a href="#a3ab7c99b6e0525c7cbc0d3793819b2ff"></a><br/></td></tr>
<tr class="separator:a3ab7c99b6e0525c7cbc0d3793819b2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616604275fb8ec78e77d7124cf11cc4c"><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_1RecordsTheoremProducer.html#a616604275fb8ec78e77d7124cf11cc4c">recordExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)</td></tr>
<tr class="memdesc:a616604275fb8ec78e77d7124cf11cc4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record literal.  <a href="#a616604275fb8ec78e77d7124cf11cc4c"></a><br/></td></tr>
<tr class="separator:a616604275fb8ec78e77d7124cf11cc4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb8b17796882d077d7e5f7c948092c99"><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_1RecordsTheoremProducer.html#abb8b17796882d077d7e5f7c948092c99">recordType</a> (const std::vector&lt; std::string &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;types)</td></tr>
<tr class="memdesc:abb8b17796882d077d7e5f7c948092c99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record type.  <a href="#abb8b17796882d077d7e5f7c948092c99"></a><br/></td></tr>
<tr class="separator:abb8b17796882d077d7e5f7c948092c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa979f814d7a6a303db5dc7df37e55d37"><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_1RecordsTheoremProducer.html#aa979f814d7a6a303db5dc7df37e55d37">recordType</a> (const std::vector&lt; std::string &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;types)</td></tr>
<tr class="memdesc:aa979f814d7a6a303db5dc7df37e55d37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record type (field types are given as a vector of <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>)  <a href="#aa979f814d7a6a303db5dc7df37e55d37"></a><br/></td></tr>
<tr class="separator:aa979f814d7a6a303db5dc7df37e55d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed507ebecfef1025611db992ab56f742"><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_1RecordsTheoremProducer.html#aed507ebecfef1025611db992ab56f742">recordSelect</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;r, const std::string &amp;field)</td></tr>
<tr class="memdesc:aed507ebecfef1025611db992ab56f742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record field select expression.  <a href="#aed507ebecfef1025611db992ab56f742"></a><br/></td></tr>
<tr class="separator:aed507ebecfef1025611db992ab56f742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3aa58710dd1e1adda7e9d44034a1c59"><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_1RecordsTheoremProducer.html#af3aa58710dd1e1adda7e9d44034a1c59">recordUpdate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;r, const std::string &amp;field, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;val)</td></tr>
<tr class="memdesc:af3aa58710dd1e1adda7e9d44034a1c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a record field update expression.  <a href="#af3aa58710dd1e1adda7e9d44034a1c59"></a><br/></td></tr>
<tr class="separator:af3aa58710dd1e1adda7e9d44034a1c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08633fbeae1c47829a4c9bdd7a41fe7d"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a08633fbeae1c47829a4c9bdd7a41fe7d">getFields</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;r)</td></tr>
<tr class="memdesc:a08633fbeae1c47829a4c9bdd7a41fe7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the list of fields from a record literal.  <a href="#a08633fbeae1c47829a4c9bdd7a41fe7d"></a><br/></td></tr>
<tr class="separator:a08633fbeae1c47829a4c9bdd7a41fe7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c1c602fa7852e2763a302a762e603a"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#aa2c1c602fa7852e2763a302a762e603a">getField</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, int i)</td></tr>
<tr class="memdesc:aa2c1c602fa7852e2763a302a762e603a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the i-th field name from the record literal or type.  <a href="#aa2c1c602fa7852e2763a302a762e603a"></a><br/></td></tr>
<tr class="separator:aa2c1c602fa7852e2763a302a762e603a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f85306f8dae0320b9e40ff28b01c9bc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a9f85306f8dae0320b9e40ff28b01c9bc">getFieldIndex</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::string &amp;field)</td></tr>
<tr class="memdesc:a9f85306f8dae0320b9e40ff28b01c9bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the field index in the record literal or type.  <a href="#a9f85306f8dae0320b9e40ff28b01c9bc"></a><br/></td></tr>
<tr class="separator:a9f85306f8dae0320b9e40ff28b01c9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a0dfc215413b8abc6ec4ff7e7cd12d1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a6a0dfc215413b8abc6ec4ff7e7cd12d1">getField</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a6a0dfc215413b8abc6ec4ff7e7cd12d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the field name from the record select and update expressions.  <a href="#a6a0dfc215413b8abc6ec4ff7e7cd12d1"></a><br/></td></tr>
<tr class="separator:a6a0dfc215413b8abc6ec4ff7e7cd12d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a960fee8c9325fad718a8be238875d5b8"><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_1RecordsTheoremProducer.html#a960fee8c9325fad718a8be238875d5b8">tupleExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)</td></tr>
<tr class="memdesc:a960fee8c9325fad718a8be238875d5b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a tuple literal.  <a href="#a960fee8c9325fad718a8be238875d5b8"></a><br/></td></tr>
<tr class="separator:a960fee8c9325fad718a8be238875d5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a413511978f60a7e1f54cd186bca87442"><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_1RecordsTheoremProducer.html#a413511978f60a7e1f54cd186bca87442">tupleType</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;types)</td></tr>
<tr class="memdesc:a413511978f60a7e1f54cd186bca87442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a tuple type.  <a href="#a413511978f60a7e1f54cd186bca87442"></a><br/></td></tr>
<tr class="separator:a413511978f60a7e1f54cd186bca87442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad57212a5d742b61ecb5070241e77b4"><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_1RecordsTheoremProducer.html#a3ad57212a5d742b61ecb5070241e77b4">tupleType</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;types)</td></tr>
<tr class="memdesc:a3ad57212a5d742b61ecb5070241e77b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a tuple type (types of components are given as Exprs)  <a href="#a3ad57212a5d742b61ecb5070241e77b4"></a><br/></td></tr>
<tr class="separator:a3ad57212a5d742b61ecb5070241e77b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24701af52ba0f642726415dde80b76a0"><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_1RecordsTheoremProducer.html#a24701af52ba0f642726415dde80b76a0">tupleSelect</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;tup, int i)</td></tr>
<tr class="memdesc:a24701af52ba0f642726415dde80b76a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a tuple index selector expression.  <a href="#a24701af52ba0f642726415dde80b76a0"></a><br/></td></tr>
<tr class="separator:a24701af52ba0f642726415dde80b76a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406e3f4f7bb74f88a15a6dd0c0b840fe"><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_1RecordsTheoremProducer.html#a406e3f4f7bb74f88a15a6dd0c0b840fe">tupleUpdate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;tup, int i, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;val)</td></tr>
<tr class="memdesc:a406e3f4f7bb74f88a15a6dd0c0b840fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a tuple index update expression.  <a href="#a406e3f4f7bb74f88a15a6dd0c0b840fe"></a><br/></td></tr>
<tr class="separator:a406e3f4f7bb74f88a15a6dd0c0b840fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bff3a1cf4d8a59fe856fdcc03ac001b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a7bff3a1cf4d8a59fe856fdcc03ac001b">getIndex</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a7bff3a1cf4d8a59fe856fdcc03ac001b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the index from the tuple select and update expressions.  <a href="#a7bff3a1cf4d8a59fe856fdcc03ac001b"></a><br/></td></tr>
<tr class="separator:a7bff3a1cf4d8a59fe856fdcc03ac001b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89194281ebd13904ef0a1ca3af913768"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a89194281ebd13904ef0a1ca3af913768">isTupleAccess</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)</td></tr>
<tr class="memdesc:a89194281ebd13904ef0a1ca3af913768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether expr is a tuple select/update subclass.  <a href="#a89194281ebd13904ef0a1ca3af913768"></a><br/></td></tr>
<tr class="separator:a89194281ebd13904ef0a1ca3af913768"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classCVC3_1_1RecordsProofRules"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1RecordsProofRules')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classCVC3_1_1RecordsProofRules.html">CVC3::RecordsProofRules</a></td></tr>
<tr class="memitem:aa1e76b54cf105e5ccd8f043f14ed2b26 inherit pub_methods_classCVC3_1_1RecordsProofRules"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsProofRules.html#aa1e76b54cf105e5ccd8f043f14ed2b26">~RecordsProofRules</a> ()</td></tr>
<tr class="memdesc:aa1e76b54cf105e5ccd8f043f14ed2b26 inherit pub_methods_classCVC3_1_1RecordsProofRules"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Destructor  <a href="#aa1e76b54cf105e5ccd8f043f14ed2b26"></a><br/></td></tr>
<tr class="separator:aa1e76b54cf105e5ccd8f043f14ed2b26 inherit pub_methods_classCVC3_1_1RecordsProofRules"><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:ac6f50b4b5349eeb108350de0a0a4d966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoryRecords.html">TheoryRecords</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#ac6f50b4b5349eeb108350de0a0a4d966">d_theoryRecords</a></td></tr>
<tr class="separator:ac6f50b4b5349eeb108350de0a0a4d966"><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="records__theorem__producer_8h_source.html#l00029">29</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae3c59db05725732c5cd94761d9e58862"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::RecordsTheoremProducer::RecordsTheoremProducer </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_1TheoryRecords.html">TheoryRecords</a> *&#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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6daf5a4886315133bf830d52c6fb010d"></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> RecordsTheoremProducer::rewriteLitSelect </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; (SELECT (LITERAL v1 ... vi ...) fi) = vi </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#a3e3add607e89398f2cc6cc38ea99d1ff">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00040">40</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_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="expr_8h_source.html#l01196">CVC3::Expr::getOpKind()</a>, <a class="el" href="theory__records_8h_source.html#l00030">CVC3::RECORD</a>, <a class="el" href="theory__records_8h_source.html#l00031">CVC3::RECORD_SELECT</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="theory__records_8h_source.html#l00034">CVC3::TUPLE</a>, and <a class="el" href="theory__records_8h_source.html#l00035">CVC3::TUPLE_SELECT</a>.</p>

</div>
</div>
<a class="anchor" id="aa5d335a5684178e3553a9ce69a265046"></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> RecordsTheoremProducer::rewriteUpdateSelect </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; (RECORD_SELECT (RECORD_UPDATE r fi vi) fj) = vi </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#aa89519b074a161d4709cc57c72be9877">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00081">81</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_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="expr_8h_source.html#l01196">CVC3::Expr::getOpKind()</a>, <a class="el" href="theory__records_8h_source.html#l00031">CVC3::RECORD_SELECT</a>, <a class="el" href="theory__records_8h_source.html#l00032">CVC3::RECORD_UPDATE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="theory__records_8h_source.html#l00035">CVC3::TUPLE_SELECT</a>, and <a class="el" href="theory__records_8h_source.html#l00036">CVC3::TUPLE_UPDATE</a>.</p>

</div>
</div>
<a class="anchor" id="ae794bafd39256699bda95e85e01ffd39"></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> RecordsTheoremProducer::rewriteLitUpdate </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; (RECORD_UPDATE (RECORD (f1 v1) ... (fi vi) ...) fi v') =(RECORD (f1 v1) ... (fi v') ...) and same for tuples. </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#a123d754579587119040963036a57b20c">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00120">120</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_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="expr_8h_source.html#l01162">CVC3::Expr::getKids()</a>, <a class="el" href="expr_8h_source.html#l01196">CVC3::Expr::getOpKind()</a>, <a class="el" href="theory__records_8h_source.html#l00030">CVC3::RECORD</a>, <a class="el" href="theory__records_8h_source.html#l00032">CVC3::RECORD_UPDATE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, <a class="el" href="theory__records_8h_source.html#l00034">CVC3::TUPLE</a>, and <a class="el" href="theory__records_8h_source.html#l00036">CVC3::TUPLE_UPDATE</a>.</p>

</div>
</div>
<a class="anchor" id="ab544bdb188ab71aee6632e22cd1e1384"></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> RecordsTheoremProducer::expandEq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>eqThrm</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>From T|- e = e' return T|- AND (e.i = e'.i) for all i. </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#a70d657a0ff820b3276c88d4208b2c6d7">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00205">205</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_theorem_producer.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="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="type_8h_source.html#l00052">CVC3::Type::getExpr()</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="theorem_8cpp_source.html#l00246">CVC3::Theorem::getRHS()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</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="theorem_8cpp_source.html#l00224">CVC3::Theorem::isRewrite()</a>, <a class="el" href="theory__records_8h_source.html#l00033">CVC3::RECORD_TYPE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="theory__records_8h_source.html#l00037">CVC3::TUPLE_TYPE</a>.</p>

</div>
</div>
<a class="anchor" id="abf649085219bc8a7d787cb6dff3faa02"></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> RecordsTheoremProducer::expandNeq </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td>
          <td class="paramname"><em>neqThrm</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>From T|- NOT e=e' return T|- NOT AND (e.i = e'.i) for all i. </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#a4194c198132271ad4119723310acd1df">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00158">158</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_theorem_producer.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#l00408">DebugAssert</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="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="type_8h_source.html#l00052">CVC3::Type::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01196">CVC3::Expr::getOpKind()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</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="kinds_8h_source.html#l00066">NOT</a>, <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>, <a class="el" href="theory__records_8h_source.html#l00033">CVC3::RECORD_TYPE</a>, <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="theory__records_8h_source.html#l00037">CVC3::TUPLE_TYPE</a>.</p>

</div>
</div>
<a class="anchor" id="af56c2526f560cb39a139abe6cf2ac695"></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> RecordsTheoremProducer::expandRecord </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>Expand a record into a literal: |- e = (# f1:=e.f1, ..., fn:=e.fn #) </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#ab813be2b9919eae3952a0f0a73ed5e3a">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00252">252</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_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="expr_8h_source.html#l01055">CVC3::Expr::getString()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p>

</div>
</div>
<a class="anchor" id="a01aaea1cec3e1ccdbbdf15b597d966f4"></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> RecordsTheoremProducer::expandTuple </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>Expand a tuple into a literal: |- e = (e.0, ..., e.n-1) </p>

<p>Implements <a class="el" href="classCVC3_1_1RecordsProofRules.html#a249e1cab39dd671e11f775b8f9658629">CVC3::RecordsProofRules</a>.</p>

<p>Definition at line <a class="el" href="records__theorem__producer_8cpp_source.html#l00269">269</a> of file <a class="el" href="records__theorem__producer_8cpp_source.html">records_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="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>, and <a class="el" href="theory__records_8h_source.html#l00037">CVC3::TUPLE_TYPE</a>.</p>

</div>
</div>
<a class="anchor" id="a58c96735d0cf8932a162fe1a4a206f37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::RecordsTheoremProducer::isRecordType </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether expr is a record type. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00047">47</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8h_source.html#l00095">CVC3::TheoryRecords::isRecordType()</a>.</p>

</div>
</div>
<a class="anchor" id="a4977723bfdf10e344ed1c516fd946cdb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::RecordsTheoremProducer::isRecordType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><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>Test whether <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> is a record type. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00050">50</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8h_source.html#l00095">CVC3::TheoryRecords::isRecordType()</a>.</p>

</div>
</div>
<a class="anchor" id="ae68b804354e94823df645f71e03b9a62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::RecordsTheoremProducer::isRecordAccess </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether expr is a record select/update subclass. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00053">53</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8h_source.html#l00103">CVC3::TheoryRecords::isRecordAccess()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ab7c99b6e0525c7cbc0d3793819b2ff"></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::RecordsTheoremProducer::recordExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>fields</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>kids</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>Create a record literal. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00056">56</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l00961">CVC3::TheoryRecords::recordExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a616604275fb8ec78e77d7124cf11cc4c"></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::RecordsTheoremProducer::recordExpr </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>fields</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>kids</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>Create a record literal. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00060">60</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l00961">CVC3::TheoryRecords::recordExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="abb8b17796882d077d7e5f7c948092c99"></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::RecordsTheoremProducer::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>fields</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</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>Create a record type. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00064">64</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l00977">CVC3::TheoryRecords::recordType()</a>.</p>

</div>
</div>
<a class="anchor" id="aa979f814d7a6a303db5dc7df37e55d37"></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::RecordsTheoremProducer::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>fields</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>types</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>Create a record type (field types are given as a vector of <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>) </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00068">68</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l00977">CVC3::TheoryRecords::recordType()</a>.</p>

</div>
</div>
<a class="anchor" id="aed507ebecfef1025611db992ab56f742"></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::RecordsTheoremProducer::recordSelect </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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</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>Create a record field select expression. </p>

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

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01004">CVC3::TheoryRecords::recordSelect()</a>.</p>

</div>
</div>
<a class="anchor" id="af3aa58710dd1e1adda7e9d44034a1c59"></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::RecordsTheoremProducer::recordUpdate </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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</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>val</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>Create a record field update expression. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00075">75</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01010">CVC3::TheoryRecords::recordUpdate()</a>.</p>

</div>
</div>
<a class="anchor" id="a08633fbeae1c47829a4c9bdd7a41fe7d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt;&amp; CVC3::RecordsTheoremProducer::getFields </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></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>Get the list of fields from a record literal. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00079">79</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01017">CVC3::TheoryRecords::getFields()</a>.</p>

</div>
</div>
<a class="anchor" id="aa2c1c602fa7852e2763a302a762e603a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; CVC3::RecordsTheoremProducer::getField </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>i</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>Get the i-th field name from the record literal or type. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00082">82</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01027">CVC3::TheoryRecords::getField()</a>.</p>

</div>
</div>
<a class="anchor" id="a9f85306f8dae0320b9e40ff28b01c9bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CVC3::RecordsTheoremProducer::getFieldIndex </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 std::string &amp;&#160;</td>
          <td class="paramname"><em>field</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>Get the field index in the record literal or type. </p>
<p>The field must be present in the record; otherwise it's an error. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00086">86</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01037">CVC3::TheoryRecords::getFieldIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a0dfc215413b8abc6ec4ff7e7cd12d1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; CVC3::RecordsTheoremProducer::getField </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the field name from the record select and update expressions. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00089">89</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01027">CVC3::TheoryRecords::getField()</a>.</p>

</div>
</div>
<a class="anchor" id="a960fee8c9325fad718a8be238875d5b8"></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::RecordsTheoremProducer::tupleExpr </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>kids</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 tuple literal. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00092">92</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01058">CVC3::TheoryRecords::tupleExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a413511978f60a7e1f54cd186bca87442"></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::RecordsTheoremProducer::tupleType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</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 tuple type. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00095">95</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01064">CVC3::TheoryRecords::tupleType()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ad57212a5d742b61ecb5070241e77b4"></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::RecordsTheoremProducer::tupleType </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>types</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 tuple type (types of components are given as Exprs) </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00098">98</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01064">CVC3::TheoryRecords::tupleType()</a>.</p>

</div>
</div>
<a class="anchor" id="a24701af52ba0f642726415dde80b76a0"></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::RecordsTheoremProducer::tupleSelect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>tup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</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>Create a tuple index selector expression. </p>

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

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01080">CVC3::TheoryRecords::tupleSelect()</a>.</p>

</div>
</div>
<a class="anchor" id="a406e3f4f7bb74f88a15a6dd0c0b840fe"></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::RecordsTheoremProducer::tupleUpdate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>tup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#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_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>val</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>Create a tuple index update expression. </p>

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

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01086">CVC3::TheoryRecords::tupleUpdate()</a>.</p>

</div>
</div>
<a class="anchor" id="a7bff3a1cf4d8a59fe856fdcc03ac001b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CVC3::RecordsTheoremProducer::getIndex </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the index from the tuple select and update expressions. </p>

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

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8cpp_source.html#l01092">CVC3::TheoryRecords::getIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="a89194281ebd13904ef0a1ca3af913768"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::RecordsTheoremProducer::isTupleAccess </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">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether expr is a tuple select/update subclass. </p>

<p>Definition at line <a class="el" href="records__theorem__producer_8h_source.html#l00110">110</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>References <a class="el" href="records__theorem__producer_8h_source.html#l00031">d_theoryRecords</a>, and <a class="el" href="theory__records_8h_source.html#l00147">CVC3::TheoryRecords::isTupleAccess()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ac6f50b4b5349eeb108350de0a0a4d966"></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_1TheoryRecords.html">TheoryRecords</a>* CVC3::RecordsTheoremProducer::d_theoryRecords</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="records__theorem__producer_8h_source.html#l00031">31</a> of file <a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>.</p>

<p>Referenced by <a class="el" href="records__theorem__producer_8h_source.html#l00082">getField()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00086">getFieldIndex()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00079">getFields()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00107">getIndex()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00053">isRecordAccess()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00047">isRecordType()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00110">isTupleAccess()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00056">recordExpr()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00072">recordSelect()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00064">recordType()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00075">recordUpdate()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00092">tupleExpr()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00101">tupleSelect()</a>, <a class="el" href="records__theorem__producer_8h_source.html#l00095">tupleType()</a>, and <a class="el" href="records__theorem__producer_8h_source.html#l00104">tupleUpdate()</a>.</p>

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