Sophie

Sophie

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

cvc3-doc-2.4.1-1.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CVC3: CVC3::ValidityChecker Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CVC3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCVC3.html">CVC3</a></li><li class="navelem"><a class="el" href="classCVC3_1_1ValidityChecker.html">ValidityChecker</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classCVC3_1_1ValidityChecker-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::ValidityChecker Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__VC__API.html">Validity Checker API</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Generic API for a validity checker.  
 <a href="classCVC3_1_1ValidityChecker.html#details">More...</a></p>

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

<p>Inherited by <a class="el" href="classCVC3_1_1VCL.html">CVC3::VCL</a>.</p>
<div class="dynheader">
Collaboration diagram for CVC3::ValidityChecker:</div>
<div class="dyncontent">
<div class="center"><img src="classCVC3_1_1ValidityChecker__coll__graph.gif" border="0" usemap="#CVC3_1_1ValidityChecker_coll__map" alt="Collaboration graph"/></div>
<map name="CVC3_1_1ValidityChecker_coll__map" id="CVC3_1_1ValidityChecker_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:a15399f370b5af3e31e1ee2add14470bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a15399f370b5af3e31e1ee2add14470bf">ValidityChecker</a> ()</td></tr>
<tr class="memdesc:a15399f370b5af3e31e1ee2add14470bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a15399f370b5af3e31e1ee2add14470bf"></a><br/></td></tr>
<tr class="separator:a15399f370b5af3e31e1ee2add14470bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba951ee63a5a1ffb804f282980a1a68"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4ba951ee63a5a1ffb804f282980a1a68">~ValidityChecker</a> ()</td></tr>
<tr class="memdesc:a4ba951ee63a5a1ffb804f282980a1a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a4ba951ee63a5a1ffb804f282980a1a68"></a><br/></td></tr>
<tr class="separator:a4ba951ee63a5a1ffb804f282980a1a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a09f71dc5a3dd47f0240abceab2fad3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9a09f71dc5a3dd47f0240abceab2fad3">getFlags</a> () const =0</td></tr>
<tr class="memdesc:a9a09f71dc5a3dd47f0240abceab2fad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the set of command-line flags.  <a href="#a9a09f71dc5a3dd47f0240abceab2fad3"></a><br/></td></tr>
<tr class="separator:a9a09f71dc5a3dd47f0240abceab2fad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0acc9330bfe47d579f1fa105d2603e85"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a0acc9330bfe47d579f1fa105d2603e85">reprocessFlags</a> ()=0</td></tr>
<tr class="memdesc:a0acc9330bfe47d579f1fa105d2603e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force reprocessing of all flags.  <a href="#a0acc9330bfe47d579f1fa105d2603e85"></a><br/></td></tr>
<tr class="separator:a0acc9330bfe47d579f1fa105d2603e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Type-related methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for creating and looking up types </p>
<dl class="section see"><dt>See Also</dt><dd>class <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> </dd></dl>
</div></td></tr>
<tr class="memitem:aa86f4ae2faff53326d76f0d7bbc45198"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa86f4ae2faff53326d76f0d7bbc45198">boolType</a> ()=0</td></tr>
<tr class="memdesc:aa86f4ae2faff53326d76f0d7bbc45198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create type BOOLEAN.  <a href="#aa86f4ae2faff53326d76f0d7bbc45198"></a><br/></td></tr>
<tr class="separator:aa86f4ae2faff53326d76f0d7bbc45198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af80938787dc3dc10d794cabcde2eedd9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af80938787dc3dc10d794cabcde2eedd9">realType</a> ()=0</td></tr>
<tr class="memdesc:af80938787dc3dc10d794cabcde2eedd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create type REAL.  <a href="#af80938787dc3dc10d794cabcde2eedd9"></a><br/></td></tr>
<tr class="separator:af80938787dc3dc10d794cabcde2eedd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad93120c84052c413953cf7fcd3c95048"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad93120c84052c413953cf7fcd3c95048">intType</a> ()=0</td></tr>
<tr class="memdesc:ad93120c84052c413953cf7fcd3c95048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create type INT.  <a href="#ad93120c84052c413953cf7fcd3c95048"></a><br/></td></tr>
<tr class="separator:ad93120c84052c413953cf7fcd3c95048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cc434a4b1279e19eda6f2a9fdb7ada3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a5cc434a4b1279e19eda6f2a9fdb7ada3">subrangeType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;l, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;r)=0</td></tr>
<tr class="memdesc:a5cc434a4b1279e19eda6f2a9fdb7ada3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a subrange type [l..r].  <a href="#a5cc434a4b1279e19eda6f2a9fdb7ada3"></a><br/></td></tr>
<tr class="separator:a5cc434a4b1279e19eda6f2a9fdb7ada3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad96bcbbf85248e8444dfe61a8195b76"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aad96bcbbf85248e8444dfe61a8195b76">subtypeType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;pred, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;witness)=0</td></tr>
<tr class="memdesc:aad96bcbbf85248e8444dfe61a8195b76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a subtype defined by the given predicate.  <a href="#aad96bcbbf85248e8444dfe61a8195b76"></a><br/></td></tr>
<tr class="separator:aad96bcbbf85248e8444dfe61a8195b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b2fa25ca712dabced8f9601150f64d5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4b2fa25ca712dabced8f9601150f64d5">tupleType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type0, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type1)=0</td></tr>
<tr class="memdesc:a4b2fa25ca712dabced8f9601150f64d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-element tuple  <a href="#a4b2fa25ca712dabced8f9601150f64d5"></a><br/></td></tr>
<tr class="separator:a4b2fa25ca712dabced8f9601150f64d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4331cfc2d225141128ea420cf67ea0ec"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4331cfc2d225141128ea420cf67ea0ec">tupleType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type0, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type1, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type2)=0</td></tr>
<tr class="memdesc:a4331cfc2d225141128ea420cf67ea0ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-element tuple  <a href="#a4331cfc2d225141128ea420cf67ea0ec"></a><br/></td></tr>
<tr class="separator:a4331cfc2d225141128ea420cf67ea0ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2073f3aaa4d4b24eeb1ab953c7b45277"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2073f3aaa4d4b24eeb1ab953c7b45277">tupleType</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;types)=0</td></tr>
<tr class="memdesc:a2073f3aaa4d4b24eeb1ab953c7b45277"><td class="mdescLeft">&#160;</td><td class="mdescRight">n-element tuple (from a vector of types)  <a href="#a2073f3aaa4d4b24eeb1ab953c7b45277"></a><br/></td></tr>
<tr class="separator:a2073f3aaa4d4b24eeb1ab953c7b45277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9a6df13065bfc62ea5ece1513716835"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad9a6df13065bfc62ea5ece1513716835">recordType</a> (const std::string &amp;field, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type)=0</td></tr>
<tr class="memdesc:ad9a6df13065bfc62ea5ece1513716835"><td class="mdescLeft">&#160;</td><td class="mdescRight">1-element record  <a href="#ad9a6df13065bfc62ea5ece1513716835"></a><br/></td></tr>
<tr class="separator:ad9a6df13065bfc62ea5ece1513716835"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33e7b277c1dda7aa16531561bc4d3997"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a33e7b277c1dda7aa16531561bc4d3997">recordType</a> (const std::string &amp;field0, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type0, const std::string &amp;field1, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type1)=0</td></tr>
<tr class="memdesc:a33e7b277c1dda7aa16531561bc4d3997"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-element record  <a href="#a33e7b277c1dda7aa16531561bc4d3997"></a><br/></td></tr>
<tr class="separator:a33e7b277c1dda7aa16531561bc4d3997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8d0b2262555d33ef81ffc462a97f45"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3c8d0b2262555d33ef81ffc462a97f45">recordType</a> (const std::string &amp;field0, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type0, const std::string &amp;field1, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type1, const std::string &amp;field2, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type2)=0</td></tr>
<tr class="memdesc:a3c8d0b2262555d33ef81ffc462a97f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-element record  <a href="#a3c8d0b2262555d33ef81ffc462a97f45"></a><br/></td></tr>
<tr class="separator:a3c8d0b2262555d33ef81ffc462a97f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e24a3aa4ef5cc072a57e988e045f17"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af0e24a3aa4ef5cc072a57e988e045f17">recordType</a> (const std::vector&lt; std::string &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;types)=0</td></tr>
<tr class="memdesc:af0e24a3aa4ef5cc072a57e988e045f17"><td class="mdescLeft">&#160;</td><td class="mdescRight">n-element record (fields and types must be of the same length)  <a href="#af0e24a3aa4ef5cc072a57e988e045f17"></a><br/></td></tr>
<tr class="separator:af0e24a3aa4ef5cc072a57e988e045f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cc46f1745f4296f9479479a58d3db6d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6cc46f1745f4296f9479479a58d3db6d">dataType</a> (const std::string &amp;name, const std::string &amp;constructor, const std::vector&lt; std::string &gt; &amp;selectors, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;types)=0</td></tr>
<tr class="memdesc:a6cc46f1745f4296f9479479a58d3db6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single datatype, single constructor.  <a href="#a6cc46f1745f4296f9479479a58d3db6d"></a><br/></td></tr>
<tr class="separator:a6cc46f1745f4296f9479479a58d3db6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02598f355a0454ac3e154695b3419661"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a02598f355a0454ac3e154695b3419661">dataType</a> (const std::string &amp;name, const std::vector&lt; std::string &gt; &amp;constructors, const std::vector&lt; std::vector&lt; std::string &gt; &gt; &amp;selectors, const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;types)=0</td></tr>
<tr class="memdesc:a02598f355a0454ac3e154695b3419661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single datatype, multiple constructors.  <a href="#a02598f355a0454ac3e154695b3419661"></a><br/></td></tr>
<tr class="separator:a02598f355a0454ac3e154695b3419661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b3cc340170bbab622f36f36c3cb63e9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3b3cc340170bbab622f36f36c3cb63e9">dataType</a> (const std::vector&lt; std::string &gt; &amp;names, const std::vector&lt; std::vector&lt; std::string &gt; &gt; &amp;constructors, const std::vector&lt; std::vector&lt; std::vector&lt; std::string &gt; &gt; &gt; &amp;selectors, const std::vector&lt; std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &gt; &amp;types, std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;returnTypes)=0</td></tr>
<tr class="memdesc:a3b3cc340170bbab622f36f36c3cb63e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiple datatypes.  <a href="#a3b3cc340170bbab622f36f36c3cb63e9"></a><br/></td></tr>
<tr class="separator:a3b3cc340170bbab622f36f36c3cb63e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1f7ef4714ecdadb4d0b63a0145a442"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aae1f7ef4714ecdadb4d0b63a0145a442">arrayType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;typeIndex, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;typeData)=0</td></tr>
<tr class="memdesc:aae1f7ef4714ecdadb4d0b63a0145a442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an array type (ARRAY typeIndex OF typeData)  <a href="#aae1f7ef4714ecdadb4d0b63a0145a442"></a><br/></td></tr>
<tr class="separator:aae1f7ef4714ecdadb4d0b63a0145a442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3258e23feb3ab38beeff3e72121ac6f0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3258e23feb3ab38beeff3e72121ac6f0">bitvecType</a> (int n)=0</td></tr>
<tr class="memdesc:a3258e23feb3ab38beeff3e72121ac6f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a bitvector type of length n.  <a href="#a3258e23feb3ab38beeff3e72121ac6f0"></a><br/></td></tr>
<tr class="separator:a3258e23feb3ab38beeff3e72121ac6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2186221f05f3990b9eded526d24211be"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2186221f05f3990b9eded526d24211be">funType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;typeDom, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;typeRan)=0</td></tr>
<tr class="memdesc:a2186221f05f3990b9eded526d24211be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a function type typeDom -&gt; typeRan.  <a href="#a2186221f05f3990b9eded526d24211be"></a><br/></td></tr>
<tr class="separator:a2186221f05f3990b9eded526d24211be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0648db7219413e066d9aa24b932af44"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa0648db7219413e066d9aa24b932af44">funType</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;typeDom, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;typeRan)=0</td></tr>
<tr class="memdesc:aa0648db7219413e066d9aa24b932af44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a function type (t1,t2,...,tn) -&gt; typeRan.  <a href="#aa0648db7219413e066d9aa24b932af44"></a><br/></td></tr>
<tr class="separator:aa0648db7219413e066d9aa24b932af44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaef06da81d945fb5fd75cc134f80ca5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aaaef06da81d945fb5fd75cc134f80ca5">createType</a> (const std::string &amp;typeName)=0</td></tr>
<tr class="memdesc:aaaef06da81d945fb5fd75cc134f80ca5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create named user-defined uninterpreted type.  <a href="#aaaef06da81d945fb5fd75cc134f80ca5"></a><br/></td></tr>
<tr class="separator:aaaef06da81d945fb5fd75cc134f80ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35edea60cb51fde8ab8025d7956ecc25"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a35edea60cb51fde8ab8025d7956ecc25">createType</a> (const std::string &amp;typeName, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;def)=0</td></tr>
<tr class="memdesc:a35edea60cb51fde8ab8025d7956ecc25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create named user-defined interpreted type (type abbreviation)  <a href="#a35edea60cb51fde8ab8025d7956ecc25"></a><br/></td></tr>
<tr class="separator:a35edea60cb51fde8ab8025d7956ecc25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee7ad74875ca4ac07a4cdf9e5089584b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aee7ad74875ca4ac07a4cdf9e5089584b">lookupType</a> (const std::string &amp;typeName)=0</td></tr>
<tr class="memdesc:aee7ad74875ca4ac07a4cdf9e5089584b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lookup a user-defined (uninterpreted) type by name. Returns Null if none.  <a href="#aee7ad74875ca4ac07a4cdf9e5089584b"></a><br/></td></tr>
<tr class="separator:aee7ad74875ca4ac07a4cdf9e5089584b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">General Expr methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="section see"><dt>See Also</dt><dd>class <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> </dd>
<dd>
class <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> </dd></dl>
</div></td></tr>
<tr class="memitem:a448e0df25ec6d756861e7d1d217f1063"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a448e0df25ec6d756861e7d1d217f1063">getEM</a> ()=0</td></tr>
<tr class="memdesc:a448e0df25ec6d756861e7d1d217f1063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>.  <a href="#a448e0df25ec6d756861e7d1d217f1063"></a><br/></td></tr>
<tr class="separator:a448e0df25ec6d756861e7d1d217f1063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc02c11317b0f12606e5ec264dd9ca9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4dc02c11317b0f12606e5ec264dd9ca9">varExpr</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type)=0</td></tr>
<tr class="memdesc:a4dc02c11317b0f12606e5ec264dd9ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a variable with a given name and type.  <a href="#a4dc02c11317b0f12606e5ec264dd9ca9"></a><br/></td></tr>
<tr class="separator:a4dc02c11317b0f12606e5ec264dd9ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06148508523578e0dbfa8c8cc6f5fdef"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a06148508523578e0dbfa8c8cc6f5fdef">varExpr</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;def)=0</td></tr>
<tr class="memdesc:a06148508523578e0dbfa8c8cc6f5fdef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a variable with a given name, type, and value.  <a href="#a06148508523578e0dbfa8c8cc6f5fdef"></a><br/></td></tr>
<tr class="separator:a06148508523578e0dbfa8c8cc6f5fdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6f1a71f35354ac7d1e28073e47b889f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ac6f1a71f35354ac7d1e28073e47b889f">lookupVar</a> (const std::string &amp;name, <a class="el" href="classCVC3_1_1Type.html">Type</a> *type)=0</td></tr>
<tr class="memdesc:ac6f1a71f35354ac7d1e28073e47b889f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the variable associated with a name, and its type.  <a href="#ac6f1a71f35354ac7d1e28073e47b889f"></a><br/></td></tr>
<tr class="separator:ac6f1a71f35354ac7d1e28073e47b889f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac400a59525f16fe303e052cbff3d1dae"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ac400a59525f16fe303e052cbff3d1dae">getType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:ac400a59525f16fe303e052cbff3d1dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#ac400a59525f16fe303e052cbff3d1dae"></a><br/></td></tr>
<tr class="separator:ac400a59525f16fe303e052cbff3d1dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8422058e2d91a225252aca7e4234666b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8422058e2d91a225252aca7e4234666b">getBaseType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a8422058e2d91a225252aca7e4234666b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the largest supertype of the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a8422058e2d91a225252aca7e4234666b"></a><br/></td></tr>
<tr class="separator:a8422058e2d91a225252aca7e4234666b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5719a951194add8706db1ae0668f91ab"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a5719a951194add8706db1ae0668f91ab">getBaseType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t)=0</td></tr>
<tr class="memdesc:a5719a951194add8706db1ae0668f91ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the largest supertype of the <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a>.  <a href="#a5719a951194add8706db1ae0668f91ab"></a><br/></td></tr>
<tr class="separator:a5719a951194add8706db1ae0668f91ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add33b9e05f224922b1a2e4563af8d115"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#add33b9e05f224922b1a2e4563af8d115">getTypePred</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:add33b9e05f224922b1a2e4563af8d115"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the subtype predicate.  <a href="#add33b9e05f224922b1a2e4563af8d115"></a><br/></td></tr>
<tr class="separator:add33b9e05f224922b1a2e4563af8d115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40a03e7a5bc4b308ec2ca52b17845b0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad40a03e7a5bc4b308ec2ca52b17845b0">stringExpr</a> (const std::string &amp;str)=0</td></tr>
<tr class="memdesc:ad40a03e7a5bc4b308ec2ca52b17845b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#ad40a03e7a5bc4b308ec2ca52b17845b0"></a><br/></td></tr>
<tr class="separator:ad40a03e7a5bc4b308ec2ca52b17845b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f312184c35aef5dd85e0c6c190380a1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6f312184c35aef5dd85e0c6c190380a1">idExpr</a> (const std::string &amp;name)=0</td></tr>
<tr class="memdesc:a6f312184c35aef5dd85e0c6c190380a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an ID <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a6f312184c35aef5dd85e0c6c190380a1"></a><br/></td></tr>
<tr class="separator:a6f312184c35aef5dd85e0c6c190380a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e157d46874e099d9330437aa0c72921"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9e157d46874e099d9330437aa0c72921">listExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:a9e157d46874e099d9330437aa0c72921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a list <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a9e157d46874e099d9330437aa0c72921"></a><br/></td></tr>
<tr class="separator:a9e157d46874e099d9330437aa0c72921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b6549c4b8c5b0359a178a702092ca1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a69b6549c4b8c5b0359a178a702092ca1">listExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1)=0</td></tr>
<tr class="memdesc:a69b6549c4b8c5b0359a178a702092ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with one argument.  <a href="#a69b6549c4b8c5b0359a178a702092ca1"></a><br/></td></tr>
<tr class="separator:a69b6549c4b8c5b0359a178a702092ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1c99ce1610410633f64f15b072cbac"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a0a1c99ce1610410633f64f15b072cbac">listExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)=0</td></tr>
<tr class="memdesc:a0a1c99ce1610410633f64f15b072cbac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with two arguments.  <a href="#a0a1c99ce1610410633f64f15b072cbac"></a><br/></td></tr>
<tr class="separator:a0a1c99ce1610410633f64f15b072cbac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33bcc63389cbaa2b4ed57dc27ced550c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a33bcc63389cbaa2b4ed57dc27ced550c">listExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e3)=0</td></tr>
<tr class="memdesc:a33bcc63389cbaa2b4ed57dc27ced550c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with three arguments.  <a href="#a33bcc63389cbaa2b4ed57dc27ced550c"></a><br/></td></tr>
<tr class="separator:a33bcc63389cbaa2b4ed57dc27ced550c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa1477d189f7a4d371db6c64e34425fe"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aaa1477d189f7a4d371db6c64e34425fe">listExpr</a> (const std::string &amp;op, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:aaa1477d189f7a4d371db6c64e34425fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with string operator and many arguments.  <a href="#aaa1477d189f7a4d371db6c64e34425fe"></a><br/></td></tr>
<tr class="separator:aaa1477d189f7a4d371db6c64e34425fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91ba6ab255bd8c21b213d86c8c278cff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a91ba6ab255bd8c21b213d86c8c278cff">listExpr</a> (const std::string &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1)=0</td></tr>
<tr class="memdesc:a91ba6ab255bd8c21b213d86c8c278cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with string operator and one argument.  <a href="#a91ba6ab255bd8c21b213d86c8c278cff"></a><br/></td></tr>
<tr class="separator:a91ba6ab255bd8c21b213d86c8c278cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5539561d6b46cb09e28d9fb9f5625378"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a5539561d6b46cb09e28d9fb9f5625378">listExpr</a> (const std::string &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2)=0</td></tr>
<tr class="memdesc:a5539561d6b46cb09e28d9fb9f5625378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with string operator and two arguments.  <a href="#a5539561d6b46cb09e28d9fb9f5625378"></a><br/></td></tr>
<tr class="separator:a5539561d6b46cb09e28d9fb9f5625378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bf6c06961a950b75896d5541a29a5e0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8bf6c06961a950b75896d5541a29a5e0">listExpr</a> (const std::string &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e3)=0</td></tr>
<tr class="memdesc:a8bf6c06961a950b75896d5541a29a5e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloaded version of listExpr with string operator and three arguments.  <a href="#a8bf6c06961a950b75896d5541a29a5e0"></a><br/></td></tr>
<tr class="separator:a8bf6c06961a950b75896d5541a29a5e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f6909a3f7da22df2bf97b21319883eb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6f6909a3f7da22df2bf97b21319883eb">printExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a6f6909a3f7da22df2bf97b21319883eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints e to the standard output.  <a href="#a6f6909a3f7da22df2bf97b21319883eb"></a><br/></td></tr>
<tr class="separator:a6f6909a3f7da22df2bf97b21319883eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2101d9c595f2d31f44ee5d5c1d8dc877"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2101d9c595f2d31f44ee5d5c1d8dc877">printExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, std::ostream &amp;os)=0</td></tr>
<tr class="memdesc:a2101d9c595f2d31f44ee5d5c1d8dc877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints e to the given ostream.  <a href="#a2101d9c595f2d31f44ee5d5c1d8dc877"></a><br/></td></tr>
<tr class="separator:a2101d9c595f2d31f44ee5d5c1d8dc877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1f1ac87cd8a210686d04eb82a6133c5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad1f1ac87cd8a210686d04eb82a6133c5">parseExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:ad1f1ac87cd8a210686d04eb82a6133c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse an expression using a Theory-specific parser.  <a href="#ad1f1ac87cd8a210686d04eb82a6133c5"></a><br/></td></tr>
<tr class="separator:ad1f1ac87cd8a210686d04eb82a6133c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa20afe1496d2987a83ada2292c175af4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa20afe1496d2987a83ada2292c175af4">parseType</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:aa20afe1496d2987a83ada2292c175af4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a type expression using a Theory-specific parser.  <a href="#aa20afe1496d2987a83ada2292c175af4"></a><br/></td></tr>
<tr class="separator:aa20afe1496d2987a83ada2292c175af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1ca7951861c04f7b639732b933d1861"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab1ca7951861c04f7b639732b933d1861">importExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:ab1ca7951861c04f7b639732b933d1861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> from another instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>.  <a href="#ab1ca7951861c04f7b639732b933d1861"></a><br/></td></tr>
<tr class="separator:ab1ca7951861c04f7b639732b933d1861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a280e966c77bb0ea5dc6848b1174c46b1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a280e966c77bb0ea5dc6848b1174c46b1">importType</a> (const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;t)=0</td></tr>
<tr class="memdesc:a280e966c77bb0ea5dc6848b1174c46b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import the <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> from another instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>.  <a href="#a280e966c77bb0ea5dc6848b1174c46b1"></a><br/></td></tr>
<tr class="separator:a280e966c77bb0ea5dc6848b1174c46b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62a2ba9f59ad2cad1ff64a60d4f8b0db"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a62a2ba9f59ad2cad1ff64a60d4f8b0db">cmdsFromString</a> (const std::string &amp;s, <a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a> lang=<a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a>)=0</td></tr>
<tr class="memdesc:a62a2ba9f59ad2cad1ff64a60d4f8b0db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a sequence of commands from a presentation language string.  <a href="#a62a2ba9f59ad2cad1ff64a60d4f8b0db"></a><br/></td></tr>
<tr class="separator:a62a2ba9f59ad2cad1ff64a60d4f8b0db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6916c7ceb64dca00922dfccd5882aa6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae6916c7ceb64dca00922dfccd5882aa6">exprFromString</a> (const std::string &amp;e)=0</td></tr>
<tr class="memdesc:ae6916c7ceb64dca00922dfccd5882aa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse an expression from a presentation language string.  <a href="#ae6916c7ceb64dca00922dfccd5882aa6"></a><br/></td></tr>
<tr class="separator:ae6916c7ceb64dca00922dfccd5882aa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Core expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating core expressions</p>
<p>Except for equality and ite, the children provided as arguments must be of type Boolean. </p>
</div></td></tr>
<tr class="memitem:a4e9d64bd0f01ce88b9e8494861ab527d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4e9d64bd0f01ce88b9e8494861ab527d">trueExpr</a> ()=0</td></tr>
<tr class="memdesc:a4e9d64bd0f01ce88b9e8494861ab527d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a4e9d64bd0f01ce88b9e8494861ab527d"></a><br/></td></tr>
<tr class="separator:a4e9d64bd0f01ce88b9e8494861ab527d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9050dd9dbfb463a488d6f9fe98ef968a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9050dd9dbfb463a488d6f9fe98ef968a">falseExpr</a> ()=0</td></tr>
<tr class="memdesc:a9050dd9dbfb463a488d6f9fe98ef968a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return FALSE <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a9050dd9dbfb463a488d6f9fe98ef968a"></a><br/></td></tr>
<tr class="separator:a9050dd9dbfb463a488d6f9fe98ef968a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4ac83f5387e0d4033844fb0755cd2d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a0f4ac83f5387e0d4033844fb0755cd2d">notExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child)=0</td></tr>
<tr class="memdesc:a0f4ac83f5387e0d4033844fb0755cd2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create negation.  <a href="#a0f4ac83f5387e0d4033844fb0755cd2d"></a><br/></td></tr>
<tr class="separator:a0f4ac83f5387e0d4033844fb0755cd2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8222f001fe69abe9c4a856e2e9a935a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af8222f001fe69abe9c4a856e2e9a935a">andExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:af8222f001fe69abe9c4a856e2e9a935a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create 2-element conjunction.  <a href="#af8222f001fe69abe9c4a856e2e9a935a"></a><br/></td></tr>
<tr class="separator:af8222f001fe69abe9c4a856e2e9a935a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a782499c21bc5c36f7de7e9cc8a1a2997"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a782499c21bc5c36f7de7e9cc8a1a2997">andExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;children)=0</td></tr>
<tr class="memdesc:a782499c21bc5c36f7de7e9cc8a1a2997"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create n-element conjunction.  <a href="#a782499c21bc5c36f7de7e9cc8a1a2997"></a><br/></td></tr>
<tr class="separator:a782499c21bc5c36f7de7e9cc8a1a2997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57b5029fb74ce92d7978bf3d6b2d03a2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a57b5029fb74ce92d7978bf3d6b2d03a2">orExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a57b5029fb74ce92d7978bf3d6b2d03a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create 2-element disjunction.  <a href="#a57b5029fb74ce92d7978bf3d6b2d03a2"></a><br/></td></tr>
<tr class="separator:a57b5029fb74ce92d7978bf3d6b2d03a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e51a14fdad8ad5d8f846f0a824ca5a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a58e51a14fdad8ad5d8f846f0a824ca5a">orExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;children)=0</td></tr>
<tr class="memdesc:a58e51a14fdad8ad5d8f846f0a824ca5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create n-element disjunction.  <a href="#a58e51a14fdad8ad5d8f846f0a824ca5a"></a><br/></td></tr>
<tr class="separator:a58e51a14fdad8ad5d8f846f0a824ca5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4b31fcadd98a16e3f63e2daec6a6799"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab4b31fcadd98a16e3f63e2daec6a6799">impliesExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;hyp, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;conc)=0</td></tr>
<tr class="memdesc:ab4b31fcadd98a16e3f63e2daec6a6799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create Boolean implication.  <a href="#ab4b31fcadd98a16e3f63e2daec6a6799"></a><br/></td></tr>
<tr class="separator:ab4b31fcadd98a16e3f63e2daec6a6799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a511f5b02036944b06b3d93b1f65f489f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a511f5b02036944b06b3d93b1f65f489f">iffExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a511f5b02036944b06b3d93b1f65f489f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create left IFF right (boolean equivalence)  <a href="#a511f5b02036944b06b3d93b1f65f489f"></a><br/></td></tr>
<tr class="separator:a511f5b02036944b06b3d93b1f65f489f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f38181a6d1dcb0540301e68f444f45a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9f38181a6d1dcb0540301e68f444f45a">eqExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child0, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child1)=0</td></tr>
<tr class="memdesc:a9f38181a6d1dcb0540301e68f444f45a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an equality expression.  <a href="#a9f38181a6d1dcb0540301e68f444f45a"></a><br/></td></tr>
<tr class="separator:a9f38181a6d1dcb0540301e68f444f45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786cae5bef71cdbe8cab9f773a35f4a7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a786cae5bef71cdbe8cab9f773a35f4a7">iteExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;ifpart, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;thenpart, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;elsepart)=0</td></tr>
<tr class="memdesc:a786cae5bef71cdbe8cab9f773a35f4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create IF ifpart THEN thenpart ELSE elsepart ENDIF.  <a href="#a786cae5bef71cdbe8cab9f773a35f4a7"></a><br/></td></tr>
<tr class="separator:a786cae5bef71cdbe8cab9f773a35f4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e95d316f668b4c7c4e12f5cb4fcbef"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a87e95d316f668b4c7c4e12f5cb4fcbef">distinctExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;children)=0</td></tr>
<tr class="separator:a87e95d316f668b4c7c4e12f5cb4fcbef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">User-defined (uninterpreted) function methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating uninterpreted function expressions </p>
</div></td></tr>
<tr class="memitem:af4c4ae47ec16622d9e2a9d9df8142b4f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af4c4ae47ec16622d9e2a9d9df8142b4f">createOp</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type)=0</td></tr>
<tr class="memdesc:af4c4ae47ec16622d9e2a9d9df8142b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a named uninterpreted function with a given type.  <a href="#af4c4ae47ec16622d9e2a9d9df8142b4f"></a><br/></td></tr>
<tr class="separator:af4c4ae47ec16622d9e2a9d9df8142b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abde9fa1109c88f65e2034ec6d1a30d46"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#abde9fa1109c88f65e2034ec6d1a30d46">createOp</a> (const std::string &amp;name, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;def)=0</td></tr>
<tr class="memdesc:abde9fa1109c88f65e2034ec6d1a30d46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a named user-defined function with a given type.  <a href="#abde9fa1109c88f65e2034ec6d1a30d46"></a><br/></td></tr>
<tr class="separator:abde9fa1109c88f65e2034ec6d1a30d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96eb85aad0bdafe47b24f3d8666851b8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a96eb85aad0bdafe47b24f3d8666851b8">lookupOp</a> (const std::string &amp;name, <a class="el" href="classCVC3_1_1Type.html">Type</a> *type)=0</td></tr>
<tr class="memdesc:a96eb85aad0bdafe47b24f3d8666851b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classCVC3_1_1Op.html">Op</a> associated with a name, and its type.  <a href="#a96eb85aad0bdafe47b24f3d8666851b8"></a><br/></td></tr>
<tr class="separator:a96eb85aad0bdafe47b24f3d8666851b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c19fd5e1a8e43a8883eca58ad797ed5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a5c19fd5e1a8e43a8883eca58ad797ed5">funExpr</a> (const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child)=0</td></tr>
<tr class="memdesc:a5c19fd5e1a8e43a8883eca58ad797ed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unary function application (op must be of function type)  <a href="#a5c19fd5e1a8e43a8883eca58ad797ed5"></a><br/></td></tr>
<tr class="separator:a5c19fd5e1a8e43a8883eca58ad797ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8673ac26f4037bee851cf5f656961c4b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8673ac26f4037bee851cf5f656961c4b">funExpr</a> (const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a8673ac26f4037bee851cf5f656961c4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary function application (op must be of function type)  <a href="#a8673ac26f4037bee851cf5f656961c4b"></a><br/></td></tr>
<tr class="separator:a8673ac26f4037bee851cf5f656961c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37857ca31df69f5feda44ab7d83b9744"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a37857ca31df69f5feda44ab7d83b9744">funExpr</a> (const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;op, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child0, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child2)=0</td></tr>
<tr class="memdesc:a37857ca31df69f5feda44ab7d83b9744"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ternary function application (op must be of function type)  <a href="#a37857ca31df69f5feda44ab7d83b9744"></a><br/></td></tr>
<tr class="separator:a37857ca31df69f5feda44ab7d83b9744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65af33c8863feca3060c1a81b0e3529"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af65af33c8863feca3060c1a81b0e3529">funExpr</a> (const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;op, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;children)=0</td></tr>
<tr class="memdesc:af65af33c8863feca3060c1a81b0e3529"><td class="mdescLeft">&#160;</td><td class="mdescRight">n-ary function application (op must be of function type)  <a href="#af65af33c8863feca3060c1a81b0e3529"></a><br/></td></tr>
<tr class="separator:af65af33c8863feca3060c1a81b0e3529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arithmetic expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating arithmetic expressions</p>
<p>These functions create arithmetic expressions. The children provided as arguments must be of type Real. </p>
</div></td></tr>
<tr class="memitem:a56eb352f856ddbad57c5d59386c6b707"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a56eb352f856ddbad57c5d59386c6b707">addPairToArithOrder</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;smaller, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;bigger)=0</td></tr>
<tr class="separator:a56eb352f856ddbad57c5d59386c6b707"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec8119cdf4ae54522453bcc7bd38ee7c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aec8119cdf4ae54522453bcc7bd38ee7c">ratExpr</a> (int n, int d=1)=0</td></tr>
<tr class="memdesc:aec8119cdf4ae54522453bcc7bd38ee7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a rational number with numerator n and denominator d.  <a href="#aec8119cdf4ae54522453bcc7bd38ee7c"></a><br/></td></tr>
<tr class="separator:aec8119cdf4ae54522453bcc7bd38ee7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a851711fb4ec7ad24d15cc19eb95269ff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a851711fb4ec7ad24d15cc19eb95269ff">ratExpr</a> (const std::string &amp;n, const std::string &amp;d, int base)=0</td></tr>
<tr class="memdesc:a851711fb4ec7ad24d15cc19eb95269ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a rational number with numerator n and denominator d.  <a href="#a851711fb4ec7ad24d15cc19eb95269ff"></a><br/></td></tr>
<tr class="separator:a851711fb4ec7ad24d15cc19eb95269ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abce3bbb3799ea401847be8855c8312b4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#abce3bbb3799ea401847be8855c8312b4">ratExpr</a> (const std::string &amp;n, int base=10)=0</td></tr>
<tr class="memdesc:abce3bbb3799ea401847be8855c8312b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a rational from a single string.  <a href="#abce3bbb3799ea401847be8855c8312b4"></a><br/></td></tr>
<tr class="separator:abce3bbb3799ea401847be8855c8312b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12f382fd07555fd752a1fdd73c229024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a12f382fd07555fd752a1fdd73c229024">uminusExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;child)=0</td></tr>
<tr class="memdesc:a12f382fd07555fd752a1fdd73c229024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unary minus.  <a href="#a12f382fd07555fd752a1fdd73c229024"></a><br/></td></tr>
<tr class="separator:a12f382fd07555fd752a1fdd73c229024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6046359a3839172691301d9757a3eeb1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6046359a3839172691301d9757a3eeb1">plusExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a6046359a3839172691301d9757a3eeb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create 2-element sum (left + right)  <a href="#a6046359a3839172691301d9757a3eeb1"></a><br/></td></tr>
<tr class="separator:a6046359a3839172691301d9757a3eeb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b17a5ea1b6f80692257f44096c2ab00"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2b17a5ea1b6f80692257f44096c2ab00">plusExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;children)=0</td></tr>
<tr class="memdesc:a2b17a5ea1b6f80692257f44096c2ab00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create n-element sum.  <a href="#a2b17a5ea1b6f80692257f44096c2ab00"></a><br/></td></tr>
<tr class="separator:a2b17a5ea1b6f80692257f44096c2ab00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a980a35d1a660890e16a66a7c1bfd6ba0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a980a35d1a660890e16a66a7c1bfd6ba0">minusExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a980a35d1a660890e16a66a7c1bfd6ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a difference (left - right)  <a href="#a980a35d1a660890e16a66a7c1bfd6ba0"></a><br/></td></tr>
<tr class="separator:a980a35d1a660890e16a66a7c1bfd6ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b58d4021a8e31263908cd5bee33e32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab1b58d4021a8e31263908cd5bee33e32">multExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:ab1b58d4021a8e31263908cd5bee33e32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a product (left * right)  <a href="#ab1b58d4021a8e31263908cd5bee33e32"></a><br/></td></tr>
<tr class="separator:ab1b58d4021a8e31263908cd5bee33e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24381e7d9d7f45f7ef13c149d8b153cb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a24381e7d9d7f45f7ef13c149d8b153cb">powExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;x, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;n)=0</td></tr>
<tr class="memdesc:a24381e7d9d7f45f7ef13c149d8b153cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a power expression (x ^ n); n must be integer.  <a href="#a24381e7d9d7f45f7ef13c149d8b153cb"></a><br/></td></tr>
<tr class="separator:a24381e7d9d7f45f7ef13c149d8b153cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af61a10ae50d4d513c09f76dddd11223e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af61a10ae50d4d513c09f76dddd11223e">divideExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;numerator, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;denominator)=0</td></tr>
<tr class="memdesc:af61a10ae50d4d513c09f76dddd11223e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create expression x / y.  <a href="#af61a10ae50d4d513c09f76dddd11223e"></a><br/></td></tr>
<tr class="separator:af61a10ae50d4d513c09f76dddd11223e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cef5cc2b578e99e8939ad76711e495c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7cef5cc2b578e99e8939ad76711e495c">ltExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a7cef5cc2b578e99e8939ad76711e495c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (left &lt; right)  <a href="#a7cef5cc2b578e99e8939ad76711e495c"></a><br/></td></tr>
<tr class="separator:a7cef5cc2b578e99e8939ad76711e495c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dc437cff8d309fa99cbd90b3ad55341"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9dc437cff8d309fa99cbd90b3ad55341">leExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a9dc437cff8d309fa99cbd90b3ad55341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (left &lt;= right)  <a href="#a9dc437cff8d309fa99cbd90b3ad55341"></a><br/></td></tr>
<tr class="separator:a9dc437cff8d309fa99cbd90b3ad55341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51bb953c045384b30acbca69eca53b2f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a51bb953c045384b30acbca69eca53b2f">gtExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a51bb953c045384b30acbca69eca53b2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (left &gt; right)  <a href="#a51bb953c045384b30acbca69eca53b2f"></a><br/></td></tr>
<tr class="separator:a51bb953c045384b30acbca69eca53b2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b157ad937af0cac261946a38ea332d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a74b157ad937af0cac261946a38ea332d">geExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;left, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;right)=0</td></tr>
<tr class="memdesc:a74b157ad937af0cac261946a38ea332d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create (left &gt;= right)  <a href="#a74b157ad937af0cac261946a38ea332d"></a><br/></td></tr>
<tr class="separator:a74b157ad937af0cac261946a38ea332d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Record expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating record expressions </p>
</div></td></tr>
<tr class="memitem:ad855a87b02f19efb297d45778a7ca52f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad855a87b02f19efb297d45778a7ca52f">recordExpr</a> (const std::string &amp;field, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr)=0</td></tr>
<tr class="memdesc:ad855a87b02f19efb297d45778a7ca52f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a 1-element record value (# field := expr #)  <a href="#ad855a87b02f19efb297d45778a7ca52f"></a><br/></td></tr>
<tr class="separator:ad855a87b02f19efb297d45778a7ca52f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a486502a65e20eb2a842023fc13afbd0a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a486502a65e20eb2a842023fc13afbd0a">recordExpr</a> (const std::string &amp;field0, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr0, const std::string &amp;field1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr1)=0</td></tr>
<tr class="memdesc:a486502a65e20eb2a842023fc13afbd0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a 2-element record value (# field0 := expr0, field1 := expr1 #)  <a href="#a486502a65e20eb2a842023fc13afbd0a"></a><br/></td></tr>
<tr class="separator:a486502a65e20eb2a842023fc13afbd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f76dcae4a0b14df794453aade69e6d0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4f76dcae4a0b14df794453aade69e6d0">recordExpr</a> (const std::string &amp;field0, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr0, const std::string &amp;field1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr1, const std::string &amp;field2, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;expr2)=0</td></tr>
<tr class="memdesc:a4f76dcae4a0b14df794453aade69e6d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a 3-element record value (# field_i := expr_i #)  <a href="#a4f76dcae4a0b14df794453aade69e6d0"></a><br/></td></tr>
<tr class="separator:a4f76dcae4a0b14df794453aade69e6d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a762d5440e18fad5794d0969de0400edd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a762d5440e18fad5794d0969de0400edd">recordExpr</a> (const std::vector&lt; std::string &gt; &amp;fields, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;exprs)=0</td></tr>
<tr class="memdesc:a762d5440e18fad5794d0969de0400edd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an n-element record value (# field_i := expr_i #)  <a href="#a762d5440e18fad5794d0969de0400edd"></a><br/></td></tr>
<tr class="separator:a762d5440e18fad5794d0969de0400edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9fea52582c06a904679b4a844299313"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae9fea52582c06a904679b4a844299313">recSelectExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;record, const std::string &amp;field)=0</td></tr>
<tr class="memdesc:ae9fea52582c06a904679b4a844299313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create record.field (field selection)  <a href="#ae9fea52582c06a904679b4a844299313"></a><br/></td></tr>
<tr class="separator:ae9fea52582c06a904679b4a844299313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a3ff4cc5a24717e6ab7f17ca9ea19c3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a0a3ff4cc5a24717e6ab7f17ca9ea19c3">recUpdateExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;record, const std::string &amp;field, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;newValue)=0</td></tr>
<tr class="memdesc:a0a3ff4cc5a24717e6ab7f17ca9ea19c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Record update; equivalent to "record WITH .field := newValue".  <a href="#a0a3ff4cc5a24717e6ab7f17ca9ea19c3"></a><br/></td></tr>
<tr class="separator:a0a3ff4cc5a24717e6ab7f17ca9ea19c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Array expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating array expressions </p>
</div></td></tr>
<tr class="memitem:aa57f5268209bff87129ef39c711be6a4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa57f5268209bff87129ef39c711be6a4">readExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;array, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;index)=0</td></tr>
<tr class="memdesc:aa57f5268209bff87129ef39c711be6a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an expression array[index] (array access)  <a href="#aa57f5268209bff87129ef39c711be6a4"></a><br/></td></tr>
<tr class="separator:aa57f5268209bff87129ef39c711be6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82d1cd4a539ba065a4d2aa7967af5000"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a82d1cd4a539ba065a4d2aa7967af5000">writeExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;array, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;index, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;newValue)=0</td></tr>
<tr class="memdesc:a82d1cd4a539ba065a4d2aa7967af5000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array update; equivalent to "array WITH index := newValue".  <a href="#a82d1cd4a539ba065a4d2aa7967af5000"></a><br/></td></tr>
<tr class="separator:a82d1cd4a539ba065a4d2aa7967af5000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Bitvector expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating bitvector expressions </p>
</div></td></tr>
<tr class="memitem:a8d7cfd2bc38e6608e8fabccf396182f6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8d7cfd2bc38e6608e8fabccf396182f6">newBVConstExpr</a> (const std::string &amp;s, int base=2)=0</td></tr>
<tr class="memdesc:a8d7cfd2bc38e6608e8fabccf396182f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a8d7cfd2bc38e6608e8fabccf396182f6"></a><br/></td></tr>
<tr class="separator:a8d7cfd2bc38e6608e8fabccf396182f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28499d277d7ca254bb6f27231e5ea7ad"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a28499d277d7ca254bb6f27231e5ea7ad">newBVConstExpr</a> (const std::vector&lt; bool &gt; &amp;bits)=0</td></tr>
<tr class="memdesc:a28499d277d7ca254bb6f27231e5ea7ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a28499d277d7ca254bb6f27231e5ea7ad"></a><br/></td></tr>
<tr class="separator:a28499d277d7ca254bb6f27231e5ea7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55feceb97242f35f5e6e0beba486a9e2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a55feceb97242f35f5e6e0beba486a9e2">newBVConstExpr</a> (const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;r, int len=0)=0</td></tr>
<tr class="memdesc:a55feceb97242f35f5e6e0beba486a9e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a55feceb97242f35f5e6e0beba486a9e2"></a><br/></td></tr>
<tr class="separator:a55feceb97242f35f5e6e0beba486a9e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194e5e6621de9203ff1b184a22c32b48"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a194e5e6621de9203ff1b184a22c32b48">newConcatExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a194e5e6621de9203ff1b184a22c32b48"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a194e5e6621de9203ff1b184a22c32b48"></a><br/></td></tr>
<tr class="separator:a194e5e6621de9203ff1b184a22c32b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0881961c56ba9e1cd5b4032eb0646aa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af0881961c56ba9e1cd5b4032eb0646aa">newConcatExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:af0881961c56ba9e1cd5b4032eb0646aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#af0881961c56ba9e1cd5b4032eb0646aa"></a><br/></td></tr>
<tr class="separator:af0881961c56ba9e1cd5b4032eb0646aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a551eb1485d629c284e29cb8eeb776ed8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a551eb1485d629c284e29cb8eeb776ed8">newBVExtractExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, int hi, int low)=0</td></tr>
<tr class="memdesc:a551eb1485d629c284e29cb8eeb776ed8"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a551eb1485d629c284e29cb8eeb776ed8"></a><br/></td></tr>
<tr class="separator:a551eb1485d629c284e29cb8eeb776ed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57809ddb17768c8fd447627f9b6b90a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad57809ddb17768c8fd447627f9b6b90a">newBVNegExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1)=0</td></tr>
<tr class="memdesc:ad57809ddb17768c8fd447627f9b6b90a"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ad57809ddb17768c8fd447627f9b6b90a"></a><br/></td></tr>
<tr class="separator:ad57809ddb17768c8fd447627f9b6b90a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e50b3d60b806d79d5d97af6eba19728"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7e50b3d60b806d79d5d97af6eba19728">newBVAndExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a7e50b3d60b806d79d5d97af6eba19728"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a7e50b3d60b806d79d5d97af6eba19728"></a><br/></td></tr>
<tr class="separator:a7e50b3d60b806d79d5d97af6eba19728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa296310ead028a1818684badd1b626a3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa296310ead028a1818684badd1b626a3">newBVAndExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:aa296310ead028a1818684badd1b626a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#aa296310ead028a1818684badd1b626a3"></a><br/></td></tr>
<tr class="separator:aa296310ead028a1818684badd1b626a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98141c19a7abc59774f527b4f98bc1aa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a98141c19a7abc59774f527b4f98bc1aa">newBVOrExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a98141c19a7abc59774f527b4f98bc1aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a98141c19a7abc59774f527b4f98bc1aa"></a><br/></td></tr>
<tr class="separator:a98141c19a7abc59774f527b4f98bc1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0613b10344029d78ce4159850c0cc49"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab0613b10344029d78ce4159850c0cc49">newBVOrExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:ab0613b10344029d78ce4159850c0cc49"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ab0613b10344029d78ce4159850c0cc49"></a><br/></td></tr>
<tr class="separator:ab0613b10344029d78ce4159850c0cc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1a6e8a5e57111a42db87e9d11e6b150"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae1a6e8a5e57111a42db87e9d11e6b150">newBVXorExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ae1a6e8a5e57111a42db87e9d11e6b150"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ae1a6e8a5e57111a42db87e9d11e6b150"></a><br/></td></tr>
<tr class="separator:ae1a6e8a5e57111a42db87e9d11e6b150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a8fde34d2c8665b61b5148de63351b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae9a8fde34d2c8665b61b5148de63351b">newBVXorExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:ae9a8fde34d2c8665b61b5148de63351b"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ae9a8fde34d2c8665b61b5148de63351b"></a><br/></td></tr>
<tr class="separator:ae9a8fde34d2c8665b61b5148de63351b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae3ef20079db52d6c84de84364eb8af"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4ae3ef20079db52d6c84de84364eb8af">newBVXnorExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a4ae3ef20079db52d6c84de84364eb8af"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a4ae3ef20079db52d6c84de84364eb8af"></a><br/></td></tr>
<tr class="separator:a4ae3ef20079db52d6c84de84364eb8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3777362ed37835d5e1b2868cf2f57d73"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3777362ed37835d5e1b2868cf2f57d73">newBVXnorExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)=0</td></tr>
<tr class="memdesc:a3777362ed37835d5e1b2868cf2f57d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a3777362ed37835d5e1b2868cf2f57d73"></a><br/></td></tr>
<tr class="separator:a3777362ed37835d5e1b2868cf2f57d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc90e5d6df401f5649b861e46c952dfb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#afc90e5d6df401f5649b861e46c952dfb">newBVNandExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:afc90e5d6df401f5649b861e46c952dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#afc90e5d6df401f5649b861e46c952dfb"></a><br/></td></tr>
<tr class="separator:afc90e5d6df401f5649b861e46c952dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af28f37f86585ba30ba867e88355cf422"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#af28f37f86585ba30ba867e88355cf422">newBVNorExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:af28f37f86585ba30ba867e88355cf422"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#af28f37f86585ba30ba867e88355cf422"></a><br/></td></tr>
<tr class="separator:af28f37f86585ba30ba867e88355cf422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47dc2aa5cb69948ca184b76d0b8bac3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad47dc2aa5cb69948ca184b76d0b8bac3">newBVCompExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ad47dc2aa5cb69948ca184b76d0b8bac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ad47dc2aa5cb69948ca184b76d0b8bac3"></a><br/></td></tr>
<tr class="separator:ad47dc2aa5cb69948ca184b76d0b8bac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a198d8a4d7933db5372b99671e0b27771"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a198d8a4d7933db5372b99671e0b27771">newBVLTExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a198d8a4d7933db5372b99671e0b27771"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a198d8a4d7933db5372b99671e0b27771"></a><br/></td></tr>
<tr class="separator:a198d8a4d7933db5372b99671e0b27771"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1ea9da1883a75470f13bfca8f2614df"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae1ea9da1883a75470f13bfca8f2614df">newBVLEExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ae1ea9da1883a75470f13bfca8f2614df"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ae1ea9da1883a75470f13bfca8f2614df"></a><br/></td></tr>
<tr class="separator:ae1ea9da1883a75470f13bfca8f2614df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e842ef10b0d0cfa3f754f1f341db8a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a61e842ef10b0d0cfa3f754f1f341db8a">newBVSLTExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a61e842ef10b0d0cfa3f754f1f341db8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a61e842ef10b0d0cfa3f754f1f341db8a"></a><br/></td></tr>
<tr class="separator:a61e842ef10b0d0cfa3f754f1f341db8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc2e768b37eda39b33ace039431b2aff"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#acc2e768b37eda39b33ace039431b2aff">newBVSLEExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:acc2e768b37eda39b33ace039431b2aff"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#acc2e768b37eda39b33ace039431b2aff"></a><br/></td></tr>
<tr class="separator:acc2e768b37eda39b33ace039431b2aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37a4a71934720db828f801c44da32240"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a37a4a71934720db828f801c44da32240">newSXExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, int len)=0</td></tr>
<tr class="memdesc:a37a4a71934720db828f801c44da32240"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a37a4a71934720db828f801c44da32240"></a><br/></td></tr>
<tr class="separator:a37a4a71934720db828f801c44da32240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1153da8c9d561e38913edff9aa36c226"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a1153da8c9d561e38913edff9aa36c226">newBVUminusExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1)=0</td></tr>
<tr class="memdesc:a1153da8c9d561e38913edff9aa36c226"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a1153da8c9d561e38913edff9aa36c226"></a><br/></td></tr>
<tr class="separator:a1153da8c9d561e38913edff9aa36c226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd84a40922bde06c6cb06128e89f5536"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#abd84a40922bde06c6cb06128e89f5536">newBVSubExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:abd84a40922bde06c6cb06128e89f5536"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#abd84a40922bde06c6cb06128e89f5536"></a><br/></td></tr>
<tr class="separator:abd84a40922bde06c6cb06128e89f5536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c5240a0e31c7a7e2347bdf17520526"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a23c5240a0e31c7a7e2347bdf17520526">newBVPlusExpr</a> (int numbits, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;k)=0</td></tr>
<tr class="memdesc:a23c5240a0e31c7a7e2347bdf17520526"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a23c5240a0e31c7a7e2347bdf17520526"></a><br/></td></tr>
<tr class="separator:a23c5240a0e31c7a7e2347bdf17520526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ffaf04bb5e8b0cdabcb332714b954ed"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6ffaf04bb5e8b0cdabcb332714b954ed">newBVPlusExpr</a> (int numbits, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a6ffaf04bb5e8b0cdabcb332714b954ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a6ffaf04bb5e8b0cdabcb332714b954ed"></a><br/></td></tr>
<tr class="separator:a6ffaf04bb5e8b0cdabcb332714b954ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d2751f32319f1758e53d41d14b2d469"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7d2751f32319f1758e53d41d14b2d469">newBVMultExpr</a> (int numbits, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a7d2751f32319f1758e53d41d14b2d469"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a7d2751f32319f1758e53d41d14b2d469"></a><br/></td></tr>
<tr class="separator:a7d2751f32319f1758e53d41d14b2d469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad10093c8e25797c4ae394d8b592b9b0f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad10093c8e25797c4ae394d8b592b9b0f">newBVUDivExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ad10093c8e25797c4ae394d8b592b9b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ad10093c8e25797c4ae394d8b592b9b0f"></a><br/></td></tr>
<tr class="separator:ad10093c8e25797c4ae394d8b592b9b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a5823232eb256efcb711b94900be93a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8a5823232eb256efcb711b94900be93a">newBVURemExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a8a5823232eb256efcb711b94900be93a"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a8a5823232eb256efcb711b94900be93a"></a><br/></td></tr>
<tr class="separator:a8a5823232eb256efcb711b94900be93a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac141bc76b56a69a7f42d8a9185b76282"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ac141bc76b56a69a7f42d8a9185b76282">newBVSDivExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ac141bc76b56a69a7f42d8a9185b76282"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ac141bc76b56a69a7f42d8a9185b76282"></a><br/></td></tr>
<tr class="separator:ac141bc76b56a69a7f42d8a9185b76282"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada8d6b6601f3483501b2991d0fb5ba05"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ada8d6b6601f3483501b2991d0fb5ba05">newBVSRemExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ada8d6b6601f3483501b2991d0fb5ba05"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ada8d6b6601f3483501b2991d0fb5ba05"></a><br/></td></tr>
<tr class="separator:ada8d6b6601f3483501b2991d0fb5ba05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae931f1eb92ae772d08cd0dd92c9028"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2ae931f1eb92ae772d08cd0dd92c9028">newBVSModExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a2ae931f1eb92ae772d08cd0dd92c9028"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a2ae931f1eb92ae772d08cd0dd92c9028"></a><br/></td></tr>
<tr class="separator:a2ae931f1eb92ae772d08cd0dd92c9028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbe544873a0659f8a864d9ce3f463a50"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#acbe544873a0659f8a864d9ce3f463a50">newFixedLeftShiftExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, int r)=0</td></tr>
<tr class="memdesc:acbe544873a0659f8a864d9ce3f463a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#acbe544873a0659f8a864d9ce3f463a50"></a><br/></td></tr>
<tr class="separator:acbe544873a0659f8a864d9ce3f463a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b425aabd7b4a7f0635d72834618f3dd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2b425aabd7b4a7f0635d72834618f3dd">newFixedConstWidthLeftShiftExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, int r)=0</td></tr>
<tr class="memdesc:a2b425aabd7b4a7f0635d72834618f3dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a2b425aabd7b4a7f0635d72834618f3dd"></a><br/></td></tr>
<tr class="separator:a2b425aabd7b4a7f0635d72834618f3dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a182b0b4867a96e83bf725b1e566e98a0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a182b0b4867a96e83bf725b1e566e98a0">newFixedRightShiftExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, int r)=0</td></tr>
<tr class="memdesc:a182b0b4867a96e83bf725b1e566e98a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a182b0b4867a96e83bf725b1e566e98a0"></a><br/></td></tr>
<tr class="separator:a182b0b4867a96e83bf725b1e566e98a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef98247579fe6a8d82e57ef39b3e5e59"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aef98247579fe6a8d82e57ef39b3e5e59">newBVSHL</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:aef98247579fe6a8d82e57ef39b3e5e59"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#aef98247579fe6a8d82e57ef39b3e5e59"></a><br/></td></tr>
<tr class="separator:aef98247579fe6a8d82e57ef39b3e5e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae73dae1021a603627147fffb53765ee5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae73dae1021a603627147fffb53765ee5">newBVLSHR</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:ae73dae1021a603627147fffb53765ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#ae73dae1021a603627147fffb53765ee5"></a><br/></td></tr>
<tr class="separator:ae73dae1021a603627147fffb53765ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10500cd28b37adb1506da26936b866b1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a10500cd28b37adb1506da26936b866b1">newBVASHR</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;t2)=0</td></tr>
<tr class="memdesc:a10500cd28b37adb1506da26936b866b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a10500cd28b37adb1506da26936b866b1"></a><br/></td></tr>
<tr class="separator:a10500cd28b37adb1506da26936b866b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a330c358aff5ee5e0b73e12699448e5cf"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Rational.html">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a330c358aff5ee5e0b73e12699448e5cf">computeBVConst</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a330c358aff5ee5e0b73e12699448e5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">'numbits' is the number of bits in the result  <a href="#a330c358aff5ee5e0b73e12699448e5cf"></a><br/></td></tr>
<tr class="separator:a330c358aff5ee5e0b73e12699448e5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Other expression methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating other kinds of expressions </p>
</div></td></tr>
<tr class="memitem:a3cb64e29675d0e83c5627bf5fc0d3379"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3cb64e29675d0e83c5627bf5fc0d3379">tupleExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;exprs)=0</td></tr>
<tr class="memdesc:a3cb64e29675d0e83c5627bf5fc0d3379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tuple expression.  <a href="#a3cb64e29675d0e83c5627bf5fc0d3379"></a><br/></td></tr>
<tr class="separator:a3cb64e29675d0e83c5627bf5fc0d3379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab65fb702c2a05091991c64c6296f7166"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab65fb702c2a05091991c64c6296f7166">tupleSelectExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;tuple, int index)=0</td></tr>
<tr class="memdesc:ab65fb702c2a05091991c64c6296f7166"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tuple select; equivalent to "tuple.n", where n is an numeral (e.g. tup.5)  <a href="#ab65fb702c2a05091991c64c6296f7166"></a><br/></td></tr>
<tr class="separator:ab65fb702c2a05091991c64c6296f7166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa0dc38eaf0f6784b05bde26fb553220"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#afa0dc38eaf0f6784b05bde26fb553220">tupleUpdateExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;tuple, int index, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;newValue)=0</td></tr>
<tr class="memdesc:afa0dc38eaf0f6784b05bde26fb553220"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tuple update; equivalent to "tuple WITH index := newValue".  <a href="#afa0dc38eaf0f6784b05bde26fb553220"></a><br/></td></tr>
<tr class="separator:afa0dc38eaf0f6784b05bde26fb553220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a199639435bcf617344a134ee69ea34aa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a199639435bcf617344a134ee69ea34aa">datatypeConsExpr</a> (const std::string &amp;constructor, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;args)=0</td></tr>
<tr class="memdesc:a199639435bcf617344a134ee69ea34aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Datatype constructor expression.  <a href="#a199639435bcf617344a134ee69ea34aa"></a><br/></td></tr>
<tr class="separator:a199639435bcf617344a134ee69ea34aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a891eae13d340b39b32b3fc92850d2ce0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a891eae13d340b39b32b3fc92850d2ce0">datatypeSelExpr</a> (const std::string &amp;selector, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;arg)=0</td></tr>
<tr class="memdesc:a891eae13d340b39b32b3fc92850d2ce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Datatype selector expression.  <a href="#a891eae13d340b39b32b3fc92850d2ce0"></a><br/></td></tr>
<tr class="separator:a891eae13d340b39b32b3fc92850d2ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31cd218b72bbf503568e894d9d5f0d06"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a31cd218b72bbf503568e894d9d5f0d06">datatypeTestExpr</a> (const std::string &amp;constructor, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;arg)=0</td></tr>
<tr class="memdesc:a31cd218b72bbf503568e894d9d5f0d06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Datatype tester expression.  <a href="#a31cd218b72bbf503568e894d9d5f0d06"></a><br/></td></tr>
<tr class="separator:a31cd218b72bbf503568e894d9d5f0d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5cf16e412204959d3bc2e5f4ba9d73"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a1b5cf16e412204959d3bc2e5f4ba9d73">boundVarExpr</a> (const std::string &amp;name, const std::string &amp;uid, const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;type)=0</td></tr>
<tr class="memdesc:a1b5cf16e412204959d3bc2e5f4ba9d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a bound variable with a given name, unique ID (uid) and type.  <a href="#a1b5cf16e412204959d3bc2e5f4ba9d73"></a><br/></td></tr>
<tr class="separator:a1b5cf16e412204959d3bc2e5f4ba9d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac206ae42778d68f60f96d5b086cdf664"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ac206ae42778d68f60f96d5b086cdf664">forallExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body)=0</td></tr>
<tr class="memdesc:ac206ae42778d68f60f96d5b086cdf664"><td class="mdescLeft">&#160;</td><td class="mdescRight">Universal quantifier.  <a href="#ac206ae42778d68f60f96d5b086cdf664"></a><br/></td></tr>
<tr class="separator:ac206ae42778d68f60f96d5b086cdf664"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26c6a6fe5b7c71bdcea6777d9da65b22"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a26c6a6fe5b7c71bdcea6777d9da65b22">forallExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;trigger)=0</td></tr>
<tr class="memdesc:a26c6a6fe5b7c71bdcea6777d9da65b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Universal quantifier with a trigger.  <a href="#a26c6a6fe5b7c71bdcea6777d9da65b22"></a><br/></td></tr>
<tr class="separator:a26c6a6fe5b7c71bdcea6777d9da65b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0acc6220fdf5384faff502fabb37725"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae0acc6220fdf5384faff502fabb37725">forallExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;triggers)=0</td></tr>
<tr class="memdesc:ae0acc6220fdf5384faff502fabb37725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Universal quantifier with a set of triggers.  <a href="#ae0acc6220fdf5384faff502fabb37725"></a><br/></td></tr>
<tr class="separator:ae0acc6220fdf5384faff502fabb37725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c0a38d28c5971d191b5dd47ca5bd640"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6c0a38d28c5971d191b5dd47ca5bd640">forallExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;triggers)=0</td></tr>
<tr class="memdesc:a6c0a38d28c5971d191b5dd47ca5bd640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Universal quantifier with a set of multi-triggers.  <a href="#a6c0a38d28c5971d191b5dd47ca5bd640"></a><br/></td></tr>
<tr class="separator:a6c0a38d28c5971d191b5dd47ca5bd640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9deb04632dc242cab8bc609a60d5c273"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9deb04632dc242cab8bc609a60d5c273">setTriggers</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;triggers)=0</td></tr>
<tr class="memdesc:a9deb04632dc242cab8bc609a60d5c273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set triggers for quantifier instantiation.  <a href="#a9deb04632dc242cab8bc609a60d5c273"></a><br/></td></tr>
<tr class="separator:a9deb04632dc242cab8bc609a60d5c273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32aef3bed0c68b9a279b977ab65b97db"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a32aef3bed0c68b9a279b977ab65b97db">setTriggers</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;triggers)=0</td></tr>
<tr class="memdesc:a32aef3bed0c68b9a279b977ab65b97db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set triggers for quantifier instantiation (no multi-triggers)  <a href="#a32aef3bed0c68b9a279b977ab65b97db"></a><br/></td></tr>
<tr class="separator:a32aef3bed0c68b9a279b977ab65b97db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a830a327a8bd9b90bb67a6189c18959c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a830a327a8bd9b90bb67a6189c18959c8">setTrigger</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;trigger)=0</td></tr>
<tr class="memdesc:a830a327a8bd9b90bb67a6189c18959c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a single trigger for quantifier instantiation.  <a href="#a830a327a8bd9b90bb67a6189c18959c8"></a><br/></td></tr>
<tr class="separator:a830a327a8bd9b90bb67a6189c18959c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a120871553bce7c74daaa544688a8e260"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a120871553bce7c74daaa544688a8e260">setMultiTrigger</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;multiTrigger)=0</td></tr>
<tr class="memdesc:a120871553bce7c74daaa544688a8e260"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a single multi-trigger for quantifier instantiation.  <a href="#a120871553bce7c74daaa544688a8e260"></a><br/></td></tr>
<tr class="separator:a120871553bce7c74daaa544688a8e260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad61bd94dda8f8f4352825ea546f82ed7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad61bd94dda8f8f4352825ea546f82ed7">existsExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body)=0</td></tr>
<tr class="memdesc:ad61bd94dda8f8f4352825ea546f82ed7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Existential quantifier.  <a href="#ad61bd94dda8f8f4352825ea546f82ed7"></a><br/></td></tr>
<tr class="separator:ad61bd94dda8f8f4352825ea546f82ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4530620e9da6098c859b97563ed98037"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4530620e9da6098c859b97563ed98037">lambdaExpr</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body)=0</td></tr>
<tr class="memdesc:a4530620e9da6098c859b97563ed98037"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lambda-expression.  <a href="#a4530620e9da6098c859b97563ed98037"></a><br/></td></tr>
<tr class="separator:a4530620e9da6098c859b97563ed98037"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2ffae23f96fba3e94b0eb2102bd515c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa2ffae23f96fba3e94b0eb2102bd515c">transClosure</a> (const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;op)=0</td></tr>
<tr class="memdesc:aa2ffae23f96fba3e94b0eb2102bd515c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transitive closure of a binary predicate.  <a href="#aa2ffae23f96fba3e94b0eb2102bd515c"></a><br/></td></tr>
<tr class="separator:aa2ffae23f96fba3e94b0eb2102bd515c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95230659969525d8bba737defd237736"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a95230659969525d8bba737defd237736">simulateExpr</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;f, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;s0, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;inputs, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;n)=0</td></tr>
<tr class="memdesc:a95230659969525d8bba737defd237736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symbolic simulation expression.  <a href="#a95230659969525d8bba737defd237736"></a><br/></td></tr>
<tr class="separator:a95230659969525d8bba737defd237736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Validity checking methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods related to validity checking</p>
<p>This group includes methods for asserting formulas, checking validity in the given logical context, manipulating the scope level of the context, etc. </p>
</div></td></tr>
<tr class="memitem:aae0d652a72139c5cf856a7eeb68874cd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aae0d652a72139c5cf856a7eeb68874cd">setResourceLimit</a> (unsigned limit)=0</td></tr>
<tr class="memdesc:aae0d652a72139c5cf856a7eeb68874cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the resource limit (0==unlimited, 1==exhausted).  <a href="#aae0d652a72139c5cf856a7eeb68874cd"></a><br/></td></tr>
<tr class="separator:aae0d652a72139c5cf856a7eeb68874cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3a672c7d533a463b2cc0c850a67fda8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae3a672c7d533a463b2cc0c850a67fda8">setTimeLimit</a> (unsigned limit)=0</td></tr>
<tr class="memdesc:ae3a672c7d533a463b2cc0c850a67fda8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a time limit in tenth of a second,.  <a href="#ae3a672c7d533a463b2cc0c850a67fda8"></a><br/></td></tr>
<tr class="separator:ae3a672c7d533a463b2cc0c850a67fda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f0a783141d3c7b0424102ea8724ac"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad57f0a783141d3c7b0424102ea8724ac">assertFormula</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:ad57f0a783141d3c7b0424102ea8724ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert a new formula in the current context.  <a href="#ad57f0a783141d3c7b0424102ea8724ac"></a><br/></td></tr>
<tr class="separator:ad57f0a783141d3c7b0424102ea8724ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1cc8c465b3d30a3db3b1e9f86917606"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa1cc8c465b3d30a3db3b1e9f86917606">registerAtom</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:aa1cc8c465b3d30a3db3b1e9f86917606"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register an atomic formula of interest.  <a href="#aa1cc8c465b3d30a3db3b1e9f86917606"></a><br/></td></tr>
<tr class="separator:aa1cc8c465b3d30a3db3b1e9f86917606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8983a33e3540b26cbdc37d3017caa89"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad8983a33e3540b26cbdc37d3017caa89">getImpliedLiteral</a> ()=0</td></tr>
<tr class="memdesc:ad8983a33e3540b26cbdc37d3017caa89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return next literal implied by last assertion. Null <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> if none.  <a href="#ad8983a33e3540b26cbdc37d3017caa89"></a><br/></td></tr>
<tr class="separator:ad8983a33e3540b26cbdc37d3017caa89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088a718e4f0041caea02312077a586c9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a088a718e4f0041caea02312077a586c9">simplify</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a088a718e4f0041caea02312077a586c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simplify e with respect to the current context.  <a href="#a088a718e4f0041caea02312077a586c9"></a><br/></td></tr>
<tr class="separator:a088a718e4f0041caea02312077a586c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b515a079fc8fdae5826dfcc343909e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e">query</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a93b515a079fc8fdae5826dfcc343909e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check validity of e in the current context.  <a href="#a93b515a079fc8fdae5826dfcc343909e"></a><br/></td></tr>
<tr class="separator:a93b515a079fc8fdae5826dfcc343909e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66b10d795e7ecfa0fa8ce8b69eb07c10"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a66b10d795e7ecfa0fa8ce8b69eb07c10">checkUnsat</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a66b10d795e7ecfa0fa8ce8b69eb07c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check satisfiability of the expr in the current context.  <a href="#a66b10d795e7ecfa0fa8ce8b69eb07c10"></a><br/></td></tr>
<tr class="separator:a66b10d795e7ecfa0fa8ce8b69eb07c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7be9a77c0c8cbce185d02f5e5f40d21a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7be9a77c0c8cbce185d02f5e5f40d21a">checkContinue</a> ()=0</td></tr>
<tr class="memdesc:a7be9a77c0c8cbce185d02f5e5f40d21a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next model.  <a href="#a7be9a77c0c8cbce185d02f5e5f40d21a"></a><br/></td></tr>
<tr class="separator:a7be9a77c0c8cbce185d02f5e5f40d21a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefdc8ccae46e254d26b574d5d3ad6fc1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aefdc8ccae46e254d26b574d5d3ad6fc1">restart</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:aefdc8ccae46e254d26b574d5d3ad6fc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart the most recent query with e as an additional assertion.  <a href="#aefdc8ccae46e254d26b574d5d3ad6fc1"></a><br/></td></tr>
<tr class="separator:aefdc8ccae46e254d26b574d5d3ad6fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a021eced066a375b644402863e3435919"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a021eced066a375b644402863e3435919">returnFromCheck</a> ()=0</td></tr>
<tr class="memdesc:a021eced066a375b644402863e3435919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns to context immediately before last invalid query.  <a href="#a021eced066a375b644402863e3435919"></a><br/></td></tr>
<tr class="separator:a021eced066a375b644402863e3435919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e21fa2a9b7176bda081fe4516295bbd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a1e21fa2a9b7176bda081fe4516295bbd">getUserAssumptions</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:a1e21fa2a9b7176bda081fe4516295bbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get assumptions made by the user in this and all previous contexts.  <a href="#a1e21fa2a9b7176bda081fe4516295bbd"></a><br/></td></tr>
<tr class="separator:a1e21fa2a9b7176bda081fe4516295bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406c7204afd077131364090d7049f07c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a406c7204afd077131364090d7049f07c">getInternalAssumptions</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:a406c7204afd077131364090d7049f07c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get assumptions made internally in this and all previous contexts.  <a href="#a406c7204afd077131364090d7049f07c"></a><br/></td></tr>
<tr class="separator:a406c7204afd077131364090d7049f07c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a38ef396cf06f30bb5bceb5249716e1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3a38ef396cf06f30bb5bceb5249716e1">getAssumptions</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:a3a38ef396cf06f30bb5bceb5249716e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all assumptions made in this and all previous contexts.  <a href="#a3a38ef396cf06f30bb5bceb5249716e1"></a><br/></td></tr>
<tr class="separator:a3a38ef396cf06f30bb5bceb5249716e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cde84236d816aebd6c0a6c78c0c597e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a9cde84236d816aebd6c0a6c78c0c597e">getAssumptionsUsed</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:a9cde84236d816aebd6c0a6c78c0c597e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the set of assumptions used in the proof of queried formula.  <a href="#a9cde84236d816aebd6c0a6c78c0c597e"></a><br/></td></tr>
<tr class="separator:a9cde84236d816aebd6c0a6c78c0c597e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93e30f775885bd6ebe8d8fab162139ef"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a93e30f775885bd6ebe8d8fab162139ef">getProofQuery</a> ()=0</td></tr>
<tr class="memdesc:a93e30f775885bd6ebe8d8fab162139ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the resource limit (0==unlimited, 1==exhausted).  <a href="#a93e30f775885bd6ebe8d8fab162139ef"></a><br/></td></tr>
<tr class="separator:a93e30f775885bd6ebe8d8fab162139ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3b0f9d1129f476f116ad766105ddad"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4e3b0f9d1129f476f116ad766105ddad">getCounterExample</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions, bool inOrder=true)=0</td></tr>
<tr class="memdesc:a4e3b0f9d1129f476f116ad766105ddad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the internal assumptions that make the queried formula false.  <a href="#a4e3b0f9d1129f476f116ad766105ddad"></a><br/></td></tr>
<tr class="separator:a4e3b0f9d1129f476f116ad766105ddad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40c96301728846e2e3cc913ca716f897"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a40c96301728846e2e3cc913ca716f897">getConcreteModel</a> (<a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;m)=0</td></tr>
<tr class="memdesc:a40c96301728846e2e3cc913ca716f897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Will assign concrete values to all user created variables.  <a href="#a40c96301728846e2e3cc913ca716f897"></a><br/></td></tr>
<tr class="separator:a40c96301728846e2e3cc913ca716f897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c9bb81c75da36453ffb16a804a24605"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a2c9bb81c75da36453ffb16a804a24605">tryModelGeneration</a> ()=0</td></tr>
<tr class="separator:a2c9bb81c75da36453ffb16a804a24605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65c5205beaa041a5d390a5803e401bd3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceCVC3.html#a9d68f126b86e6fd08b3bc13a511df9bf">FormulaValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a65c5205beaa041a5d390a5803e401bd3">value</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;e)=0</td></tr>
<tr class="memdesc:a65c5205beaa041a5d390a5803e401bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the resource limit (0==unlimited, 1==exhausted).  <a href="#a65c5205beaa041a5d390a5803e401bd3"></a><br/></td></tr>
<tr class="separator:a65c5205beaa041a5d390a5803e401bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef6a6eb5eb79e61a2e754ddbb65504a8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aef6a6eb5eb79e61a2e754ddbb65504a8">inconsistent</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:aef6a6eb5eb79e61a2e754ddbb65504a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current context is inconsistent.  <a href="#aef6a6eb5eb79e61a2e754ddbb65504a8"></a><br/></td></tr>
<tr class="separator:aef6a6eb5eb79e61a2e754ddbb65504a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf2a1447b7618070f993e8d0aafc6044"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aaf2a1447b7618070f993e8d0aafc6044">inconsistent</a> ()=0</td></tr>
<tr class="memdesc:aaf2a1447b7618070f993e8d0aafc6044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current context is inconsistent.  <a href="#aaf2a1447b7618070f993e8d0aafc6044"></a><br/></td></tr>
<tr class="separator:aaf2a1447b7618070f993e8d0aafc6044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20580108288f5df03a54076a9bd8fed5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a20580108288f5df03a54076a9bd8fed5">incomplete</a> ()=0</td></tr>
<tr class="memdesc:a20580108288f5df03a54076a9bd8fed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the invalid result from last <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a> is imprecise.  <a href="#a20580108288f5df03a54076a9bd8fed5"></a><br/></td></tr>
<tr class="separator:a20580108288f5df03a54076a9bd8fed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92c7ba802985d0722843c4b9678bf8f8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a92c7ba802985d0722843c4b9678bf8f8">incomplete</a> (std::vector&lt; std::string &gt; &amp;reasons)=0</td></tr>
<tr class="memdesc:a92c7ba802985d0722843c4b9678bf8f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the invalid result from last <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a> is imprecise.  <a href="#a92c7ba802985d0722843c4b9678bf8f8"></a><br/></td></tr>
<tr class="separator:a92c7ba802985d0722843c4b9678bf8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae82f9d7b8b0584323baa04d7d99a1ba4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae82f9d7b8b0584323baa04d7d99a1ba4">getProof</a> ()=0</td></tr>
<tr class="memdesc:ae82f9d7b8b0584323baa04d7d99a1ba4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the proof term for the last proven query.  <a href="#ae82f9d7b8b0584323baa04d7d99a1ba4"></a><br/></td></tr>
<tr class="separator:ae82f9d7b8b0584323baa04d7d99a1ba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab946acc8d84a44eb7bfec63d42bb0b91"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab946acc8d84a44eb7bfec63d42bb0b91">getValue</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> e)=0</td></tr>
<tr class="memdesc:ab946acc8d84a44eb7bfec63d42bb0b91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate an expression and return a concrete value in the model.  <a href="#ab946acc8d84a44eb7bfec63d42bb0b91"></a><br/></td></tr>
<tr class="separator:ab946acc8d84a44eb7bfec63d42bb0b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9650915ed1bd526642a9c8d059e7e37"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ad9650915ed1bd526642a9c8d059e7e37">getAssignment</a> ()=0</td></tr>
<tr class="memdesc:ad9650915ed1bd526642a9c8d059e7e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of pairs (name value) for each :named attribute.  <a href="#ad9650915ed1bd526642a9c8d059e7e37"></a><br/></td></tr>
<tr class="separator:ad9650915ed1bd526642a9c8d059e7e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a46eaebfca225ea519648db19d6c904"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7a46eaebfca225ea519648db19d6c904">getTCC</a> ()=0</td></tr>
<tr class="memdesc:a7a46eaebfca225ea519648db19d6c904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the TCC of the last assumption or query.  <a href="#a7a46eaebfca225ea519648db19d6c904"></a><br/></td></tr>
<tr class="separator:a7a46eaebfca225ea519648db19d6c904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48cceb9c7004dc5887e4f5067b8bc77a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a48cceb9c7004dc5887e4f5067b8bc77a">getAssumptionsTCC</a> (std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;assumptions)=0</td></tr>
<tr class="memdesc:a48cceb9c7004dc5887e4f5067b8bc77a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the set of assumptions used in the proof of the last TCC.  <a href="#a48cceb9c7004dc5887e4f5067b8bc77a"></a><br/></td></tr>
<tr class="separator:a48cceb9c7004dc5887e4f5067b8bc77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92b98914e5abc57e902e2afc431615ed"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a92b98914e5abc57e902e2afc431615ed">getProofTCC</a> ()=0</td></tr>
<tr class="memdesc:a92b98914e5abc57e902e2afc431615ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the proof of TCC of the last assumption or query.  <a href="#a92b98914e5abc57e902e2afc431615ed"></a><br/></td></tr>
<tr class="separator:a92b98914e5abc57e902e2afc431615ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31e9c1b41d4887a377af5af9c43586da"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a31e9c1b41d4887a377af5af9c43586da">getClosure</a> ()=0</td></tr>
<tr class="memdesc:a31e9c1b41d4887a377af5af9c43586da"><td class="mdescLeft">&#160;</td><td class="mdescRight">After successful query, return its closure |- Gamma =&gt; phi.  <a href="#a31e9c1b41d4887a377af5af9c43586da"></a><br/></td></tr>
<tr class="separator:a31e9c1b41d4887a377af5af9c43586da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28fcabfa37fb118b722525255f0d3b98"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a28fcabfa37fb118b722525255f0d3b98">getProofClosure</a> ()=0</td></tr>
<tr class="memdesc:a28fcabfa37fb118b722525255f0d3b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a proof of the query closure |- Gamma =&gt; phi.  <a href="#a28fcabfa37fb118b722525255f0d3b98"></a><br/></td></tr>
<tr class="separator:a28fcabfa37fb118b722525255f0d3b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Context methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for manipulating contexts</p>
<p>Contexts support stack-based push and pop. There are two separate notions of the current context stack. <a class="el" href="classCVC3_1_1ValidityChecker.html#ac1a5a5a29d08461ec42bc904524aa550" title="Returns the current stack level. Initial level is 0.">stackLevel()</a>, <a class="el" href="classCVC3_1_1ValidityChecker.html#a93cbbe8c21c2404b03ccaa43636d5f59" title="Checkpoint the current context and increase the scope level.">push()</a>, <a class="el" href="classCVC3_1_1ValidityChecker.html#a3cee14a9c3b852b501a0594dd951f60c" title="Restore the current context to its state at the last checkpoint.">pop()</a>, and <a class="el" href="classCVC3_1_1ValidityChecker.html#a7448ad88871ee774e6de9eae725867ab" title="Restore the current context to the given stackLevel.">popto()</a> work with the user-level notion of the stack.</p>
<p><a class="el" href="classCVC3_1_1ValidityChecker.html#a8e60da88d484801579c15960f41a3f72" title="Returns the current scope level. Initially, the scope level is 1.">scopeLevel()</a>, <a class="el" href="classCVC3_1_1ValidityChecker.html#aa6abf3f929951daba04f5e7874aa471c" title="Checkpoint the current context and increase the internal scope level. Do not use unless you know what...">pushScope()</a>, <a class="el" href="classCVC3_1_1ValidityChecker.html#aa619f5732634c9274efaf7a61d5de646" title="Restore the current context to its state at the last internal checkpoint. Do not use unless you know ...">popScope()</a>, and <a class="el" href="classCVC3_1_1ValidityChecker.html#a4ce4e72785c769c641466c0477a50c24" title="Restore the current context to the given scopeLevel.">poptoScope()</a> work with the internal stack which is more fine-grained than the user stack.</p>
<p>Do not use the scope methods unless you know what you are doing.</p>
<ul>
<li></li>
</ul>
</div></td></tr>
<tr class="memitem:ac1a5a5a29d08461ec42bc904524aa550"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ac1a5a5a29d08461ec42bc904524aa550">stackLevel</a> ()=0</td></tr>
<tr class="memdesc:ac1a5a5a29d08461ec42bc904524aa550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current stack level. Initial level is 0.  <a href="#ac1a5a5a29d08461ec42bc904524aa550"></a><br/></td></tr>
<tr class="separator:ac1a5a5a29d08461ec42bc904524aa550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93cbbe8c21c2404b03ccaa43636d5f59"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a93cbbe8c21c2404b03ccaa43636d5f59">push</a> ()=0</td></tr>
<tr class="memdesc:a93cbbe8c21c2404b03ccaa43636d5f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checkpoint the current context and increase the scope level.  <a href="#a93cbbe8c21c2404b03ccaa43636d5f59"></a><br/></td></tr>
<tr class="separator:a93cbbe8c21c2404b03ccaa43636d5f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cee14a9c3b852b501a0594dd951f60c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a3cee14a9c3b852b501a0594dd951f60c">pop</a> ()=0</td></tr>
<tr class="memdesc:a3cee14a9c3b852b501a0594dd951f60c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the current context to its state at the last checkpoint.  <a href="#a3cee14a9c3b852b501a0594dd951f60c"></a><br/></td></tr>
<tr class="separator:a3cee14a9c3b852b501a0594dd951f60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7448ad88871ee774e6de9eae725867ab"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7448ad88871ee774e6de9eae725867ab">popto</a> (int <a class="el" href="classCVC3_1_1ValidityChecker.html#ac1a5a5a29d08461ec42bc904524aa550">stackLevel</a>)=0</td></tr>
<tr class="memdesc:a7448ad88871ee774e6de9eae725867ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the current context to the given stackLevel.  <a href="#a7448ad88871ee774e6de9eae725867ab"></a><br/></td></tr>
<tr class="separator:a7448ad88871ee774e6de9eae725867ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e60da88d484801579c15960f41a3f72"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a8e60da88d484801579c15960f41a3f72">scopeLevel</a> ()=0</td></tr>
<tr class="memdesc:a8e60da88d484801579c15960f41a3f72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current scope level. Initially, the scope level is 1.  <a href="#a8e60da88d484801579c15960f41a3f72"></a><br/></td></tr>
<tr class="separator:a8e60da88d484801579c15960f41a3f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6abf3f929951daba04f5e7874aa471c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa6abf3f929951daba04f5e7874aa471c">pushScope</a> ()=0</td></tr>
<tr class="memdesc:aa6abf3f929951daba04f5e7874aa471c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checkpoint the current context and increase the <b>internal</b> scope level. Do not use unless you know what you're doing!  <a href="#aa6abf3f929951daba04f5e7874aa471c"></a><br/></td></tr>
<tr class="separator:aa6abf3f929951daba04f5e7874aa471c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa619f5732634c9274efaf7a61d5de646"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aa619f5732634c9274efaf7a61d5de646">popScope</a> ()=0</td></tr>
<tr class="memdesc:aa619f5732634c9274efaf7a61d5de646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the current context to its state at the last <b>internal</b> checkpoint. Do not use unless you know what you're doing!  <a href="#aa619f5732634c9274efaf7a61d5de646"></a><br/></td></tr>
<tr class="separator:aa619f5732634c9274efaf7a61d5de646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ce4e72785c769c641466c0477a50c24"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a4ce4e72785c769c641466c0477a50c24">poptoScope</a> (int <a class="el" href="classCVC3_1_1ValidityChecker.html#a8e60da88d484801579c15960f41a3f72">scopeLevel</a>)=0</td></tr>
<tr class="memdesc:a4ce4e72785c769c641466c0477a50c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the current context to the given scopeLevel.  <a href="#a4ce4e72785c769c641466c0477a50c24"></a><br/></td></tr>
<tr class="separator:a4ce4e72785c769c641466c0477a50c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd7d6618f53f20bb08d091f624277cf"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Context.html">Context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#aebd7d6618f53f20bb08d091f624277cf">getCurrentContext</a> ()=0</td></tr>
<tr class="memdesc:aebd7d6618f53f20bb08d091f624277cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current context.  <a href="#aebd7d6618f53f20bb08d091f624277cf"></a><br/></td></tr>
<tr class="separator:aebd7d6618f53f20bb08d091f624277cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accfa11d7cb5f45e4f73c01c09507f6b0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#accfa11d7cb5f45e4f73c01c09507f6b0">reset</a> ()=0</td></tr>
<tr class="memdesc:accfa11d7cb5f45e4f73c01c09507f6b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy and recreate validity checker: resets everything except for flags.  <a href="#accfa11d7cb5f45e4f73c01c09507f6b0"></a><br/></td></tr>
<tr class="separator:accfa11d7cb5f45e4f73c01c09507f6b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f81650a2585c2698d30225c37754acf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a6f81650a2585c2698d30225c37754acf">logAnnotation</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;annot)=0</td></tr>
<tr class="memdesc:a6f81650a2585c2698d30225c37754acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an annotation to the current script - prints annot when translating.  <a href="#a6f81650a2585c2698d30225c37754acf"></a><br/></td></tr>
<tr class="separator:a6f81650a2585c2698d30225c37754acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Reading files</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for reading external files </p>
</div></td></tr>
<tr class="memitem:a68a96b7331b5a81b67c600cec05bbf8e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a68a96b7331b5a81b67c600cec05bbf8e">loadFile</a> (const std::string &amp;fileName, <a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a> lang=<a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a>, bool interactive=false, bool calledFromParser=false)=0</td></tr>
<tr class="memdesc:a68a96b7331b5a81b67c600cec05bbf8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and execute the commands from a file given by name ("" means stdin)  <a href="#a68a96b7331b5a81b67c600cec05bbf8e"></a><br/></td></tr>
<tr class="separator:a68a96b7331b5a81b67c600cec05bbf8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73171527f6a3385c99e2376f8e4f9f18"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a73171527f6a3385c99e2376f8e4f9f18">loadFile</a> (std::istream &amp;is, <a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a> lang=<a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a>, bool interactive=false)=0</td></tr>
<tr class="memdesc:a73171527f6a3385c99e2376f8e4f9f18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and execute the commands from a stream.  <a href="#a73171527f6a3385c99e2376f8e4f9f18"></a><br/></td></tr>
<tr class="separator:a73171527f6a3385c99e2376f8e4f9f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Reporting Statistics</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for collecting and reporting run-time statistics </p>
</div></td></tr>
<tr class="memitem:ae2b134cb3f8caf1d2bac8a257bc95819"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Statistics.html">Statistics</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae2b134cb3f8caf1d2bac8a257bc95819">getStatistics</a> ()=0</td></tr>
<tr class="memdesc:ae2b134cb3f8caf1d2bac8a257bc95819"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get statistics object.  <a href="#ae2b134cb3f8caf1d2bac8a257bc95819"></a><br/></td></tr>
<tr class="separator:ae2b134cb3f8caf1d2bac8a257bc95819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbcda1a243c746f667bcba597482cd6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#adbbcda1a243c746f667bcba597482cd6">printStatistics</a> ()=0</td></tr>
<tr class="memdesc:adbbcda1a243c746f667bcba597482cd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print collected statistics to stdout.  <a href="#adbbcda1a243c746f667bcba597482cd6"></a><br/></td></tr>
<tr class="separator:adbbcda1a243c746f667bcba597482cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ab2cf736ffff14ff2254c407be3f49334"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ab2cf736ffff14ff2254c407be3f49334">createFlags</a> ()</td></tr>
<tr class="memdesc:ab2cf736ffff14ff2254c407be3f49334"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the set of command line flags with default values;.  <a href="#ab2cf736ffff14ff2254c407be3f49334"></a><br/></td></tr>
<tr class="separator:ab2cf736ffff14ff2254c407be3f49334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8784feff00600cda0508c4050a8976"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCVC3_1_1ValidityChecker.html">ValidityChecker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#a7f8784feff00600cda0508c4050a8976">create</a> (const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> &amp;flags)</td></tr>
<tr class="memdesc:a7f8784feff00600cda0508c4050a8976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>.  <a href="#a7f8784feff00600cda0508c4050a8976"></a><br/></td></tr>
<tr class="separator:a7f8784feff00600cda0508c4050a8976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2876962373b8e7cefd5909160e4729d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCVC3_1_1ValidityChecker.html">ValidityChecker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ValidityChecker.html#ae2876962373b8e7cefd5909160e4729d">create</a> ()</td></tr>
<tr class="memdesc:ae2876962373b8e7cefd5909160e4729d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a> using default flag values.  <a href="#ae2876962373b8e7cefd5909160e4729d"></a><br/></td></tr>
<tr class="separator:ae2876962373b8e7cefd5909160e4729d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Generic API for a validity checker. </p>
<p><a class="anchor" id="vc"></a> Author: Clark Barrett</p>
<p>Created: Tue Nov 26 18:24:25 2002</p>
<p>All terms and formulas are represented as expressions using the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> class. The notion of a context is also important. A context is a "background" set of formulas which are assumed to be true or false. Formulas can be added to the context explicitly, using assertFormula, or they may be added as part of processing a query command. At any time, the current set of formulas making up the context can be retrieved using getAssumptions. </p>

