<!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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pri-attribs">Private Attributes</a> | <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 <<a class="el" href="records__theorem__producer_8h_source.html">records_theorem_producer.h</a>></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"> </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"> </td></tr> <tr class="memitem:a6daf5a4886315133bf830d52c6fb010d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &e)</td></tr> <tr class="memdesc:a6daf5a4886315133bf830d52c6fb010d"><td class="mdescLeft"> </td><td class="mdescRight">==> (SELECT (LITERAL v1 ... vi ...) fi) = vi <a href="#a6daf5a4886315133bf830d52c6fb010d"></a><br/></td></tr> <tr class="separator:a6daf5a4886315133bf830d52c6fb010d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa5d335a5684178e3553a9ce69a265046"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &e)</td></tr> <tr class="memdesc:aa5d335a5684178e3553a9ce69a265046"><td class="mdescLeft"> </td><td class="mdescRight">==> (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"> </td></tr> <tr class="memitem:ae794bafd39256699bda95e85e01ffd39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &e)</td></tr> <tr class="memdesc:ae794bafd39256699bda95e85e01ffd39"><td class="mdescLeft"> </td><td class="mdescRight">==> (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"> </td></tr> <tr class="memitem:ab544bdb188ab71aee6632e22cd1e1384"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &eqThrm)</td></tr> <tr class="memdesc:ab544bdb188ab71aee6632e22cd1e1384"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:abf649085219bc8a7d787cb6dff3faa02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &neqThrm)</td></tr> <tr class="memdesc:abf649085219bc8a7d787cb6dff3faa02"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:af56c2526f560cb39a139abe6cf2ac695"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &e)</td></tr> <tr class="memdesc:af56c2526f560cb39a139abe6cf2ac695"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a01aaea1cec3e1ccdbbdf15b597d966f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> </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> &e)</td></tr> <tr class="memdesc:a01aaea1cec3e1ccdbbdf15b597d966f4"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a58c96735d0cf8932a162fe1a4a206f37"><td class="memItemLeft" align="right" valign="top">bool </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> &e)</td></tr> <tr class="memdesc:a58c96735d0cf8932a162fe1a4a206f37"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a4977723bfdf10e344ed1c516fd946cdb"><td class="memItemLeft" align="right" valign="top">bool </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> &t)</td></tr> <tr class="memdesc:a4977723bfdf10e344ed1c516fd946cdb"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:ae68b804354e94823df645f71e03b9a62"><td class="memItemLeft" align="right" valign="top">bool </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> &e)</td></tr> <tr class="memdesc:ae68b804354e94823df645f71e03b9a62"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a3ab7c99b6e0525c7cbc0d3793819b2ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a3ab7c99b6e0525c7cbc0d3793819b2ff">recordExpr</a> (const std::vector< std::string > &fields, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &kids)</td></tr> <tr class="memdesc:a3ab7c99b6e0525c7cbc0d3793819b2ff"><td class="mdescLeft"> </td><td class="mdescRight">Create a record literal. <a href="#a3ab7c99b6e0525c7cbc0d3793819b2ff"></a><br/></td></tr> <tr class="separator:a3ab7c99b6e0525c7cbc0d3793819b2ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a616604275fb8ec78e77d7124cf11cc4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a616604275fb8ec78e77d7124cf11cc4c">recordExpr</a> (const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &fields, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &kids)</td></tr> <tr class="memdesc:a616604275fb8ec78e77d7124cf11cc4c"><td class="mdescLeft"> </td><td class="mdescRight">Create a record literal. <a href="#a616604275fb8ec78e77d7124cf11cc4c"></a><br/></td></tr> <tr class="separator:a616604275fb8ec78e77d7124cf11cc4c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb8b17796882d077d7e5f7c948092c99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#abb8b17796882d077d7e5f7c948092c99">recordType</a> (const std::vector< std::string > &fields, const std::vector< <a class="el" href="classCVC3_1_1Type.html">Type</a> > &types)</td></tr> <tr class="memdesc:abb8b17796882d077d7e5f7c948092c99"><td class="mdescLeft"> </td><td class="mdescRight">Create a record type. <a href="#abb8b17796882d077d7e5f7c948092c99"></a><br/></td></tr> <tr class="separator:abb8b17796882d077d7e5f7c948092c99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa979f814d7a6a303db5dc7df37e55d37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#aa979f814d7a6a303db5dc7df37e55d37">recordType</a> (const std::vector< std::string > &fields, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &types)</td></tr> <tr class="memdesc:aa979f814d7a6a303db5dc7df37e55d37"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:aed507ebecfef1025611db992ab56f742"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </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> &r, const std::string &field)</td></tr> <tr class="memdesc:aed507ebecfef1025611db992ab56f742"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:af3aa58710dd1e1adda7e9d44034a1c59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </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> &r, const std::string &field, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &val)</td></tr> <tr class="memdesc:af3aa58710dd1e1adda7e9d44034a1c59"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a08633fbeae1c47829a4c9bdd7a41fe7d"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </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> &r)</td></tr> <tr class="memdesc:a08633fbeae1c47829a4c9bdd7a41fe7d"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:aa2c1c602fa7852e2763a302a762e603a"><td class="memItemLeft" align="right" valign="top">const std::string & </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> &e, int i)</td></tr> <tr class="memdesc:aa2c1c602fa7852e2763a302a762e603a"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a9f85306f8dae0320b9e40ff28b01c9bc"><td class="memItemLeft" align="right" valign="top">int </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> &e, const std::string &field)</td></tr> <tr class="memdesc:a9f85306f8dae0320b9e40ff28b01c9bc"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a6a0dfc215413b8abc6ec4ff7e7cd12d1"><td class="memItemLeft" align="right" valign="top">const std::string & </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> &e)</td></tr> <tr class="memdesc:a6a0dfc215413b8abc6ec4ff7e7cd12d1"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a960fee8c9325fad718a8be238875d5b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a960fee8c9325fad718a8be238875d5b8">tupleExpr</a> (const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &kids)</td></tr> <tr class="memdesc:a960fee8c9325fad718a8be238875d5b8"><td class="mdescLeft"> </td><td class="mdescRight">Create a tuple literal. <a href="#a960fee8c9325fad718a8be238875d5b8"></a><br/></td></tr> <tr class="separator:a960fee8c9325fad718a8be238875d5b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a413511978f60a7e1f54cd186bca87442"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a413511978f60a7e1f54cd186bca87442">tupleType</a> (const std::vector< <a class="el" href="classCVC3_1_1Type.html">Type</a> > &types)</td></tr> <tr class="memdesc:a413511978f60a7e1f54cd186bca87442"><td class="mdescLeft"> </td><td class="mdescRight">Create a tuple type. <a href="#a413511978f60a7e1f54cd186bca87442"></a><br/></td></tr> <tr class="separator:a413511978f60a7e1f54cd186bca87442"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ad57212a5d742b61ecb5070241e77b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1RecordsTheoremProducer.html#a3ad57212a5d742b61ecb5070241e77b4">tupleType</a> (const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &types)</td></tr> <tr class="memdesc:a3ad57212a5d742b61ecb5070241e77b4"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a24701af52ba0f642726415dde80b76a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </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> &tup, int i)</td></tr> <tr class="memdesc:a24701af52ba0f642726415dde80b76a0"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a406e3f4f7bb74f88a15a6dd0c0b840fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </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> &tup, int i, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &val)</td></tr> <tr class="memdesc:a406e3f4f7bb74f88a15a6dd0c0b840fe"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a7bff3a1cf4d8a59fe856fdcc03ac001b"><td class="memItemLeft" align="right" valign="top">int </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> &e)</td></tr> <tr class="memdesc:a7bff3a1cf4d8a59fe856fdcc03ac001b"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a89194281ebd13904ef0a1ca3af913768"><td class="memItemLeft" align="right" valign="top">bool </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> &e)</td></tr> <tr class="memdesc:a89194281ebd13904ef0a1ca3af913768"><td class="mdescLeft"> </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"> </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="-"/> 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 </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"> </td><td class="mdescRight">< Destructor <a href="#aa1e76b54cf105e5ccd8f043f14ed2b26"></a><br/></td></tr> <tr class="separator:aa1e76b54cf105e5ccd8f043f14ed2b26 inherit pub_methods_classCVC3_1_1RecordsProofRules"><td class="memSeparator" colspan="2"> </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="-"/> 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"> </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"> </td></tr> <tr class="memitem:ae21722ca8449f4480e01566982cd4d61 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">virtual </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"> </td></tr> <tr class="memitem:aceb1eeebc6b491b3241f463488471f3a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> <tr class="memitem:a32afe6d99e661b5c70082036e40d48bc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </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> </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> &e)</td></tr> <tr class="memdesc:af4bdd16428b49f295b3d21208dffc0cd inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9a8e67b1fb33d5dfe428a659d8c66651">newPf</a> (const std::string &name)</td></tr> <tr class="separator:a9a8e67b1fb33d5dfe428a659d8c66651 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4dc7589f2361108f86ba9a39584225c8">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="separator:a4dc7589f2361108f86ba9a39584225c8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4318ccfdb9a7476428b6bec10218b704">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:a4318ccfdb9a7476428b6bec10218b704 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#afde487055921fadaa010a98fcfec3efc">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e2)</td></tr> <tr class="separator:afde487055921fadaa010a98fcfec3efc inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac8fe1de247e929400cdcf8abb05f51d8">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:ac8fe1de247e929400cdcf8abb05f51d8 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a4442d3e5b304a0d0c26a70f398605c2f">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e3)</td></tr> <tr class="separator:a4442d3e5b304a0d0c26a70f398605c2f inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9635508015efe3b1eee16c42c095d664">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e2, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:a9635508015efe3b1eee16c42c095d664 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aea760a51b9c828ba13daabb8bb85a059">newPf</a> (const std::string &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> &end)</td></tr> <tr class="separator:aea760a51b9c828ba13daabb8bb85a059 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a64af41f02b0a09e641ddfee381dec928">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &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> &end)</td></tr> <tr class="separator:a64af41f02b0a09e641ddfee381dec928 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a19abffed968792730fc45001a78e2f29">newPf</a> (const std::string &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> &end, const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &pfs)</td></tr> <tr class="separator:a19abffed968792730fc45001a78e2f29 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#afbc79087033fcd7a9c14faca4fee9d34">newPf</a> (const std::string &name, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &args)</td></tr> <tr class="separator:afbc79087033fcd7a9c14faca4fee9d34 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a8748ea26e91b5d0046ba28ffaa085935">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &args)</td></tr> <tr class="separator:a8748ea26e91b5d0046ba28ffaa085935 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9620645731b7d636c5988319d2b02513">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &pfs)</td></tr> <tr class="separator:a9620645731b7d636c5988319d2b02513 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a9dd3b2ab2d8230f47795e65d2c48fb04">newPf</a> (const std::string &name, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e2, const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &pfs)</td></tr> <tr class="separator:a9dd3b2ab2d8230f47795e65d2c48fb04 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac8ad8684a67b13b361a8569d825b2098">newPf</a> (const std::string &name, const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &pfs)</td></tr> <tr class="separator:ac8ad8684a67b13b361a8569d825b2098 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a241ecbd26413d976be8cc1d34f7f93e2">newPf</a> (const std::string &name, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &args, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:a241ecbd26413d976be8cc1d34f7f93e2 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#ac903fe293131f805c477a7830956de9a">newPf</a> (const std::string &name, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &args, const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &pfs)</td></tr> <tr class="separator:ac903fe293131f805c477a7830956de9a inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </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> &label, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &frm, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="memdesc:a5703a2ebdbed3225aa886e4476c683ec inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </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> &label, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="memdesc:ab928d4883eab42df337ce09447c49702 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#aad2d702b1e1a7e024d1068cbde1b8d77">newPf</a> (const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &labels, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &frms, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="memdesc:aad2d702b1e1a7e024d1068cbde1b8d77 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#abe7fac97b88de3346898e955456adc75">newPf</a> (const std::vector< <a class="el" href="classCVC3_1_1Proof.html">Proof</a> > &labels, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:abe7fac97b88de3346898e955456adc75 inherit pub_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> * </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"> </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="-"/> 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> </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> &thm, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="memdesc:ab3afa2471d244b129865548afe06ca89 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </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> &lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &rhs, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="memdesc:a1b12639479f7d06736c643d43d714e90 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </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> &e)</td></tr> <tr class="memdesc:a0670b7f9cfb6e1420227b5df652d6e79 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="mdescLeft"> </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"> </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> </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> &thm, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf, int scope=-1)</td></tr> <tr class="separator:ae6f0d46a632906b24cca2d5f648ae329 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </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> &thm, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:aec0760db9fcf381bf3886dbb1801662d inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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> </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> &lhs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &rhs, const <a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> &assump, const <a class="el" href="classCVC3_1_1Proof.html">Proof</a> &pf)</td></tr> <tr class="separator:aaaca425811ff3137c21a040a8ce1b69e inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8f74c8badd61cf70ebeb05183c00d608 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1TheoremProducer.html#a8f74c8badd61cf70ebeb05183c00d608">soundError</a> (const std::string &file, int line, const std::string &cond, const std::string &msg)</td></tr> <tr class="separator:a8f74c8badd61cf70ebeb05183c00d608 inherit pro_methods_classCVC3_1_1TheoremProducer"><td class="memSeparator" colspan="2"> </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="-"/> 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> * </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"> </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> * </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"> </td></tr> <tr class="memitem:a8b023af23ac984c27c8eae1f79fb1e2d inherit pro_attribs_classCVC3_1_1TheoremProducer"><td class="memItemLeft" align="right" valign="top">const bool * </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"> </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> </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"> </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> </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"> </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 & 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> * </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> * </td> <td class="paramname"><em>t</em> </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> & </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>==> (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> & </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>==> (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> & </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>==> (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> & </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> & </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> & </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> & </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> & </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> & </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> & </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< std::string > & </td> <td class="paramname"><em>fields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>kids</em> </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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>fields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>kids</em> </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< std::string > & </td> <td class="paramname"><em>fields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Type.html">Type</a> > & </td> <td class="paramname"><em>types</em> </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< std::string > & </td> <td class="paramname"><em>fields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>types</em> </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> & </td> <td class="paramname"><em>r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>field</em> </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> & </td> <td class="paramname"><em>r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </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> & </td> <td class="paramname"><em>val</em> </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<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>>& CVC3::RecordsTheoremProducer::getFields </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </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& CVC3::RecordsTheoremProducer::getField </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>i</em> </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> & </td> <td class="paramname"><em>e</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>field</em> </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& CVC3::RecordsTheoremProducer::getField </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </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< <a class="el" href="classCVC3_1_1Type.html">Type</a> > & </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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </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> & </td> <td class="paramname"><em>tup</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>i</em> </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> & </td> <td class="paramname"><em>tup</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> & </td> <td class="paramname"><em>val</em> </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> & </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> & </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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.2 </small></address> </body> </html>