<!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"/> <title>CVC3: CVC3::TheoryCore::CoreSatAPI Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">CVC3 <span id="projectnumber">2.4.1</span></div> </td> </tr> </tbody> </table> </div> <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="hierarchy.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_1TheoryCore.html">TheoryCore</a> </li> <li class="navelem"><a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html">CoreSatAPI</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">CVC3::TheoryCore::CoreSatAPI Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="CVC3::TheoryCore::CoreSatAPI" --> <p>Interface class for callbacks to <a class="el" href="namespaceSAT.html">SAT</a> from Core. <a href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#details">More...</a></p> <p><code>#include <<a class="el" href="theory__core_8h_source.html">theory_core.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CVC3::TheoryCore::CoreSatAPI:</div> <div class="dyncontent"> <div class="center"> <img src="classCVC3_1_1TheoryCore_1_1CoreSatAPI.png" usemap="#CVC3::TheoryCore::CoreSatAPI_map" alt=""/> <map id="CVC3::TheoryCore::CoreSatAPI_map" name="CVC3::TheoryCore::CoreSatAPI_map"> <area href="classCVC3_1_1CoreSatAPI__implBase.html" alt="CVC3::CoreSatAPI_implBase" shape="rect" coords="0,56,192,80"/> <area href="classCVC3_1_1SearchSatCoreSatAPI.html" alt="CVC3::SearchSatCoreSatAPI" shape="rect" coords="202,56,394,80"/> </map> </div></div> <p><a href="classCVC3_1_1TheoryCore_1_1CoreSatAPI-members.html">List of all members.</a></p> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#a84c825e0d6fa2c3ec3f36389b0a48bf5">CoreSatAPI</a> () <li>virtual <a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#a83e947dd482c742308cc343e7c95ebce">~CoreSatAPI</a> () <li>virtual void <a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#a01d21bdfe363edfaf6704bd1263fa1fe">addLemma</a> (const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &thm, int priority=0, bool atBottomScope=false)=0 <dl class="el"><dd class="mdescRight">Add a new lemma derived by theory core. <a href="#a01d21bdfe363edfaf6704bd1263fa1fe"></a><br/></dl><li>virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> <a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#ac56278526add1e4e1a92964a5db037bf">addAssumption</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &assump)=0 <dl class="el"><dd class="mdescRight">Add an assumption to the set of assumptions in the current context. <a href="#ac56278526add1e4e1a92964a5db037bf"></a><br/></dl><li>virtual void <a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#a241159d6c0886d7e3584c8335d87e38e">addSplitter</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e, int priority)=0 <dl class="el"><dd class="mdescRight">Suggest a splitter to the Sat engine. <a href="#a241159d6c0886d7e3584c8335d87e38e"></a><br/></dl><li>virtual bool <a class="el" href="classCVC3_1_1TheoryCore_1_1CoreSatAPI.html#a80d37ba26c6d5091f2ecf3a3b4d2a484">check</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)=0 <dl class="el"><dd class="mdescRight">Check the validity of e in the current context. <a href="#a80d37ba26c6d5091f2ecf3a3b4d2a484"></a><br/></dl></ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Interface class for callbacks to <a class="el" href="namespaceSAT.html">SAT</a> from Core. </p> <p>Author: Clark Barrett</p> <p>Created: Mon Dec 5 18:42:15 2005 </p> <p>Definition at line <a class="el" href="theory__core_8h_source.html#l00219">219</a> of file <a class="el" href="theory__core_8h_source.html">theory_core.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a84c825e0d6fa2c3ec3f36389b0a48bf5"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::CoreSatAPI" ref="a84c825e0d6fa2c3ec3f36389b0a48bf5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CVC3::TheoryCore::CoreSatAPI::CoreSatAPI </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="theory__core_8h_source.html#l00221">221</a> of file <a class="el" href="theory__core_8h_source.html">theory_core.h</a>.</p> </div> </div> <a class="anchor" id="a83e947dd482c742308cc343e7c95ebce"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::~CoreSatAPI" ref="a83e947dd482c742308cc343e7c95ebce" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual CVC3::TheoryCore::CoreSatAPI::~CoreSatAPI </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="theory__core_8h_source.html#l00222">222</a> of file <a class="el" href="theory__core_8h_source.html">theory_core.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a01d21bdfe363edfaf6704bd1263fa1fe"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::addLemma" ref="a01d21bdfe363edfaf6704bd1263fa1fe" args="(const Theorem &thm, int priority=0, bool atBottomScope=false)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CVC3::TheoryCore::CoreSatAPI::addLemma </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">int </td> <td class="paramname"><em>priority</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>atBottomScope</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add a new lemma derived by theory core. </p> <p>Implemented in <a class="el" href="classCVC3_1_1CoreSatAPI__implBase.html#a0f161d12f8d1c2c6920e747cc6551be0">CVC3::CoreSatAPI_implBase</a>, and <a class="el" href="classCVC3_1_1SearchSatCoreSatAPI.html#ae2f398e9ebdca22f7dbbe12380f34151">CVC3::SearchSatCoreSatAPI</a>.</p> </div> </div> <a class="anchor" id="ac56278526add1e4e1a92964a5db037bf"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::addAssumption" ref="ac56278526add1e4e1a92964a5db037bf" args="(const Expr &assump)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> CVC3::TheoryCore::CoreSatAPI::addAssumption </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>assump</em></td><td>)</td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add an assumption to the set of assumptions in the current context. </p> <p><a class="el" href="classCVC3_1_1Assumptions.html">Assumptions</a> have the form e |- e </p> <p>Implemented in <a class="el" href="classCVC3_1_1CoreSatAPI__implBase.html#a5447590e73ee5be03de304fb0925bf58">CVC3::CoreSatAPI_implBase</a>, and <a class="el" href="classCVC3_1_1SearchSatCoreSatAPI.html#a09cc89d4a36875de81fbd58b1c35f7bf">CVC3::SearchSatCoreSatAPI</a>.</p> <p>Referenced by <a class="el" href="theory__core_8cpp_source.html#l03713">CVC3::TheoryCore::assignValue()</a>.</p> </div> </div> <a class="anchor" id="a241159d6c0886d7e3584c8335d87e38e"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::addSplitter" ref="a241159d6c0886d7e3584c8335d87e38e" args="(const Expr &e, int priority)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CVC3::TheoryCore::CoreSatAPI::addSplitter </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>priority</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Suggest a splitter to the Sat engine. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">e</td><td>is a literal. </td></tr> <tr><td class="paramname">priority</td><td>is between -10 and 10. A priority above 0 indicates that the splitter should be favored. A priority below 0 indicates that the splitter should be delayed. </td></tr> </table> </dd> </dl> <p>Implemented in <a class="el" href="classCVC3_1_1CoreSatAPI__implBase.html#aa2bdec86d7df97040c41f32b6354b89a">CVC3::CoreSatAPI_implBase</a>, and <a class="el" href="classCVC3_1_1SearchSatCoreSatAPI.html#a17e68b9c4e83489e11099b9f5f60be63">CVC3::SearchSatCoreSatAPI</a>.</p> </div> </div> <a class="anchor" id="a80d37ba26c6d5091f2ecf3a3b4d2a484"></a><!-- doxytag: member="CVC3::TheoryCore::CoreSatAPI::check" ref="a80d37ba26c6d5091f2ecf3a3b4d2a484" args="(const Expr &e)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool CVC3::TheoryCore::CoreSatAPI::check </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><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Check the validity of e in the current context. </p> <p>Implemented in <a class="el" href="classCVC3_1_1CoreSatAPI__implBase.html#a81efe1d5fd1132b8a4bbea200a51ff48">CVC3::CoreSatAPI_implBase</a>, and <a class="el" href="classCVC3_1_1SearchSatCoreSatAPI.html#a20b83a72494dd9dec49f37457e2ac5ac">CVC3::SearchSatCoreSatAPI</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="theory__core_8h_source.html">theory_core.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Wed Sep 7 2011 for CVC3 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>