<p>Definition at line <a class="el" href="vc_8h_source.html#l00092">92</a> of file <a class="el" href="vc_8h_source.html">vc.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a15399f370b5af3e31e1ee2add14470bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ValidityChecker::ValidityChecker </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>Constructor. </p>

<p>Definition at line <a class="el" href="vc_8h_source.html#l00096">96</a> of file <a class="el" href="vc_8h_source.html">vc.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ba951ee63a5a1ffb804f282980a1a68"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual CVC3::ValidityChecker::~ValidityChecker </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 class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

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

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9a09f71dc5a3dd47f0240abceab2fad3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a>&amp; CVC3::ValidityChecker::getFlags </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the set of command-line flags. </p>
<p>The flags are returned by reference, and if modified, will have an immediate effect on the subsequent commands. Note that not all flags will have such an effect; some flags are used only at initialization time (like "sat"), and therefore, will not take effect if modified after <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a> is created. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a499633a949434b41a8555d0cf6e435f6">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, <a class="el" href="vc__cmd_8cpp_source.html#l00073">CVC3::VCCmd::evaluateNext()</a>, <a class="el" href="main_8cpp_source.html#l00092">main()</a>, <a class="el" href="vc__cmd_8cpp_source.html#l00102">CVC3::VCCmd::reportResult()</a>, and <a class="el" href="main_8cpp_source.html#l00055">sighandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a0acc9330bfe47d579f1fa105d2603e85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::reprocessFlags </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Force reprocessing of all flags. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a83197a54652f37925771d6de682a54a9">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2cf736ffff14ff2254c407be3f49334"></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_1CLFlags.html">CLFlags</a> ValidityChecker::createFlags </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the set of command line flags with default values;. </p>
<dl class="section return"><dt>Returns</dt><dd>the set of flags by value </dd></dl>

