<!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::CNF_TheoremProducer 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_1CNF__TheoremProducer.html">CNF_TheoremProducer</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_1CNF__TheoremProducer-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">CVC3::CNF_TheoremProducer Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>></code></p> <p>Inherits <a class="el" href="classCVC3_1_1CNF__Rules.html">CVC3::CNF_Rules</a>, and <a class="el" href="classCVC3_1_1TheoremProducer.html">CVC3::TheoremProducer</a>.</p> <div class="dynheader"> Collaboration diagram for CVC3::CNF_TheoremProducer:</div> <div class="dyncontent"> <div class="center"><img src="classCVC3_1_1CNF__TheoremProducer__coll__graph.gif" border="0" usemap="#CVC3_1_1CNF__TheoremProducer_coll__map" alt="Collaboration graph"/></div> <map name="CVC3_1_1CNF__TheoremProducer_coll__map" id="CVC3_1_1CNF__TheoremProducer_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:aac57c5789cb45689d5369ab983ec5a30"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#aac57c5789cb45689d5369ab983ec5a30">CNF_TheoremProducer</a> (<a class="el" href="classCVC3_1_1TheoremManager.html">TheoremManager</a> *tm, const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> &flags)</td></tr> <tr class="separator:aac57c5789cb45689d5369ab983ec5a30"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a719f19fdbe63659eb39c33180c7ff5df"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#a719f19fdbe63659eb39c33180c7ff5df">~CNF_TheoremProducer</a> ()</td></tr> <tr class="separator:a719f19fdbe63659eb39c33180c7ff5df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeef9185f05f685d80f0bfc823faa429d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#aeef9185f05f685d80f0bfc823faa429d">getSmartClauses</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &thm, std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > &clauses)</td></tr> <tr class="separator:aeef9185f05f685d80f0bfc823faa429d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3fe737b830833e49627619fa08429893"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#a3fe737b830833e49627619fa08429893">learnedClauses</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &thm, std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > &clauses, bool newLemma)</td></tr> <tr class="memdesc:a3fe737b830833e49627619fa08429893"><td class="mdescLeft"> </td><td class="mdescRight">Learned clause rule: </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[\frac{A_1,\ldots,A_n\vdash B} {\vdash\neg A_1\vee\cdots\vee \neg A_n\vee B}\]" src="form_280.png"/> </p> <p>. <a href="#a3fe737b830833e49627619fa08429893"></a><br/></td></tr> <tr class="separator:a3fe737b830833e49627619fa08429893"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68cf231265e15809589ed0c5bb530196"><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_1CNF__TheoremProducer.html#a68cf231265e15809589ed0c5bb530196">CNFAddUnit</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &thm)</td></tr> <tr class="separator:a68cf231265e15809589ed0c5bb530196"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac340fcb794b12ae7c521a37668d6751a"><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_1CNF__TheoremProducer.html#ac340fcb794b12ae7c521a37668d6751a">CNFConvert</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &thm)</td></tr> <tr class="separator:ac340fcb794b12ae7c521a37668d6751a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae32cd839e30a9a7f4d5bf96bd9f7a0ab"><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_1CNF__TheoremProducer.html#ae32cd839e30a9a7f4d5bf96bd9f7a0ab">ifLiftRule</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, int itePos)</td></tr> <tr class="memdesc:ae32cd839e30a9a7f4d5bf96bd9f7a0ab"><td class="mdescLeft"> </td><td class="mdescRight">|- P(_, ITE(cond,a,b), _) <=> ITE(cond,Pred(_, a, _),Pred(_, b, _)) <a href="#ae32cd839e30a9a7f4d5bf96bd9f7a0ab"></a><br/></td></tr> <tr class="separator:ae32cd839e30a9a7f4d5bf96bd9f7a0ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a65a0979bece96255a2ab2c81318258bf"><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_1CNF__TheoremProducer.html#a65a0979bece96255a2ab2c81318258bf">CNFtranslate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &before, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &after, std::string reason, int pos, const std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > &thms)</td></tr> <tr class="separator:a65a0979bece96255a2ab2c81318258bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68e886da336116325c9d0c49182b9af7"><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_1CNF__TheoremProducer.html#a68e886da336116325c9d0c49182b9af7">CNFITEtranslate</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &before, const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &after, const std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > &thms, int pos)</td></tr> <tr class="separator:a68e886da336116325c9d0c49182b9af7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classCVC3_1_1CNF__Rules"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1CNF__Rules')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classCVC3_1_1CNF__Rules.html">CVC3::CNF_Rules</a></td></tr> <tr class="memitem:gadc1e78c5356c90604c1885e7a3833468 inherit pub_methods_classCVC3_1_1CNF__Rules"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CNF__Rules.html#gadc1e78c5356c90604c1885e7a3833468">~CNF_Rules</a> ()</td></tr> <tr class="memdesc:gadc1e78c5356c90604c1885e7a3833468 inherit pub_methods_classCVC3_1_1CNF__Rules"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="group__CNF__Rules.html#gadc1e78c5356c90604c1885e7a3833468"></a><br/></td></tr> <tr class="separator:gadc1e78c5356c90604c1885e7a3833468 inherit pub_methods_classCVC3_1_1CNF__Rules"><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:a6122998931a6bf83afb94bc44ac2c903"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#a6122998931a6bf83afb94bc44ac2c903">d_flags</a></td></tr> <tr class="separator:a6122998931a6bf83afb94bc44ac2c903"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89677747742f0a944d42d9799b7adda9"><td class="memItemLeft" align="right" valign="top">const bool & </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1CNF__TheoremProducer.html#a89677747742f0a944d42d9799b7adda9">d_smartClauses</a></td></tr> <tr class="separator:a89677747742f0a944d42d9799b7adda9"><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="cnf__theorem__producer_8h_source.html#l00031">31</a> of file <a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="aac57c5789cb45689d5369ab983ec5a30"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">CVC3::CNF_TheoremProducer::CNF_TheoremProducer </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">const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> & </td> <td class="paramname"><em>flags</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="cnf__theorem__producer_8h_source.html#l00038">38</a> of file <a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>.</p> </div> </div> <a class="anchor" id="a719f19fdbe63659eb39c33180c7ff5df"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">CVC3::CNF_TheoremProducer::~CNF_TheoremProducer </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="cnf__theorem__producer_8h_source.html#l00041">41</a> of file <a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="aeef9185f05f685d80f0bfc823faa429d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CNF_TheoremProducer::getSmartClauses </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> & </td> <td class="paramname"><em>thm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > & </td> <td class="paramname"><em>clauses</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="cnf__theorem__producer_8cpp_source.html#l00049">49</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> <p>References <a class="el" href="theorem_8cpp_source.html#l00422">CVC3::Theorem::clearAllFlags()</a>, <a class="el" href="debug_8h_source.html#l00037">FatalAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00491">CVC3::Theorem::getQuantLevel()</a>, <a class="el" href="theorem_8cpp_source.html#l00309">CVC3::Theorem::GetSatAssumptions()</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, <a class="el" href="kinds_8h_source.html#l00068">OR</a>, and <a class="el" href="theorem_8cpp_source.html#l00504">CVC3::Theorem::setQuantLevel()</a>.</p> </div> </div> <a class="anchor" id="a3fe737b830833e49627619fa08429893"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void CNF_TheoremProducer::learnedClauses </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> & </td> <td class="paramname"><em>thm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > & </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>newLemma</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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Learned clause rule: </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[\frac{A_1,\ldots,A_n\vdash B} {\vdash\neg A_1\vee\cdots\vee \neg A_n\vee B}\]" src="form_280.png"/> </p> <p>. </p> <pre class="fragment"> \param thm is the theorem </pre><p> <img class="formulaInl" alt="$ A_1,\ldots,A_n\vdash B$" src="form_281.png"/> Each <img class="formulaInl" alt="$A_i$" src="form_282.png"/> and <img class="formulaInl" alt="$B$" src="form_283.png"/> should be literals <img class="formulaInl" alt="$B$" src="form_283.png"/> can also be <img class="formulaInl" alt="$\mathrm{FALSE}$" src="form_284.png"/> </p> <p>Implements <a class="el" href="group__CNF__Rules.html#ga95a3d54cd5764e677d565f227b07eace">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00106">106</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> <p>References <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="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00274">CVC3::Theorem::getLeafAssumptions()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, <a class="el" href="theorem_8cpp_source.html#l00491">CVC3::Theorem::getQuantLevel()</a>, <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>, <a class="el" href="expr_8h_source.html#l00355">CVC3::Expr::isFalse()</a>, and <a class="el" href="kinds_8h_source.html#l00068">OR</a>.</p> </div> </div> <a class="anchor" id="a68cf231265e15809589ed0c5bb530196"></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> CNF_TheoremProducer::CNFAddUnit </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> & </td> <td class="paramname"><em>thm</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="group__CNF__Rules.html#ga0aaf202cffbc31fe85e7599ec2906319">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00311">311</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> <p>References <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, and <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>.</p> </div> </div> <a class="anchor" id="ac340fcb794b12ae7c521a37668d6751a"></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> CNF_TheoremProducer::CNFConvert </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 <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> & </td> <td class="paramname"><em>thm</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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="group__CNF__Rules.html#ga218381b5e2fddbd76c0c81ca3013c0f8">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00321">321</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> <p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="theorem_8cpp_source.html#l00385">CVC3::Theorem::getAssumptionsRef()</a>, <a class="el" href="theorem_8cpp_source.html#l00230">CVC3::Theorem::getExpr()</a>, <a class="el" href="theorem_8cpp_source.html#l00402">CVC3::Theorem::getProof()</a>, and <a class="el" href="expr_8h_source.html#l00422">CVC3::Expr::isOr()</a>.</p> </div> </div> <a class="anchor" id="ae32cd839e30a9a7f4d5bf96bd9f7a0ab"></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> CNF_TheoremProducer::ifLiftRule </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>itePos</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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>|- P(_, ITE(cond,a,b), _) <=> ITE(cond,Pred(_, a, _),Pred(_, b, _)) </p> <p>Implements <a class="el" href="group__CNF__Rules.html#ga941f65f9beb6d3233a6d628c83731960">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00208">208</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_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="expr_8h_source.html#l01162">CVC3::Expr::getKids()</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="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, <a class="el" href="type_8h_source.html#l00060">CVC3::Type::isBool()</a>, <a class="el" href="expr_8h_source.html#l00423">CVC3::Expr::isITE()</a>, <a class="el" href="expr_8h_source.html#l00961">CVC3::Expr::iteExpr()</a>, and <a class="el" href="expr_8cpp_source.html#l00344">CVC3::Expr::toString()</a>.</p> </div> </div> <a class="anchor" id="a65a0979bece96255a2ab2c81318258bf"></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> CNF_TheoremProducer::CNFtranslate </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>before</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>after</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::string </td> <td class="paramname"><em>reason</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>pos</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > & </td> <td class="paramname"><em>thms</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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="group__CNF__Rules.html#gae66dc0ceb7b55eeeea57187e0acd4bd5">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00246">246</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> </div> </div> <a class="anchor" id="a68e886da336116325c9d0c49182b9af7"></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> CNF_TheoremProducer::CNFITEtranslate </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>before</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>after</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> > & </td> <td class="paramname"><em>thms</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>pos</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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="group__CNF__Rules.html#gad68b269642c7545c0fc119b7a74a3f32">CVC3::CNF_Rules</a>.</p> <p>Definition at line <a class="el" href="cnf__theorem__producer_8cpp_source.html#l00271">271</a> of file <a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_theorem_producer.cpp</a>.</p> <p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, and <a class="el" href="expr_8h_source.html#l00961">CVC3::Expr::iteExpr()</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a6122998931a6bf83afb94bc44ac2c903"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a>& CVC3::CNF_TheoremProducer::d_flags</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="cnf__theorem__producer_8h_source.html#l00034">34</a> of file <a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>.</p> </div> </div> <a class="anchor" id="a89677747742f0a944d42d9799b7adda9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const bool& CVC3::CNF_TheoremProducer::d_smartClauses</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="cnf__theorem__producer_8h_source.html#l00035">35</a> of file <a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="cnf__theorem__producer_8h_source.html">cnf_theorem_producer.h</a></li> <li><a class="el" href="cnf__theorem__producer_8cpp_source.html">cnf_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>