<!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::CompleteInstPreProcessor 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_1CompleteInstPreProcessor.html">CompleteInstPreProcessor</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="classCVC3_1_1CompleteInstPreProcessor-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">CVC3::CompleteInstPreProcessor Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>></code></p> <div class="dynheader"> Collaboration diagram for CVC3::CompleteInstPreProcessor:</div> <div class="dyncontent"> <div class="center"><img src="classCVC3_1_1CompleteInstPreProcessor__coll__graph.gif" border="0" usemap="#CVC3_1_1CompleteInstPreProcessor_coll__map" alt="Collaboration graph"/></div> <map name="CVC3_1_1CompleteInstPreProcessor_coll__map" id="CVC3_1_1CompleteInstPreProcessor_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:a43966b9849fccf7dad80f3ea726142ab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a43966b9849fccf7dad80f3ea726142ab">CompleteInstPreProcessor</a> (<a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> *, <a class="el" href="classCVC3_1_1QuantProofRules.html">QuantProofRules</a> *)</td></tr> <tr class="separator:a43966b9849fccf7dad80f3ea726142ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acaa35692151e48b945ed672248a37a04"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#acaa35692151e48b945ed672248a37a04">isGood</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:acaa35692151e48b945ed672248a37a04"><td class="mdescLeft"> </td><td class="mdescRight">if e is a formula in the array property fragment <a href="#acaa35692151e48b945ed672248a37a04"></a><br/></td></tr> <tr class="separator:acaa35692151e48b945ed672248a37a04"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d131cd947f7d1f4a4128e9145fefd76"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a2d131cd947f7d1f4a4128e9145fefd76">collectIndex</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a2d131cd947f7d1f4a4128e9145fefd76"><td class="mdescLeft"> </td><td class="mdescRight">collect index for instantiation <a href="#a2d131cd947f7d1f4a4128e9145fefd76"></a><br/></td></tr> <tr class="separator:a2d131cd947f7d1f4a4128e9145fefd76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40ad81f71a9660025478bdfa3e0faba3"><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_1CompleteInstPreProcessor.html#a40ad81f71a9660025478bdfa3e0faba3">inst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a40ad81f71a9660025478bdfa3e0faba3"><td class="mdescLeft"> </td><td class="mdescRight">inst forall quant using index from collectIndex <a href="#a40ad81f71a9660025478bdfa3e0faba3"></a><br/></td></tr> <tr class="separator:a40ad81f71a9660025478bdfa3e0faba3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9c4d23bdb98082eb4ed1ad4823e9ae84"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a9c4d23bdb98082eb4ed1ad4823e9ae84">hasMacros</a> (const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &asserts)</td></tr> <tr class="memdesc:a9c4d23bdb98082eb4ed1ad4823e9ae84"><td class="mdescLeft"> </td><td class="mdescRight">if there are macros <a href="#a9c4d23bdb98082eb4ed1ad4823e9ae84"></a><br/></td></tr> <tr class="separator:a9c4d23bdb98082eb4ed1ad4823e9ae84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7446d08768323eeaa24ddc647b872f63"><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_1CompleteInstPreProcessor.html#a7446d08768323eeaa24ddc647b872f63">instMacros</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a>)</td></tr> <tr class="memdesc:a7446d08768323eeaa24ddc647b872f63"><td class="mdescLeft"> </td><td class="mdescRight">substitute a macro in assert <a href="#a7446d08768323eeaa24ddc647b872f63"></a><br/></td></tr> <tr class="separator:a7446d08768323eeaa24ddc647b872f63"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56ee0c6a3da8f909c63b1b6c8927b871"><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_1CompleteInstPreProcessor.html#a56ee0c6a3da8f909c63b1b6c8927b871">simplifyEq</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &)</td></tr> <tr class="memdesc:a56ee0c6a3da8f909c63b1b6c8927b871"><td class="mdescLeft"> </td><td class="mdescRight">simplify a=a to True <a href="#a56ee0c6a3da8f909c63b1b6c8927b871"></a><br/></td></tr> <tr class="separator:a56ee0c6a3da8f909c63b1b6c8927b871"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aabf49f82cbf8008c81eef01dd8b66666"><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_1CompleteInstPreProcessor.html#aabf49f82cbf8008c81eef01dd8b66666">simplifyQuant</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &)</td></tr> <tr class="memdesc:aabf49f82cbf8008c81eef01dd8b66666"><td class="mdescLeft"> </td><td class="mdescRight">put all quants in postive form and then skolemize all exists <a href="#aabf49f82cbf8008c81eef01dd8b66666"></a><br/></td></tr> <tr class="separator:aabf49f82cbf8008c81eef01dd8b66666"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:abcd7e5d5717e70de631ccd00d463a3f1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#abcd7e5d5717e70de631ccd00d463a3f1">isShield</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:abcd7e5d5717e70de631ccd00d463a3f1"><td class="mdescLeft"> </td><td class="mdescRight">if e satisfies the shiled property, that is all bound vars are parameters of uninterpreted functions/predicates and array reads/writes <a href="#abcd7e5d5717e70de631ccd00d463a3f1"></a><br/></td></tr> <tr class="separator:abcd7e5d5717e70de631ccd00d463a3f1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a93f995fdf562c93aac2cb2f3f74d6a41"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a93f995fdf562c93aac2cb2f3f74d6a41">hasShieldVar</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="separator:a93f995fdf562c93aac2cb2f3f74d6a41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2bc25f5c5c2a9203936185dbc8fe3a1f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a2bc25f5c5c2a9203936185dbc8fe3a1f">addIndex</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a2bc25f5c5c2a9203936185dbc8fe3a1f"><td class="mdescLeft"> </td><td class="mdescRight">insert an index <a href="#a2bc25f5c5c2a9203936185dbc8fe3a1f"></a><br/></td></tr> <tr class="separator:a2bc25f5c5c2a9203936185dbc8fe3a1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a002b629954b04ffe3a2c5c4d118e220b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a002b629954b04ffe3a2c5c4d118e220b">collect_shield_index</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="separator:a002b629954b04ffe3a2c5c4d118e220b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aac890a5593abc885fc710614b79a71b0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#aac890a5593abc885fc710614b79a71b0">collect_forall_index</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &forall_quant)</td></tr> <tr class="separator:aac890a5593abc885fc710614b79a71b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8bfd959ae7f2e79a9991a8f9229e8d14"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a8bfd959ae7f2e79a9991a8f9229e8d14">isGoodQuant</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a8bfd959ae7f2e79a9991a8f9229e8d14"><td class="mdescLeft"> </td><td class="mdescRight">if e is a quant in the array property fragmenet <a href="#a8bfd959ae7f2e79a9991a8f9229e8d14"></a><br/></td></tr> <tr class="separator:a8bfd959ae7f2e79a9991a8f9229e8d14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a18fc7bd5b8710c016c92a28f1557f5dd"><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_1CompleteInstPreProcessor.html#a18fc7bd5b8710c016c92a28f1557f5dd">plusOne</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a18fc7bd5b8710c016c92a28f1557f5dd"><td class="mdescLeft"> </td><td class="mdescRight">return e+1 <a href="#a18fc7bd5b8710c016c92a28f1557f5dd"></a><br/></td></tr> <tr class="separator:a18fc7bd5b8710c016c92a28f1557f5dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8229594b976a7bee92940c1a8ebec1bf"><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_1CompleteInstPreProcessor.html#a8229594b976a7bee92940c1a8ebec1bf">minusOne</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:a8229594b976a7bee92940c1a8ebec1bf"><td class="mdescLeft"> </td><td class="mdescRight">return e-1 <a href="#a8229594b976a7bee92940c1a8ebec1bf"></a><br/></td></tr> <tr class="separator:a8229594b976a7bee92940c1a8ebec1bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c9d388dcb5846892ccc3d42d859c151"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a7c9d388dcb5846892ccc3d42d859c151">collectHeads</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &assert, std::set< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &heads)</td></tr> <tr class="separator:a7c9d388dcb5846892ccc3d42d859c151"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afba1bd2e5c7db9460329c57e63bd0ca4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#afba1bd2e5c7db9460329c57e63bd0ca4">isMacro</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &assert)</td></tr> <tr class="memdesc:afba1bd2e5c7db9460329c57e63bd0ca4"><td class="mdescLeft"> </td><td class="mdescRight">if assert is a macro definition <a href="#afba1bd2e5c7db9460329c57e63bd0ca4"></a><br/></td></tr> <tr class="separator:afba1bd2e5c7db9460329c57e63bd0ca4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a91a6a2cc72569859fe20fbe3f1f7b69a"><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_1CompleteInstPreProcessor.html#a91a6a2cc72569859fe20fbe3f1f7b69a">recInstMacros</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &assert)</td></tr> <tr class="separator:a91a6a2cc72569859fe20fbe3f1f7b69a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d1616efce19baa76e85ba1f0d14633c"><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_1CompleteInstPreProcessor.html#a7d1616efce19baa76e85ba1f0d14633c">substMacro</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &)</td></tr> <tr class="separator:a7d1616efce19baa76e85ba1f0d14633c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7bef3316e99205836a6c490ce97d0e5"><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_1CompleteInstPreProcessor.html#ae7bef3316e99205836a6c490ce97d0e5">recRewriteNot</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &, <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a> > &)</td></tr> <tr class="separator:ae7bef3316e99205836a6c490ce97d0e5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d86f8e44226c42e5c9f35ec866a7459"><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_1CompleteInstPreProcessor.html#a0d86f8e44226c42e5c9f35ec866a7459">rewriteNot</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &)</td></tr> <tr class="memdesc:a0d86f8e44226c42e5c9f35ec866a7459"><td class="mdescLeft"> </td><td class="mdescRight">rewrite neg polarity forall / exists to pos polarity <a href="#a0d86f8e44226c42e5c9f35ec866a7459"></a><br/></td></tr> <tr class="separator:a0d86f8e44226c42e5c9f35ec866a7459"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a26a13f237507dfff8de68bbba747246a"><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_1CompleteInstPreProcessor.html#a26a13f237507dfff8de68bbba747246a">recSkolemize</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &, <a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a> > &)</td></tr> <tr class="separator:a26a13f237507dfff8de68bbba747246a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af229547753572cd602fa29b72dd4b8c4"><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_1CompleteInstPreProcessor.html#af229547753572cd602fa29b72dd4b8c4">pullVarOut</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &)</td></tr> <tr class="separator:af229547753572cd602fa29b72dd4b8c4"><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:ad41c79afe0059463b226d9a60cd9d39d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#ad41c79afe0059463b226d9a60cd9d39d">d_theoryCore</a></td></tr> <tr class="separator:ad41c79afe0059463b226d9a60cd9d39d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a135b1e372b6f3a33941c6fa2ecc93d3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1QuantProofRules.html">QuantProofRules</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a135b1e372b6f3a33941c6fa2ecc93d3e">d_quant_rules</a></td></tr> <tr class="separator:a135b1e372b6f3a33941c6fa2ecc93d3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3837998b3df09387a2a162258ef6b2db"><td class="memItemLeft" align="right" valign="top">std::set< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a3837998b3df09387a2a162258ef6b2db">d_allIndex</a></td></tr> <tr class="separator:a3837998b3df09387a2a162258ef6b2db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4ab970a26f5f10316e10b88cd88f5ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#af4ab970a26f5f10316e10b88cd88f5ed">d_expr_pol</a></td></tr> <tr class="separator:af4ab970a26f5f10316e10b88cd88f5ed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8c3444e4e7e06812e1823c4b0d323034"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a8c3444e4e7e06812e1823c4b0d323034">d_quant_equiv_map</a></td></tr> <tr class="separator:a8c3444e4e7e06812e1823c4b0d323034"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0b4227a71a7d717dd55cc141a638eb1"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#ae0b4227a71a7d717dd55cc141a638eb1">d_gnd_cache</a></td></tr> <tr class="separator:ae0b4227a71a7d717dd55cc141a638eb1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40a454874f53c168f0e05cffe5d3d853"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a40a454874f53c168f0e05cffe5d3d853">d_is_macro_def</a></td></tr> <tr class="separator:a40a454874f53c168f0e05cffe5d3d853"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7a68974e437e44e62cc3020f51f881cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a7a68974e437e44e62cc3020f51f881cc">d_macro_quant</a></td></tr> <tr class="separator:a7a68974e437e44e62cc3020f51f881cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a316d10c5eb6ecb1b11fb212d4835a735"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a316d10c5eb6ecb1b11fb212d4835a735">d_macro_def</a></td></tr> <tr class="separator:a316d10c5eb6ecb1b11fb212d4835a735"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad488e4d5e4340e0401a201a7afcb45f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#ad488e4d5e4340e0401a201a7afcb45f5">d_macro_lhs</a></td></tr> <tr class="separator:ad488e4d5e4340e0401a201a7afcb45f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a99f6e270ce292ce04b1dea58cf5b95c3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CompleteInstPreProcessor.html#a99f6e270ce292ce04b1dea58cf5b95c3">d_all_good</a></td></tr> <tr class="memdesc:a99f6e270ce292ce04b1dea58cf5b95c3"><td class="mdescLeft"> </td><td class="mdescRight">if all formulas checked so far are good <a href="#a99f6e270ce292ce04b1dea58cf5b95c3"></a><br/></td></tr> <tr class="separator:a99f6e270ce292ce04b1dea58cf5b95c3"><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="theory__quant_8h_source.html#l00097">97</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a43966b9849fccf7dad80f3ea726142ab"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CompleteInstPreProcessor::CompleteInstPreProcessor </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> * </td> <td class="paramname"><em>core</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCVC3_1_1QuantProofRules.html">QuantProofRules</a> * </td> <td class="paramname"><em>quant_rule</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01344">1344</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="abcd7e5d5717e70de631ccd00d463a3f1"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::isShield </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>if e satisfies the shiled property, that is all bound vars are parameters of uninterpreted functions/predicates and array reads/writes </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01577">1577</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l00359">CVC3::Expr::isBoundVar()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l02103">isGoodQuant()</a>.</p> </div> </div> <a class="anchor" id="a93f995fdf562c93aac2cb2f3f74d6a41"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::hasShieldVar </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01554">1554</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l00359">CVC3::Expr::isBoundVar()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02022">isGood()</a>.</p> </div> </div> <a class="anchor" id="a2bc25f5c5c2a9203936185dbc8fe3a1f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void CompleteInstPreProcessor::addIndex </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>insert an index </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01817">1817</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8h_source.html#l00102">d_allIndex</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, and <a class="el" href="theory_8h_source.html#l00430">CVC3::Theory::simplifyExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01832">collect_shield_index()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l02229">inst()</a>.</p> </div> </div> <a class="anchor" id="a002b629954b04ffe3a2c5c4d118e220b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void CompleteInstPreProcessor::collect_shield_index </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01832">1832</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01817">addIndex()</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01827">minusOne()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01822">plusOne()</a>, <a class="el" href="theory__array_8h_source.html#l00032">CVC3::READ</a>, and <a class="el" href="theory__array_8h_source.html#l00033">CVC3::WRITE</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01972">collectIndex()</a>.</p> </div> </div> <a class="anchor" id="aac890a5593abc885fc710614b79a71b0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void CompleteInstPreProcessor::collect_forall_index </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>forall_quant</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01861">1861</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01817">addIndex()</a>, <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap< Data >::begin()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01832">collect_shield_index()</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap< Data >::end()</a>, <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01166">findPolarity()</a>, <a class="el" href="expr_8h_source.html#l00359">CVC3::Expr::isBoundVar()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01577">isShield()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01827">minusOne()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Neg</a>, <a class="el" href="theory__quant_8cpp_source.html#l01822">plusOne()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::PosNeg</a>, and <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01972">collectIndex()</a>.</p> </div> </div> <a class="anchor" id="a8bfd959ae7f2e79a9991a8f9229e8d14"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::isGoodQuant </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>if e is a quant in the array property fragmenet </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l02103">2103</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap< Data >::begin()</a>, <a class="el" href="expr_8h_source.html#l01338">CVC3::Expr::containsBoundVar()</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap< Data >::end()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01166">findPolarity()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l00359">CVC3::Expr::isBoundVar()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="theory__arith_8h_source.html#l00174">CVC3::isInt()</a>, <a class="el" href="theory__arith_8h_source.html#l00187">CVC3::isLE()</a>, <a class="el" href="theory__arith_8h_source.html#l00186">CVC3::isLT()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01577">isShield()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Neg</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, and <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02022">isGood()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>.</p> </div> </div> <a class="anchor" id="a18fc7bd5b8710c016c92a28f1557f5dd"></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> CompleteInstPreProcessor::plusOne </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>return e+1 </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01822">1822</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr__manager_8h_source.html#l00471">CVC3::ExprManager::newRatExpr()</a>, and <a class="el" href="theory__arith_8h_source.html#l00042">CVC3::PLUS</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01832">collect_shield_index()</a>.</p> </div> </div> <a class="anchor" id="a8229594b976a7bee92940c1a8ebec1bf"></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> CompleteInstPreProcessor::minusOne </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>return e-1 </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01827">1827</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="theory__arith_8h_source.html#l00043">CVC3::MINUS</a>, and <a class="el" href="expr__manager_8h_source.html#l00471">CVC3::ExprManager::newRatExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01832">collect_shield_index()</a>.</p> </div> </div> <a class="anchor" id="a7c9d388dcb5846892ccc3d42d859c151"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void CompleteInstPreProcessor::collectHeads </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assert</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::set< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>heads</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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01350">1350</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="expr__op_8h_source.html#l00084">CVC3::Op::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l00398">CVC3::Expr::isAbsAtomicFormula()</a>, <a class="el" href="expr_8cpp_source.html#l00571">CVC3::Expr::isAtomicFormula()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>.</p> </div> </div> <a class="anchor" id="afba1bd2e5c7db9460329c57e63bd0ca4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::isMacro </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assert</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>if assert is a macro definition </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01373">1373</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01350">collectHeads()</a>, <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap< Data >::count()</a>, <a class="el" href="theory__quant_8h_source.html#l00110">d_is_macro_def</a>, <a class="el" href="theory__quant_8h_source.html#l00114">d_macro_def</a>, <a class="el" href="theory__quant_8h_source.html#l00116">d_macro_lhs</a>, <a class="el" href="theory__quant_8h_source.html#l00112">d_macro_quant</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr__op_8h_source.html#l00084">CVC3::Op::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l02103">isGoodQuant()</a>, <a class="el" href="expr_8h_source.html#l00424">CVC3::Expr::isIff()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>, <a class="el" href="minisat__heap_8h_source.html#l00053">MiniSat::left()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, <a class="el" href="minisat__heap_8h_source.html#l00054">MiniSat::right()</a>, and <a class="el" href="classCVC3_1_1CommonProofRules.html#a015539886185195ba5d98c60cd7e8f66">CVC3::CommonProofRules::skolemize()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01421">hasMacros()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01544">instMacros()</a>.</p> </div> </div> <a class="anchor" id="a91a6a2cc72569859fe20fbe3f1f7b69a"></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> CompleteInstPreProcessor::recInstMacros </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assert</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01499">1499</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap< Data >::count()</a>, <a class="el" href="theory__quant_8h_source.html#l00114">d_macro_def</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="kinds_8h_source.html#l00084">FORALL</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr__op_8h_source.html#l00084">CVC3::Op::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l00398">CVC3::Expr::isAbsAtomicFormula()</a>, <a class="el" href="expr_8cpp_source.html#l00571">CVC3::Expr::isAtomicFormula()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01231">isUniterpFunc()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01432">substMacro()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01544">instMacros()</a>.</p> </div> </div> <a class="anchor" id="a7d1616efce19baa76e85ba1f0d14633c"></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> CompleteInstPreProcessor::substMacro </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>old</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01432">1432</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap< Data >::count()</a>, <a class="el" href="theory__quant_8h_source.html#l00114">d_macro_def</a>, <a class="el" href="theory__quant_8h_source.html#l00116">d_macro_lhs</a>, <a class="el" href="theory__quant_8h_source.html#l00112">d_macro_quant</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__op_8h_source.html#l00084">CVC3::Op::getExpr()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, and <a class="el" href="expr_8cpp_source.html#l00178">CVC3::Expr::substExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01499">recInstMacros()</a>.</p> </div> </div> <a class="anchor" id="ae7bef3316e99205836a6c490ce97d0e5"></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> CompleteInstPreProcessor::recRewriteNot </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"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a> > & </td> <td class="paramname"><em>pol_map</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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01763">1763</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap< Data >::end()</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="expr__map_8h_source.html#l00194">CVC3::ExprMap< Data >::find()</a>, <a class="el" href="kinds_8h_source.html#l00084">FORALL</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Neg</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, and <a class="el" href="expr_8h_source.html#l00933">CVC3::Expr::notExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01756">rewriteNot()</a>.</p> </div> </div> <a class="anchor" id="a0d86f8e44226c42e5c9f35ec866a7459"></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> CompleteInstPreProcessor::rewriteNot </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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>rewrite neg polarity forall / exists to pos polarity </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01756">1756</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01166">findPolarity()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01144">getBoundVars()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01763">recRewriteNot()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01731">simplifyQuant()</a>.</p> </div> </div> <a class="anchor" id="a26a13f237507dfff8de68bbba747246a"></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> CompleteInstPreProcessor::recSkolemize </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"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a> > & </td> <td class="paramname"><em>pol_map</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">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01693">1693</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, and <a class="el" href="classCVC3_1_1CommonProofRules.html#a015539886185195ba5d98c60cd7e8f66">CVC3::CommonProofRules::skolemize()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01731">simplifyQuant()</a>.</p> </div> </div> <a class="anchor" id="af229547753572cd602fa29b72dd4b8c4"></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> CompleteInstPreProcessor::pullVarOut </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>thm_expr</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01249">1249</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l00941">CVC3::Expr::andExpr()</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="kinds_8h_source.html#l00084">FORALL</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l00969">CVC3::Expr::impExpr()</a>, <a class="el" href="expr_8h_source.html#l00421">CVC3::Expr::isAnd()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="expr_8h_source.html#l00425">CVC3::Expr::isImpl()</a>, <a class="el" href="expr_8h_source.html#l00420">CVC3::Expr::isNot()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, <a class="el" href="expr_8h_source.html#l00933">CVC3::Expr::notExpr()</a>, and <a class="el" href="expr_8h_source.html#l00955">CVC3::orExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01972">collectIndex()</a>.</p> </div> </div> <a class="anchor" id="acaa35692151e48b945ed672248a37a04"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::isGood </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> </div><div class="memdoc"> <p>if e is a formula in the array property fragment </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l02022">2022</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap< Data >::begin()</a>, <a class="el" href="theory__quant_8h_source.html#l00119">d_all_good</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap< Data >::end()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01626">findPolarityAtomic()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01144">getBoundVars()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01554">hasShieldVar()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l02103">isGoodQuant()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Neg</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, and <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::PosNeg</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="a2d131cd947f7d1f4a4128e9145fefd76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CompleteInstPreProcessor::collectIndex </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> </div><div class="memdoc"> <p>collect index for instantiation </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01972">1972</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr__map_8h_source.html#l00190">CVC3::ExprMap< Data >::begin()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01861">collect_forall_index()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01832">collect_shield_index()</a>, <a class="el" href="expr_8h_source.html#l01338">CVC3::Expr::containsBoundVar()</a>, <a class="el" href="theory__quant_8h_source.html#l00106">d_quant_equiv_map</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__map_8h_source.html#l00191">CVC3::ExprMap< Data >::end()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01626">findPolarityAtomic()</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="expr_8cpp_source.html#l00571">CVC3::Expr::isAtomicFormula()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, <a class="el" href="theory__quant_8cpp_source.html#l01249">pullVarOut()</a>, and <a class="el" href="classCVC3_1_1CommonProofRules.html#a015539886185195ba5d98c60cd7e8f66">CVC3::CommonProofRules::skolemize()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="a40ad81f71a9660025478bdfa3e0faba3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CompleteInstPreProcessor::inst </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> </div><div class="memdoc"> <p>inst forall quant using index from collectIndex </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l02229">2229</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01817">addIndex()</a>, <a class="el" href="kinds_8h_source.html#l00067">AND</a>, <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr__map_8h_source.html#l00173">CVC3::ExprMap< Data >::count()</a>, <a class="el" href="theory__quant_8h_source.html#l00102">d_allIndex</a>, <a class="el" href="theory__quant_8h_source.html#l00106">d_quant_equiv_map</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="theory__quant_8cpp_source.html#l02189">recCompleteInster::inst()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01243">isGround()</a>, <a class="el" href="expr__manager_8h_source.html#l00471">CVC3::ExprManager::newRatExpr()</a>, <a class="el" href="expr_8cpp_source.html#l00178">CVC3::Expr::substExpr()</a>, and <a class="el" href="theory_8h_source.html#l00582">CVC3::Theory::trueExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="a9c4d23bdb98082eb4ed1ad4823e9ae84"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool CompleteInstPreProcessor::hasMacros </td> <td>(</td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </td> <td class="paramname"><em>asserts</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>if there are macros </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01421">1421</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="a7446d08768323eeaa24ddc647b872f63"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CompleteInstPreProcessor::instMacros </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assert</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>macro_quant_sub</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>substitute a macro in assert </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01544">1544</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01499">recInstMacros()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="a56ee0c6a3da8f909c63b1b6c8927b871"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CompleteInstPreProcessor::simplifyEq </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assert</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>simplify a=a to True </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01462">1462</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>, <a class="el" href="kinds_8h_source.html#l00085">EXISTS</a>, <a class="el" href="kinds_8h_source.html#l00084">FORALL</a>, <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, <a class="el" href="theory_8h_source.html#l00090">CVC3::Theory::getEM()</a>, <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, <a class="el" href="expr_8h_source.html#l00398">CVC3::Expr::isAbsAtomicFormula()</a>, <a class="el" href="expr_8cpp_source.html#l00571">CVC3::Expr::isAtomicFormula()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>, <a class="el" href="expr_8h_source.html#l00419">CVC3::Expr::isEq()</a>, <a class="el" href="expr_8h_source.html#l00429">CVC3::Expr::isExists()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="expr__manager_8h_source.html#l00506">CVC3::ExprManager::newClosureExpr()</a>, and <a class="el" href="theory_8h_source.html#l00582">CVC3::Theory::trueExpr()</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <a class="anchor" id="aabf49f82cbf8008c81eef01dd8b66666"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CompleteInstPreProcessor::simplifyQuant </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> </div><div class="memdoc"> <p>put all quants in postive form and then skolemize all exists </p> <p>Definition at line <a class="el" href="theory__quant_8cpp_source.html#l01731">1731</a> of file <a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a>.</p> <p>References <a class="el" href="classCVC3_1_1CommonProofRules.html#ab4527c48e9f88d94d7ca076757a6f3ba">CVC3::CommonProofRules::assumpRule()</a>, <a class="el" href="theory__quant_8h_source.html#l00100">d_quant_rules</a>, <a class="el" href="theory__quant_8h_source.html#l00099">d_theoryCore</a>, <a class="el" href="theory__quant_8cpp_source.html#l01166">findPolarity()</a>, <a class="el" href="theory_8h_source.html#l00096">CVC3::Theory::getCommonRules()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="expr_8h_source.html#l00428">CVC3::Expr::isForall()</a>, <a class="el" href="classCVC3_1_1QuantProofRules.html#aae3a3ee3b69d2a860a470fe773a6df76">CVC3::QuantProofRules::packVar()</a>, <a class="el" href="theory__quant_8h_source.html#l00048">CVC3::Pos</a>, <a class="el" href="theory__quant_8cpp_source.html#l01693">recSkolemize()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01756">rewriteNot()</a>, and <a class="el" href="kinds_8h_source.html#l00099">TRACE</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02343">CVC3::TheoryQuant::theoryPreprocess()</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="ad41c79afe0059463b226d9a60cd9d39d"></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_1TheoryCore.html">TheoryCore</a>* CVC3::CompleteInstPreProcessor::d_theoryCore</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="theory__quant_8h_source.html#l00099">99</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01817">addIndex()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01972">collectIndex()</a>, <a class="el" href="theory__quant_8cpp_source.html#l02229">inst()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01827">minusOne()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01822">plusOne()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01249">pullVarOut()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01499">recInstMacros()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01763">recRewriteNot()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01693">recSkolemize()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01462">simplifyEq()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01731">simplifyQuant()</a>.</p> </div> </div> <a class="anchor" id="a135b1e372b6f3a33941c6fa2ecc93d3e"></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_1QuantProofRules.html">QuantProofRules</a>* CVC3::CompleteInstPreProcessor::d_quant_rules</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="theory__quant_8h_source.html#l00100">100</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01731">simplifyQuant()</a>.</p> </div> </div> <a class="anchor" id="a3837998b3df09387a2a162258ef6b2db"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::set<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_allIndex</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="theory__quant_8h_source.html#l00102">102</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01817">addIndex()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l02229">inst()</a>.</p> </div> </div> <a class="anchor" id="af4ab970a26f5f10316e10b88cd88f5ed"></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_1ExprMap.html">ExprMap</a><<a class="el" href="namespaceCVC3.html#aa6262a73c1109f35a6c533421f5dd393">Polarity</a>> CVC3::CompleteInstPreProcessor::d_expr_pol</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="theory__quant_8h_source.html#l00104">104</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> </div> </div> <a class="anchor" id="a8c3444e4e7e06812e1823c4b0d323034"></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_1ExprMap.html">ExprMap</a><<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_quant_equiv_map</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="theory__quant_8h_source.html#l00106">106</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01972">collectIndex()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l02229">inst()</a>.</p> </div> </div> <a class="anchor" id="ae0b4227a71a7d717dd55cc141a638eb1"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_gnd_cache</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="theory__quant_8h_source.html#l00108">108</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> </div> </div> <a class="anchor" id="a40a454874f53c168f0e05cffe5d3d853"></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_1ExprMap.html">ExprMap</a><bool> CVC3::CompleteInstPreProcessor::d_is_macro_def</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="theory__quant_8h_source.html#l00110">110</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>.</p> </div> </div> <a class="anchor" id="a7a68974e437e44e62cc3020f51f881cc"></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_1ExprMap.html">ExprMap</a><<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_macro_quant</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="theory__quant_8h_source.html#l00112">112</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01432">substMacro()</a>.</p> </div> </div> <a class="anchor" id="a316d10c5eb6ecb1b11fb212d4835a735"></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_1ExprMap.html">ExprMap</a><<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_macro_def</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="theory__quant_8h_source.html#l00114">114</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>, <a class="el" href="theory__quant_8cpp_source.html#l01499">recInstMacros()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01432">substMacro()</a>.</p> </div> </div> <a class="anchor" id="ad488e4d5e4340e0401a201a7afcb45f5"></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_1ExprMap.html">ExprMap</a><<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> CVC3::CompleteInstPreProcessor::d_macro_lhs</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="theory__quant_8h_source.html#l00116">116</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l01373">isMacro()</a>, and <a class="el" href="theory__quant_8cpp_source.html#l01432">substMacro()</a>.</p> </div> </div> <a class="anchor" id="a99f6e270ce292ce04b1dea58cf5b95c3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CVC3::CompleteInstPreProcessor::d_all_good</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>if all formulas checked so far are good </p> <p>Definition at line <a class="el" href="theory__quant_8h_source.html#l00119">119</a> of file <a class="el" href="theory__quant_8h_source.html">theory_quant.h</a>.</p> <p>Referenced by <a class="el" href="theory__quant_8cpp_source.html#l02022">isGood()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="theory__quant_8h_source.html">theory_quant.h</a></li> <li><a class="el" href="theory__quant_8cpp_source.html">theory_quant.cpp</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu May 16 2013 13:25:18 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>