<p>Definition at line <a class="el" href="vcl_8cpp_source.html#l00069">69</a> of file <a class="el" href="vcl_8cpp_source.html">vcl.cpp</a>.</p>

<p>References <a class="el" href="command__line__flags_8h_source.html#l00263">CVC3::CLFlags::addFlag()</a>, and <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>.</p>

</div>
</div>
<a class="anchor" id="a7f8784feff00600cda0508c4050a8976"></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_1ValidityChecker.html">ValidityChecker</a> * ValidityChecker::create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1CLFlags.html">CLFlags</a> &amp;&#160;</td>
          <td class="paramname"><em>flags</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>is the set of command line flags. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="vcl_8cpp_source.html#l00063">63</a> of file <a class="el" href="vcl_8cpp_source.html">vcl.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ae2876962373b8e7cefd5909160e4729d"></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_1ValidityChecker.html">ValidityChecker</a> * ValidityChecker::create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a> using default flag values. </p>

<p>Definition at line <a class="el" href="vcl_8cpp_source.html#l00300">300</a> of file <a class="el" href="vcl_8cpp_source.html">vcl.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa86f4ae2faff53326d76f0d7bbc45198"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::boolType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create type BOOLEAN. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad344206a7bab732b8b08a86a4cd530dd">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af80938787dc3dc10d794cabcde2eedd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::realType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create type REAL. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aea5eb2afa1a4917c1251340f22a7f54b">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad93120c84052c413953cf7fcd3c95048"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::intType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create type INT. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aba7fbeffde84d5f4e789f52aac61fe1d">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a5cc434a4b1279e19eda6f2a9fdb7ada3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::subrangeType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a subrange type [l..r]. </p>
<p>l and r can be Null; l=Null represents minus infinity, r=Null is plus infinity. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a79a94f22666ae19579e55ae2cc6318a4">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aad96bcbbf85248e8444dfe61a8195b76"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::subtypeType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>pred</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>witness</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a subtype defined by the given predicate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pred</td><td>is a predicate taking one argument of type T and returning Boolean. The resulting type is a subtype of T whose elements x are those satisfying the predicate pred(x).</td></tr>
    <tr><td class="paramname">witness</td><td>is an expression of type T for which pred holds (if a Null expression is passed as a witness, cvc will try to prove <img class="formulaInl" alt="$\exists x. pred(x))$" src="form_279.png"/>. if the witness check fails, a <a class="el" href="classCVC3_1_1TypecheckException.html">TypecheckException</a> is thrown. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a31aecd4893d74a75daeef186e3b8f81e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4b2fa25ca712dabced8f9601150f64d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::tupleType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>2-element tuple </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac2e6baf2eeb267e1b8f12392070ad787">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4331cfc2d225141128ea420cf67ea0ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::tupleType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>3-element tuple </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9ebfe8a0227e0dae6800e9ba31fb262f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a2073f3aaa4d4b24eeb1ab953c7b45277"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::tupleType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>n-element tuple (from a vector of types) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1be510191730f07d749f283e91c212a0">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad9a6df13065bfc62ea5ece1513716835"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>1-element record </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a5402e161e9f0c8158f3ffc99ffee7585">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a33e7b277c1dda7aa16531561bc4d3997"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>2-element record </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a446a3a15b247192930dccfc6d9c1939e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3c8d0b2262555d33ef81ffc462a97f45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>3-element record </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac56448d9022fd70d82949cc679b206f1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af0e24a3aa4ef5cc072a57e988e045f17"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::recordType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>fields</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>n-element record (fields and types must be of the same length) </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad1bec7c4c41438b50c0c287852fa3312">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6cc46f1745f4296f9479479a58d3db6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::dataType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>constructor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>selectors</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Single datatype, single constructor. </p>
<p>The types are either type exressions (obtained from a type with getExpr()) or string expressions containing the name of (one of) the dataType(s) being defined. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0e4c14571fa8b5e85654e8a4c5cdeff3">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a02598f355a0454ac3e154695b3419661"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::dataType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>constructors</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; std::string &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>selectors</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Single datatype, multiple constructors. </p>
<p>The types are either type exressions (obtained from a type with getExpr()) or string expressions containing the name of (one of) the dataType(s) being defined. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adeb6c1750f63ed133f8da731fcd0a870">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3b3cc340170bbab622f36f36c3cb63e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::dataType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>names</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; std::string &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>constructors</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; std::vector&lt; std::string &gt; &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>selectors</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>returnTypes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Multiple datatypes. </p>
<p>The types are either type exressions (obtained from a type with getExpr()) or string expressions containing the name of (one of) the dataType(s) being defined. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae65bc001e859cb1bb90093335767a12c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aae1f7ef4714ecdadb4d0b63a0145a442"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::arrayType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>typeIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>typeData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an array type (ARRAY typeIndex OF typeData) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1b3d360dba2a71284d04c7b1465ca757">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3258e23feb3ab38beeff3e72121ac6f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::bitvecType </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a bitvector type of length n. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a36b8bf3bc3abab2decfa04faee15f4fb">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a2186221f05f3990b9eded526d24211be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::funType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>typeDom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>typeRan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a function type typeDom -&gt; typeRan. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a574fecab80d464a244d391312d2ab898">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aa0648db7219413e066d9aa24b932af44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::funType </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Type.html">Type</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>typeDom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>typeRan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a function type (t1,t2,...,tn) -&gt; typeRan. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adcc7672eceaadf25f03cf8f74b036724">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aaaef06da81d945fb5fd75cc134f80ca5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::createType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>typeName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create named user-defined uninterpreted type. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9f16ab34b0b1f7e5dfe17390dd72c39f">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a35edea60cb51fde8ab8025d7956ecc25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::createType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>typeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>def</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create named user-defined interpreted type (type abbreviation) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6fefe58ed7b305b789f5c8cc45e99a04">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aee7ad74875ca4ac07a4cdf9e5089584b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::lookupType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>typeName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Lookup a user-defined (uninterpreted) type by name. Returns Null if none. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a90fd1c2ef6f64c534916b905e4b4e802">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a448e0df25ec6d756861e7d1d217f1063"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>* CVC3::ValidityChecker::getEM </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a811f456c7be235f67a45c9359475f770">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, <a class="el" href="main_8cpp_source.html#l00092">main()</a>, <a class="el" href="vc__cmd_8cpp_source.html#l00188">CVC3::VCCmd::printSymbols()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00102">CVC3::VCCmd::reportResult()</a>.</p>

</div>
</div>
<a class="anchor" id="a4dc02c11317b0f12606e5ec264dd9ca9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::varExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a variable with a given name and type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>is the name of the variable </td></tr>
    <tr><td class="paramname">type</td><td>is its type. The type cannot be a function type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> representation of a new variable </dd></dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a434b487f2d0aaf3a2bfcd86716cfa566">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a06148508523578e0dbfa8c8cc6f5fdef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::varExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>def</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a variable with a given name, type, and value. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae3dc0d1d7ab4c060d79f90ce683f6613">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ac6f1a71f35354ac7d1e28073e47b889f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::lookupVar </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Type.html">Type</a> *&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the variable associated with a name, and its type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>is the variable name </td></tr>
    <tr><td class="paramname">type</td><td>is where the type value is returned</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a variable by the name. If there is no such <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>, a NULL \ <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> is returned. </dd></dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a23460fae006d9ef030f8908ab732b0ef">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ac400a59525f16fe303e052cbff3d1dae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::getType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the type of the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a59c9d442ef836e4aea70dda513b8a29d">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a8422058e2d91a225252aca7e4234666b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::getBaseType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the largest supertype of the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#afb33aac5733ec0c5d186388b55d8d1f1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a5719a951194add8706db1ae0668f91ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::getBaseType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the largest supertype of the <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a523146e4e023cbb4110f9906e96ce861">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="add33b9e05f224922b1a2e4563af8d115"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getTypePred </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the subtype predicate. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae55b1e91aca97e231cf5288c7257998f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad40a03e7a5bc4b308ec2ca52b17845b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::stringExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a string <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a2598c55b4d6b4cac912ff4e2f46239dc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6f312184c35aef5dd85e0c6c190380a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::idExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an ID <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a13142479360bbf0154be61ce7620f226">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a9e157d46874e099d9330437aa0c72921"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a list <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>
<p>Intermediate representation for DP-specific expressions. Normally, the first element of the list is a string <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> representing an operator, and the rest of the list are the arguments. For example,</p>
<p>kids.push_back(vc-&gt;stringExpr("PLUS")); kids.push_back(x); // x and y are previously created Exprs kids.push_back(y); <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> lst = vc-&gt;listExpr(kids);</p>
<p>Or, alternatively (using its overloaded version):</p>
<p><a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> lst = vc-&gt;listExpr("PLUS", x, y);</p>
<p>or</p>
<p>vector&lt;Expr&gt; summands; summands.push_back(x); summands.push_back(y); ... <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> lst = vc-&gt;listExpr("PLUS", summands); </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a92cd091e843eafa303aa1fe8cbe0f881">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a69b6549c4b8c5b0359a178a702092ca1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with one argument. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a72ddc8e798ad18dc3db168e5029b13e1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a0a1c99ce1610410633f64f15b072cbac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with two arguments. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a930389cb9570297308eb5959f9e8442d">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a33bcc63389cbaa2b4ed57dc27ced550c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with three arguments. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9c1a8c014d62d307d0ecb68eda14e030">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aaa1477d189f7a4d371db6c64e34425fe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with string operator and many arguments. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adee40e9cf75ecf2fd7f6e06f04fb4761">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a91ba6ab255bd8c21b213d86c8c278cff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with string operator and one argument. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a113b6106484ceb0f0716603f21c906de">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a5539561d6b46cb09e28d9fb9f5625378"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with string operator and two arguments. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0d491e327498b82725891b5ea9a5928c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a8bf6c06961a950b75896d5541a29a5e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::listExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overloaded version of listExpr with string operator and three arguments. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a00eff8291d17fa253566e48325bf3b7c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6f6909a3f7da22df2bf97b21319883eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::printExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints e to the standard output. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a12f292f435d36c466292267e9f6425e5">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a2101d9c595f2d31f44ee5d5c1d8dc877"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::printExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints e to the given ostream. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ab02f9ebeef419f59aa94fc19842f26e0">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad1f1ac87cd8a210686d04eb82a6133c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::parseExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse an expression using a Theory-specific parser. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a52fb774eea4d48077d8c95f4e1d124d1">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aa20afe1496d2987a83ada2292c175af4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::parseType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse a type expression using a Theory-specific parser. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae56f7fe27f179fbaa01299e3c91a74cf">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ab1ca7951861c04f7b639732b933d1861"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::importExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Import the <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> from another instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>. </p>
<p>When expressions need to be passed among several instances of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>, they need to be explicitly imported into the corresponding instance using this method. The return result is an identical expression that belongs to the current instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>, and can be safely used as part of more complex expressions from the same instance. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a91662cae6c452f3d342face36e9eab77">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a280e966c77bb0ea5dc6848b1174c46b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ValidityChecker::importType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Import the <a class="el" href="classCVC3_1_1Type.html" title="MS C++ specific settings.">Type</a> from another instance of <a class="el" href="classCVC3_1_1ValidityChecker.html" title="Generic API for a validity checker.">ValidityChecker</a>. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCVC3_1_1ValidityChecker.html#ac400a59525f16fe303e052cbff3d1dae" title="Get the type of the Expr.">getType()</a> </dd></dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a827601ba5a9150c94e8ae3c1ac67839b">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a62a2ba9f59ad2cad1ff64a60d4f8b0db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::cmdsFromString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a>&#160;</td>
          <td class="paramname"><em>lang</em> = <code><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse a sequence of commands from a presentation language string. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aab6dff108d0fe7154e4fe1d6573f7d7e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae6916c7ceb64dca00922dfccd5882aa6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::exprFromString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse an expression from a presentation language string. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a15bb1224861f7a92d4ab9fe6b6fff0f0">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4e9d64bd0f01ce88b9e8494861ab527d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::trueExpr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return TRUE <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a779d3811f66b5cf54b679e8a708bc292">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a9050dd9dbfb463a488d6f9fe98ef968a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::falseExpr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return FALSE <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a87be808345d6e2ee8015443c0cdd129a">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="cnf__manager_8cpp_source.html#l00550">SAT::CNF_Manager::cons()</a>.</p>

</div>
</div>
<a class="anchor" id="a0f4ac83f5387e0d4033844fb0755cd2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::notExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create negation. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0e605dfe1b15e52663073f05c44a2fd6">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af8222f001fe69abe9c4a856e2e9a935a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::andExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create 2-element conjunction. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6e5209f607aaaaeedbdc69e56afd13b3">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a782499c21bc5c36f7de7e9cc8a1a2997"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::andExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>children</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create n-element conjunction. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a8467914594e6a5346398bb46a82bb310">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a57b5029fb74ce92d7978bf3d6b2d03a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::orExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create 2-element disjunction. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a000ff901b570233b669fb61786f81827">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a58e51a14fdad8ad5d8f846f0a824ca5a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::orExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>children</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create n-element disjunction. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad3ac4c516a060c3fa03a4cd52506e4b3">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ab4b31fcadd98a16e3f63e2daec6a6799"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::impliesExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>hyp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>conc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create Boolean implication. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a633fc9e011f529f0992d604ea4b66b9b">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a511f5b02036944b06b3d93b1f65f489f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::iffExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create left IFF right (boolean equivalence) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a67da7d1d56277df0d30c031565a04aa4">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a9f38181a6d1dcb0540301e68f444f45a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::eqExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an equality expression. </p>
<p>The two children must have the same type, and cannot be of type Boolean. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a4f17e52a13206ce3ad8c5d86cd9de037">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a786cae5bef71cdbe8cab9f773a35f4a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::iteExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>ifpart</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>thenpart</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>elsepart</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create IF ifpart THEN thenpart ELSE elsepart ENDIF. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ifpart</td><td>must be of type Boolean. </td></tr>
    <tr><td class="paramname">thenpart</td><td>and </td></tr>
    <tr><td class="paramname">elsepart</td><td>must have the same type, which will also be the type of the ite expression. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a87991a89b4411b323746c8b588d9848f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a87e95d316f668b4c7c4e12f5cb4fcbef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::distinctExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>children</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Create an expression asserting that all the children are different. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">children</td><td>the children to be asserted different </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adcea906016ca3187ea900f1d756db280">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af4c4ae47ec16622d9e2a9d9df8142b4f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ValidityChecker::createOp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a named uninterpreted function with a given type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>is the new function's name (as ID <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>) </td></tr>
    <tr><td class="paramname">type</td><td>is a function type ( [range -&gt; domain] ) </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac277dff0e38bab93673461c41898b0cc">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="abde9fa1109c88f65e2034ec6d1a30d46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ValidityChecker::createOp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>def</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a named user-defined function with a given type. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a49590168c0338addd56e63641709ebea">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a96eb85aad0bdafe47b24f3d8666851b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ValidityChecker::lookupOp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Type.html">Type</a> *&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the <a class="el" href="classCVC3_1_1Op.html">Op</a> associated with a name, and its type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>is the operator name </td></tr>
    <tr><td class="paramname">type</td><td>is where the type value is returned</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an <a class="el" href="classCVC3_1_1Op.html">Op</a> by the name. If there is no such <a class="el" href="classCVC3_1_1Op.html">Op</a>, a NULL \ <a class="el" href="classCVC3_1_1Op.html">Op</a> is returned. </dd></dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abf7359c0359f4e1bbf24c5f8fe93f9f0">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a5c19fd5e1a8e43a8883eca58ad797ed5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::funExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unary function application (op must be of function type) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1421f580601f509b1e7ff7ca8b2f8e9f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a8673ac26f4037bee851cf5f656961c4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::funExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Binary function application (op must be of function type) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abe89cf2af04179a93a2a27485e6c9473">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a37857ca31df69f5feda44ab7d83b9744"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::funExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ternary function application (op must be of function type) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae17dc6e81ba5fc1f854d7e223ecfe820">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af65af33c8863feca3060c1a81b0e3529"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::funExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>children</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>n-ary function application (op must be of function type) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae99d54ff8ff60083b35678f6943f61c8">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a56eb352f856ddbad57c5d59386c6b707"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ValidityChecker::addPairToArithOrder </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>smaller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>bigger</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Add the pair of variables to the variable ordering for aritmetic solving. Terms that are not arithmetic will be ignored. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">smaller</td><td>the smaller variable </td></tr>
    <tr><td class="paramname">bigger</td><td>the bigger variable </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a8e7b1855a671cd3684319b371a28f2f9">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aec8119cdf4ae54522453bcc7bd38ee7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::ratExpr </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>d</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a rational number with numerator n and denominator d. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the numerator </td></tr>
    <tr><td class="paramname">d</td><td>the denominator, cannot be 0. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#acfc983096f1d7aa9799d360a9cef8d3b">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a851711fb4ec7ad24d15cc19eb95269ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::ratExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a rational number with numerator n and denominator d. </p>
<p>Here n and d are given as strings. They are converted to arbitrary-precision integers according to the given base. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0bb82227b049be1571cd1ac76c6fd713">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="abce3bbb3799ea401847be8855c8312b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::ratExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em> = <code>10</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a rational from a single string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>can be a string containing an integer, a pair of integers "nnn/ddd", or a number in the fixed or floating point format. </td></tr>
    <tr><td class="paramname">base</td><td>is the base in which to interpret the string. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a08c469b8571beb3d14ec94c43383c491">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a12f382fd07555fd752a1fdd73c229024"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::uminusExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>child</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unary minus. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ab62447c6c1a4f71eeeb6d8aa665bbdc2">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6046359a3839172691301d9757a3eeb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::plusExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create 2-element sum (left + right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adad9006fd502d1d9ff190a8a4a343905">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a2b17a5ea1b6f80692257f44096c2ab00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::plusExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>children</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create n-element sum. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adb4461aac312f9681f4b410dcf5396e9">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a980a35d1a660890e16a66a7c1bfd6ba0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::minusExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Make a difference (left - right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a41b81d8fe76fa4bb44a69e16dfed7dc6">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ab1b58d4021a8e31263908cd5bee33e32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::multExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a product (left * right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac3d1c85bda8df4d88efb626cb7715244">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a24381e7d9d7f45f7ef13c149d8b153cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::powExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a power expression (x ^ n); n must be integer. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a686b064b5030c7d3bcf8aea018ed556f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af61a10ae50d4d513c09f76dddd11223e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::divideExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>numerator</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>denominator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create expression x / y. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#acabb3affe2525e363aa6c361305de34e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a7cef5cc2b578e99e8939ad76711e495c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::ltExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create (left &lt; right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aee9a9ef0742792f7c1357154f1d2a190">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a9dc437cff8d309fa99cbd90b3ad55341"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::leExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create (left &lt;= right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a5cf90d2c620b7e4f521cdd2affa85d9f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a51bb953c045384b30acbca69eca53b2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::gtExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create (left &gt; right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a39b6e5d030aa9aaf0bd57332cab4d5fc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a74b157ad937af0cac261946a38ea332d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::geExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>left</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>right</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create (left &gt;= right) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aa04879197ff8c223ef9e95022a3b5003">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad855a87b02f19efb297d45778a7ca52f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recordExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a 1-element record value (# field := expr #) </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#afe7f6ce6960db261e58d996e00164d64">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a486502a65e20eb2a842023fc13afbd0a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recordExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a 2-element record value (# field0 := expr0, field1 := expr1 #) </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9259afee51e2d525bc6ae192f534b686">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4f76dcae4a0b14df794453aade69e6d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recordExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>expr2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a 3-element record value (# field_i := expr_i #) </p>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aa6a023a06bfaec39f2c2dbf5b4e1e8dc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a762d5440e18fad5794d0969de0400edd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recordExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>fields</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>exprs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an n-element record value (# field_i := expr_i #) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fields</td><td></td></tr>
    <tr><td class="paramname">exprs</td><td>must be the same length as fields</td></tr>
  </table>
  </dd>
</dl>
<p>Fields will be sorted automatically </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af456da30bbb52b31fdc77971b71d47bf">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae9fea52582c06a904679b4a844299313"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recSelectExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>record</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create record.field (field selection) </p>
<p>Create an expression representing the selection of a field from a record. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abdf0c8d98e38c5b824e2ea7473eb3e55">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a0a3ff4cc5a24717e6ab7f17ca9ea19c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::recUpdateExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>record</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>newValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Record update; equivalent to "record WITH .field := newValue". </p>
<p>Notice the `.' before field in the presentation language (and the comment above); this is to distinguish it from datatype update. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a38d7fbf8d93c20be9924f26fe437ade6">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aa57f5268209bff87129ef39c711be6a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::readExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>array</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an expression array[index] (array access) </p>
<p>Create an expression for the value of array at the given index </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a84a759c7fa5b4ec5ddb84c883bdf75a5">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a82d1cd4a539ba065a4d2aa7967af5000"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::writeExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>array</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>newValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Array update; equivalent to "array WITH index := newValue". </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ab7da4a56f788600a62c928917d74c540">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a8d7cfd2bc38e6608e8fabccf396182f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVConstExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>base</em> = <code>2</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad808ce75e7443dec968f150527c7e13f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a28499d277d7ca254bb6f27231e5ea7ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVConstExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>bits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a70b9632e4c948f67117bc1fe56a1aafa">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a55feceb97242f35f5e6e0beba486a9e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVConstExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ab4a55736ee4768e8857885988e00d77f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a194e5e6621de9203ff1b184a22c32b48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newConcatExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a953786b640a1dedcef7d8e79907073f1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af0881961c56ba9e1cd5b4032eb0646aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newConcatExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abf90bf1abdb42ca036171d6c70863165">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a551eb1485d629c284e29cb8eeb776ed8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVExtractExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>low</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a4eddf5c30347830b147179e7eb6732bf">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad57809ddb17768c8fd447627f9b6b90a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVNegExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a15a2cba3773e26da60610ddf3f1f20fb">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a7e50b3d60b806d79d5d97af6eba19728"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVAndExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0fd006b863de61f56d243522d41082ed">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aa296310ead028a1818684badd1b626a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVAndExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a17593d9ec67a755c50f751dffe8b4629">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a98141c19a7abc59774f527b4f98bc1aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVOrExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a850bc85eb4f08da10eaca359f8510b00">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ab0613b10344029d78ce4159850c0cc49"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVOrExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6bfaea51e4c360ab46d82c964289123c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae1a6e8a5e57111a42db87e9d11e6b150"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVXorExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a22b8c4a8b8e10feac5a0cb2be04b64e7">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae9a8fde34d2c8665b61b5148de63351b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVXorExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a2f95f00a6aad1ea0f7c55cdd896ef6d8">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4ae3ef20079db52d6c84de84364eb8af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVXnorExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae5969df90d601a8aa881391653839d4e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3777362ed37835d5e1b2868cf2f57d73"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVXnorExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#adb46114412c8b2b967a213b9749642a2">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="afc90e5d6df401f5649b861e46c952dfb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVNandExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a7d208c54bf0609c3f0f634f70947ee75">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="af28f37f86585ba30ba867e88355cf422"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVNorExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aea79ee80d345a7e49f80038db8a5b904">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad47dc2aa5cb69948ca184b76d0b8bac3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVCompExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1a1e3f3f38cb6f11681b2dd236ee9f2f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a198d8a4d7933db5372b99671e0b27771"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVLTExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#afbcef11e642cd00f7dc4abeca0c67890">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae1ea9da1883a75470f13bfca8f2614df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVLEExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aafa81880381e35ca26e79d5fb7dbb923">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a61e842ef10b0d0cfa3f754f1f341db8a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSLTExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1f9cdb1f89dd900659b46fdf3ab80f16">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="acc2e768b37eda39b33ace039431b2aff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSLEExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a356c133efc5c121fa96e3006f2ef081e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a37a4a71934720db828f801c44da32240"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newSXExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad865f8a255fa67367cb1260598b68c3c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a1153da8c9d561e38913edff9aa36c226"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVUminusExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a4311e3b750558bf8a1b37d42c9874abc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="abd84a40922bde06c6cb06128e89f5536"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSubExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1632f50800db737db3a0fb757bac79f7">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a23c5240a0e31c7a7e2347bdf17520526"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVPlusExpr </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numbits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aa57e50da2a4941aa09539ca28066b672">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6ffaf04bb5e8b0cdabcb332714b954ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVPlusExpr </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numbits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aa349bae1e41c1ba6223fa8fbfedf531f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a7d2751f32319f1758e53d41d14b2d469"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVMultExpr </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numbits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a7435145013feee0f53d6a81fd1942f85">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad10093c8e25797c4ae394d8b592b9b0f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVUDivExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac9670fe188638ce265f77904c14db441">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a8a5823232eb256efcb711b94900be93a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVURemExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a743a8cf8a7f08257fd3cb24674fa0304">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ac141bc76b56a69a7f42d8a9185b76282"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSDivExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1479e6734fcdf11520f3b653cd1436d1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ada8d6b6601f3483501b2991d0fb5ba05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSRemExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a4179f0c70e3530b54a4e94879a76ea42">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a2ae931f1eb92ae772d08cd0dd92c9028"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSModExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a22457c0b227803396b927b8cae0d0a9c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="acbe544873a0659f8a864d9ce3f463a50"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newFixedLeftShiftExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a7ed70646c308375d2909680c34b959b2">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a2b425aabd7b4a7f0635d72834618f3dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newFixedConstWidthLeftShiftExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#acf0785a00fa5a359f9313556a4da5529">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a182b0b4867a96e83bf725b1e566e98a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newFixedRightShiftExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a2b35f788365e50336e4b6c0a462c23de">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aef98247579fe6a8d82e57ef39b3e5e59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVSHL </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a981627b5d8100269392c1a1daf2776d7">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae73dae1021a603627147fffb53765ee5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVLSHR </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a3918baa97a08c2d921a071aeae1620ab">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a10500cd28b37adb1506da26936b866b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::newBVASHR </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>t2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6066ea30e01094ecec5da8c3495b3f16">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a330c358aff5ee5e0b73e12699448e5cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Rational.html">Rational</a> CVC3::ValidityChecker::computeBVConst </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>'numbits' is the number of bits in the result </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a04480c805a21d6a1661b9c113b9f2cdc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3cb64e29675d0e83c5627bf5fc0d3379"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::tupleExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>exprs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tuple expression. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1a6f8cc80b6041ab02e6213a39862af4">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ab65fb702c2a05091991c64c6296f7166"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::tupleSelectExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>tuple</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tuple select; equivalent to "tuple.n", where n is an numeral (e.g. tup.5) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a7c0e2b25a828d0e637cdc4f89fe9378c">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="afa0dc38eaf0f6784b05bde26fb553220"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::tupleUpdateExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>tuple</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>newValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tuple update; equivalent to "tuple WITH index := newValue". </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac2ab260c25eaff6d52378d66563a2ddd">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a199639435bcf617344a134ee69ea34aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::datatypeConsExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>constructor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Datatype constructor expression. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aec600c20c4157a459c29e78989ecdfc1">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a891eae13d340b39b32b3fc92850d2ce0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::datatypeSelExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>selector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Datatype selector expression. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a62f5f50e1c29fd9571cb5c69b0fcc6e5">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a31cd218b72bbf503568e894d9d5f0d06"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::datatypeTestExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>constructor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Datatype tester expression. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6e732eeb679d7bd8023548a1b5e8d1e5">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a1b5cf16e412204959d3bc2e5f4ba9d73"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::boundVarExpr </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>uid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Type.html">Type</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a bound variable with a given name, unique ID (uid) and type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>is the name of the variable </td></tr>
    <tr><td class="paramname">uid</td><td>is the unique ID (a string), which must be unique for each variable </td></tr>
    <tr><td class="paramname">type</td><td>is its type. The type cannot be a function type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> representation of a new variable </dd></dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a52edb765ba784038221c6e4ea9d359af">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ac206ae42778d68f60f96d5b086cdf664"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::forallExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Universal quantifier. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af6092976dbe77be8467d2c7e61bcd1aa">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a26c6a6fe5b7c71bdcea6777d9da65b22"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::forallExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>trigger</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Universal quantifier with a trigger. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a59bf75e014217aefa07096d1729e6b2d">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae0acc6220fdf5384faff502fabb37725"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::forallExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>triggers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Universal quantifier with a set of triggers. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a88bf58cbbfa14bc15c5dbb8cf7ba3ecc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a6c0a38d28c5971d191b5dd47ca5bd640"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::forallExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>triggers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Universal quantifier with a set of multi-triggers. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aba40de981b8807c20c707c094a96b976">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a9deb04632dc242cab8bc609a60d5c273"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setTriggers </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>triggers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set triggers for quantifier instantiation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>the expression for which triggers are being set. </td></tr>
    <tr><td class="paramname">triggers</td><td>Each item in triggers is a vector of <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> containing one or more patterns. A pattern is a term or Atomic predicate sub-expression of e. A vector containing more than one pattern is treated as a multi-trigger. Patterns will be matched in the order they occur in the vector. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1c4ae115cdfbc91f2655b2a7d14a4179">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a32aef3bed0c68b9a279b977ab65b97db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setTriggers </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>triggers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set triggers for quantifier instantiation (no multi-triggers) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abed8eb2bc5db4894605aa32c9f3a36ef">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a830a327a8bd9b90bb67a6189c18959c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setTrigger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>trigger</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a single trigger for quantifier instantiation. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a89f6413e4777f866048cfe8922d28c74">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a120871553bce7c74daaa544688a8e260"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setMultiTrigger </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>multiTrigger</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a single multi-trigger for quantifier instantiation. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a38721614a497ca377725ae2e4651afce">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad61bd94dda8f8f4352825ea546f82ed7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::existsExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Existential quantifier. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a31a2891fc46ffcc5defeb229e2a12d07">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4530620e9da6098c859b97563ed98037"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ValidityChecker::lambdaExpr </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Lambda-expression. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9cdd152a9dc4d6b69a3abb7c48ce9151">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aa2ffae23f96fba3e94b0eb2102bd515c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ValidityChecker::transClosure </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Op.html">Op</a> &amp;&#160;</td>
          <td class="paramname"><em>op</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transitive closure of a binary predicate. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a71d76efee21313adcdf56240c27745ab">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a95230659969525d8bba737defd237736"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::simulateExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>s0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>inputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Symbolic simulation expression. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>is the next state function (LAMBDA-expression) </td></tr>
    <tr><td class="paramname">s0</td><td>is the initial state </td></tr>
    <tr><td class="paramname">inputs</td><td>is the vector of LAMBDA-expressions representing the sequences of inputs to f </td></tr>
    <tr><td class="paramname">n</td><td>is a constant, the number of cycles to run the simulation. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9ab50d02ab11cfd598cdc9b6684b7758">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aae0d652a72139c5cf856a7eeb68874cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setResourceLimit </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>limit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the resource limit (0==unlimited, 1==exhausted). </p>
<p>Currently, the limit is the total number of processed facts. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a1564c391386056f59b20973e3436c9ae">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae3a672c7d533a463b2cc0c850a67fda8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::setTimeLimit </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>limit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a time limit in tenth of a second,. </p>
<p>counting the cpu time used by the current process from now on. Currently, when the limit is reached, cvc3 tries to quickly terminate, probably with the status unknown. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a88cf6568b5efb0707a44db0436572ead">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad57f0a783141d3c7b0424102ea8724ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::assertFormula </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assert a new formula in the current context. </p>
<p>This creates the assumption e |- e. The formula must have Boolean type. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aea0cd6db38e63d1c40bf79f21251566c">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="cnf__manager_8cpp_source.html#l00550">SAT::CNF_Manager::cons()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1cc8c465b3d30a3db3b1e9f86917606"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::registerAtom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Register an atomic formula of interest. </p>
<p>Registered atoms are tracked by the decision procedures. If one of them is deduced to be true or false, it is added to a list of implied literals. Implied literals can be retrieved with the getImpliedLiteral function </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a54c9ceeaa6e94edd5af791d4fec621f5">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ad8983a33e3540b26cbdc37d3017caa89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getImpliedLiteral </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return next literal implied by last assertion. Null <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> if none. </p>
<p>Returned literals are either registered atomic formulas or their negation </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af6906b893f5e64392d83664cc977a5cd">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a088a718e4f0041caea02312077a586c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::simplify </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Simplify e with respect to the current context. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a21bd43458adee37cf07946df6801c06f">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a93b515a079fc8fdae5826dfcc343909e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a> CVC3::ValidityChecker::query </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check validity of e in the current context. </p>
<p>If it returns VALID, the scope and context are the same as when called. If it returns INVALID, the context will be one which falsifies the query. If it returns UNKNOWN, the context will falsify the query, but the context may be inconsistent. Finally, if it returns ABORT, the context will be one which satisfies as much as possible.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">e</td><td>is the queried formula </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aebafad6eace10f8aa2687cc6c600c53e">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="cnf__manager_8cpp_source.html#l00550">SAT::CNF_Manager::cons()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a66b10d795e7ecfa0fa8ce8b69eb07c10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a> CVC3::ValidityChecker::checkUnsat </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check satisfiability of the expr in the current context. </p>
<p>Equivalent to query(!e) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a5f4dea7a2339b50b34ddb6514a028130">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a7be9a77c0c8cbce185d02f5e5f40d21a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a> CVC3::ValidityChecker::checkContinue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the next model. </p>
<p>This method should only be called after a query which returns INVALID. Its return values are as for <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af4f8f201c7915eb1f762612375e6ccec">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aefdc8ccae46e254d26b574d5d3ad6fc1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a> CVC3::ValidityChecker::restart </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restart the most recent query with e as an additional assertion. </p>
<p>This method should only be called after a query which returns INVALID. Its return values are as for <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a>. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#afd3d88e7e58e6098c9f570fc7e812547">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a021eced066a375b644402863e3435919"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::returnFromCheck </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns to context immediately before last invalid query. </p>
<p>This method should only be called after a query which returns false. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af2cf35f9a462d155002d5684c817052f">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a1e21fa2a9b7176bda081fe4516295bbd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getUserAssumptions </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get assumptions made by the user in this and all previous contexts. </p>
<p>User assumptions are created either by calls to assertFormula or by a call to query. In the latter case, the negated query is added as an assumption. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ace44061f3aa2cb7653f03b3ae7befe61">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a406c7204afd077131364090d7049f07c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getInternalAssumptions </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get assumptions made internally in this and all previous contexts. </p>
<p>Internal assumptions are literals assumed by the sat solver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a6892f923575572e122a09b706a7f21fb">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a3a38ef396cf06f30bb5bceb5249716e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getAssumptions </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get all assumptions made in this and all previous contexts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a85b907166d3a2400e9ced227a5133d51">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a9cde84236d816aebd6c0a6c78c0c597e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getAssumptionsUsed </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the set of assumptions used in the proof of queried formula. </p>
<p>It returns a subset of <a class="el" href="classCVC3_1_1ValidityChecker.html#a3a38ef396cf06f30bb5bceb5249716e1" title="Get all assumptions made in this and all previous contexts.">getAssumptions()</a>. If the last query was false or there has not yet been a query, it does nothing. NOTE: this functionality is not supported yet </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af4022f5b9fa00e3b497143d3c042547e">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a93e30f775885bd6ebe8d8fab162139ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getProofQuery </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the resource limit (0==unlimited, 1==exhausted). </p>
<p>Currently, the limit is the total number of processed facts. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a42476ddbf6bbc848404e7e86c1e9976b">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a4e3b0f9d1129f476f116ad766105ddad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getCounterExample </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>inOrder</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the internal assumptions that make the queried formula false. </p>
<p>This method should only be called after a query which returns false. It will try to return the simplest possible subset of the internal assumptions sufficient to make the queried expression false. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
    <tr><td class="paramname">inOrder</td><td>if true, returns the assumptions in the order they were made. This is slightly more expensive than inOrder = false. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a78c08c36ccc94ca3222a2ea7ab4fb558">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00228">CVC3::VCCmd::printCounterExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a40c96301728846e2e3cc913ca716f897"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getConcreteModel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Will assign concrete values to all user created variables. </p>
<p>This function should only be called after a query which return false. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a14239feee2666a95a4b4d514d5ce4cb7">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00157">CVC3::VCCmd::printModel()</a>.</p>

</div>
</div>
<a class="anchor" id="a2c9bb81c75da36453ffb16a804a24605"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a060d21b3207cc3471e24f8dbcff3498b">QueryResult</a> CVC3::ValidityChecker::tryModelGeneration </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>If the result of the last query was UNKNOWN try to actually build the model to verify the result.</p>
<p>This function should only be called after a query which return unknown. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a39611be62fadaaeadcd97f84cbc7e162">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a65c5205beaa041a5d390a5803e401bd3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceCVC3.html#a9d68f126b86e6fd08b3bc13a511df9bf">FormulaValue</a> CVC3::ValidityChecker::value </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the resource limit (0==unlimited, 1==exhausted). </p>
<p>Currently, the limit is the total number of processed facts. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aae01a35fe02e9097aba1277b428c94fc">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="aef6a6eb5eb79e61a2e754ddbb65504a8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ValidityChecker::inconsistent </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the current context is inconsistent. </p>
<p>Also returns a minimal set of assertions used to determine the inconsistency. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">assumptions</td><td>should be empty on entry. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a0af2aa4f9b6df1bb331eafa9fc4f25a5">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf2a1447b7618070f993e8d0aafc6044"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ValidityChecker::inconsistent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the current context is inconsistent. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a459dc08bbf0d900d4f368ab1f40a4cf4">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="a20580108288f5df03a54076a9bd8fed5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ValidityChecker::incomplete </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the invalid result from last <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a> is imprecise. </p>
<p>Some decision procedures in CVC are incomplete (quantifier elimination, non-linear arithmetic, etc.). If any incomplete features were used during the last <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a>, and the result is "invalid" (<a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a> returns false), then this result is inconclusive. It means that the system gave up the search for contradiction at some point. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abb721e41cd062c4d629db1dbe7c8b23a">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00102">CVC3::VCCmd::reportResult()</a>.</p>

</div>
</div>
<a class="anchor" id="a92c7ba802985d0722843c4b9678bf8f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ValidityChecker::incomplete </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>reasons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the invalid result from last <a class="el" href="classCVC3_1_1ValidityChecker.html#a93b515a079fc8fdae5826dfcc343909e" title="Check validity of e in the current context.">query()</a> is imprecise. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCVC3_1_1ValidityChecker.html#a20580108288f5df03a54076a9bd8fed5" title="Returns true if the invalid result from last query() is imprecise.">incomplete()</a></dd></dl>
<p>The argument is filled with the reasons for incompleteness (they are intended to be shown to the end user). </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ae4c250b81ad25e02b54d283ed6359c35">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae82f9d7b8b0584323baa04d7d99a1ba4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a> CVC3::ValidityChecker::getProof </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the proof term for the last proven query. </p>
<p>If there has not been a successful query, it should return a NULL proof </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac251e9ad09e9c1846ba6032f29e5428d">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ab946acc8d84a44eb7bfec63d42bb0b91"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluate an expression and return a concrete value in the model. </p>
<p>If the last query was not invalid, should return NULL expr </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#af22ef97200024412e3a6b49c88635390">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ad9650915ed1bd526642a9c8d059e7e37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getAssignment </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the list of pairs (name value) for each :named attribute. </p>
<p>If the last query was not invalid, should return NULL expr </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a170bc9df9cdfb20b02256d0779385ecd">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a46eaebfca225ea519648db19d6c904"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getTCC </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the TCC of the last assumption or query. </p>
<p>Returns Null if no assumptions or queries were performed. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a9e603f49fd6223ca2ccb6727b205c617">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a48cceb9c7004dc5887e4f5067b8bc77a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::getAssumptionsTCC </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>assumptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the set of assumptions used in the proof of the last TCC. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad15c979254ddf1bf3d077f299dc85e35">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a92b98914e5abc57e902e2afc431615ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a> CVC3::ValidityChecker::getProofTCC </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the proof of TCC of the last assumption or query. </p>
<p>Returns Null if no assumptions or queries were performed. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a78d06cf8f6910e635224e27d39d1079d">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a31e9c1b41d4887a377af5af9c43586da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ValidityChecker::getClosure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>After successful query, return its closure |- Gamma =&gt; phi. </p>
<p>Turn a valid query Gamma |- phi into an implication |- Gamma =&gt; phi.</p>
<p>Returns Null if last query was invalid. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aef495640a259f901152b5dc43d541633">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a28fcabfa37fb118b722525255f0d3b98"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Proof.html">Proof</a> CVC3::ValidityChecker::getProofClosure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a proof of the query closure |- Gamma =&gt; phi. </p>
<p>Returns Null if last query was Invalid. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac762d30a06609aa527064eade8241590">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ac1a5a5a29d08461ec42bc904524aa550"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int CVC3::ValidityChecker::stackLevel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the current stack level. Initial level is 0. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ac43f348af95c325526a514e5c65d5871">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a93cbbe8c21c2404b03ccaa43636d5f59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::push </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checkpoint the current context and increase the scope level. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a551314970fbd6bae877a9e634da5e0e8">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="cnf__manager_8cpp_source.html#l00550">SAT::CNF_Manager::cons()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a3cee14a9c3b852b501a0594dd951f60c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::pop </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore the current context to its state at the last checkpoint. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a4ce3054f8f8cc88c5a4933408776d1a6">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="cnf__manager_8cpp_source.html#l00550">SAT::CNF_Manager::cons()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a7448ad88871ee774e6de9eae725867ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::popto </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stackLevel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore the current context to the given stackLevel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stackLevel</td><td>should be greater than or equal to 0 and less than or equal to the current scope level. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a330c7d817571648e016de1cfa8f15dea">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a8e60da88d484801579c15960f41a3f72"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int CVC3::ValidityChecker::scopeLevel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the current scope level. Initially, the scope level is 1. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aad6deac1e5b9eca3637a1e774cd082dc">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, <a class="el" href="vc__cmd_8cpp_source.html#l00228">CVC3::VCCmd::printCounterExample()</a>, and <a class="el" href="vc__cmd_8cpp_source.html#l00157">CVC3::VCCmd::printModel()</a>.</p>

</div>
</div>
<a class="anchor" id="aa6abf3f929951daba04f5e7874aa471c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::pushScope </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checkpoint the current context and increase the <b>internal</b> scope level. Do not use unless you know what you're doing! </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a2a1a1c5fc74e90b471a6d0fbd7407e21">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aa619f5732634c9274efaf7a61d5de646"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::popScope </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore the current context to its state at the last <b>internal</b> checkpoint. Do not use unless you know what you're doing! </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ad44c144ec31ebd2bb327070395d0d7fe">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ce4e72785c769c641466c0477a50c24"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::poptoScope </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>scopeLevel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore the current context to the given scopeLevel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scopeLevel</td><td>should be less than or equal to the current scope level.</td></tr>
  </table>
  </dd>
</dl>
<p>If scopeLevel is less than 1, then the current context is reset and the scope level is set to 1. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a72d3528e64b5695df57c7d9b4fd671b2">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aebd7d6618f53f20bb08d091f624277cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Context.html">Context</a>* CVC3::ValidityChecker::getCurrentContext </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current context. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#abb99bb93652210f73799830b5974aaa5">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00032">CVC3::VCCmd::VCCmd()</a>.</p>

</div>
</div>
<a class="anchor" id="accfa11d7cb5f45e4f73c01c09507f6b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destroy and recreate validity checker: resets everything except for flags. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#ab21a08026f0fbc5e58619874952a7745">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00944">CVC3::VCCmd::processCommands()</a>.</p>

</div>
</div>
<a class="anchor" id="a6f81650a2585c2698d30225c37754acf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::logAnnotation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>annot</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add an annotation to the current script - prints annot when translating. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#aa9830a10a07a840c3cde40c86160d0e4">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a68a96b7331b5a81b67c600cec05bbf8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::loadFile </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a>&#160;</td>
          <td class="paramname"><em>lang</em> = <code><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>interactive</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>calledFromParser</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read and execute the commands from a file given by name ("" means stdin) </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a22ebe140bc8edb5a4f2150828d7a63de">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="vc__cmd_8cpp_source.html#l00267">CVC3::VCCmd::evaluateCommand()</a>, and <a class="el" href="main_8cpp_source.html#l00092">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a73171527f6a3385c99e2376f8e4f9f18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::loadFile </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>is</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0e">InputLanguage</a>&#160;</td>
          <td class="paramname"><em>lang</em> = <code><a class="el" href="namespaceCVC3.html#a3aaaf7bc1fc47a4860ef6e59ddb0db0eaa315c228d5c3290ce37df81524ed8e9a">PRESENTATION_LANG</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>interactive</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read and execute the commands from a stream. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a335f72bbfb065244a109142c79d73eeb">CVC3::VCL</a>.</p>

</div>
</div>
<a class="anchor" id="ae2b134cb3f8caf1d2bac8a257bc95819"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Statistics.html">Statistics</a>&amp; CVC3::ValidityChecker::getStatistics </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get statistics object. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a2c6c8bea5a7157b00fffc255feffcd22">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="main_8cpp_source.html#l00055">sighandler()</a>.</p>

</div>
</div>
<a class="anchor" id="adbbcda1a243c746f667bcba597482cd6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ValidityChecker::printStatistics </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Print collected statistics to stdout. </p>

<p>Implemented in <a class="el" href="classCVC3_1_1VCL.html#a29fe4941b5cbb201d7918afeac0dc3cb">CVC3::VCL</a>.</p>

<p>Referenced by <a class="el" href="main_8cpp_source.html#l00092">main()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="vc_8h_source.html">vc.h</a></li>
<li><a class="el" href="vcl_8cpp_source.html">vcl.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 16 2013 13:25:19 for CVC3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>