Files
ortools-clone/docs/cpp/classoperations__research_1_1sat_1_1BinaryImplicationGraph.html
2020-09-01 16:01:06 +02:00

1579 lines
81 KiB
HTML

<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: BinaryImplicationGraph</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.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 id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1sat_1_1BinaryImplicationGraph.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classoperations__research_1_1sat_1_1BinaryImplicationGraph-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">BinaryImplicationGraph</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00455">455</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</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:a84754e7c05874d36ad86a9372d6ca728"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a84754e7c05874d36ad86a9372d6ca728">BinaryImplicationGraph</a> (<a class="el" href="classoperations__research_1_1sat_1_1Model.html">Model</a> *<a class="el" href="gurobi__interface_8cc.html#a0728f23c9a47655d38e0bf1a2f200bcf">model</a>)</td></tr>
<tr class="separator:a84754e7c05874d36ad86a9372d6ca728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae3332e0712d632910bb5c5e06a3d2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a2ae3332e0712d632910bb5c5e06a3d2d">~BinaryImplicationGraph</a> () override</td></tr>
<tr class="separator:a2ae3332e0712d632910bb5c5e06a3d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f591be5334541874ba049873235f0a9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a1f591be5334541874ba049873235f0a9">Propagate</a> (<a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> *trail) final</td></tr>
<tr class="separator:a1f591be5334541874ba049873235f0a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aa25e6e306c7158c11d2053170379a2"><td class="memItemLeft" align="right" valign="top">absl::Span&lt; const <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a5aa25e6e306c7158c11d2053170379a2">Reason</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail, int trail_index) const final</td></tr>
<tr class="separator:a5aa25e6e306c7158c11d2053170379a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7fbbd00f0e631ce361b5ce6636b2017"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#af7fbbd00f0e631ce361b5ce6636b2017">Resize</a> (int num_variables)</td></tr>
<tr class="separator:af7fbbd00f0e631ce361b5ce6636b2017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a357657ded604ecb97b76251146f7ac75"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a357657ded604ecb97b76251146f7ac75">IsEmpty</a> ()</td></tr>
<tr class="separator:a357657ded604ecb97b76251146f7ac75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26fc07b3630b79be6914e6387b63a073"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a26fc07b3630b79be6914e6387b63a073">AddBinaryClause</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a>, <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="separator:a26fc07b3630b79be6914e6387b63a073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94e79ff0c0a978e876dd1d44add9bc11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a94e79ff0c0a978e876dd1d44add9bc11">AddImplication</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a>, <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="separator:a94e79ff0c0a978e876dd1d44add9bc11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a2107f2a0daf6968b6c0dded5964497"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a4a2107f2a0daf6968b6c0dded5964497">AddBinaryClauseDuringSearch</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#af730895c6c6ef6e03caaf6251192dfd2">a</a>, <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="constraint__solver_2table_8cc.html#a344010e26426d6a13411648d988bc9b6">b</a>)</td></tr>
<tr class="separator:a4a2107f2a0daf6968b6c0dded5964497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec717d6bc59b3b48bb21276a081c62c1"><td class="memItemLeft" align="right" valign="top">ABSL_MUST_USE_RESULT bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#aec717d6bc59b3b48bb21276a081c62c1">AddAtMostOne</a> (absl::Span&lt; const <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; at_most_one)</td></tr>
<tr class="separator:aec717d6bc59b3b48bb21276a081c62c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a311c7dc55d8a10542d54dfeabca48450"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a311c7dc55d8a10542d54dfeabca48450">MinimizeConflictWithReachability</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *c)</td></tr>
<tr class="separator:a311c7dc55d8a10542d54dfeabca48450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af30fd0373e896f83bb84d2295a310492"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#af30fd0373e896f83bb84d2295a310492">MinimizeConflictExperimental</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail, std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *c)</td></tr>
<tr class="separator:af30fd0373e896f83bb84d2295a310492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95cb5284ae22d2cbca6cd69a275d8a98"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a95cb5284ae22d2cbca6cd69a275d8a98">MinimizeConflictFirst</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail, std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *c, <a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&lt; BooleanVariable &gt; *marked)</td></tr>
<tr class="separator:a95cb5284ae22d2cbca6cd69a275d8a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0111bb7d75cde729f1cb09856b27027b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a0111bb7d75cde729f1cb09856b27027b">MinimizeConflictFirstWithTransitiveReduction</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail, std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *c, <a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&lt; BooleanVariable &gt; *marked, <a class="el" href="namespaceoperations__research.html#a6743e8c90bbb85a1017486ed70c7d29b">random_engine_t</a> *random)</td></tr>
<tr class="separator:a0111bb7d75cde729f1cb09856b27027b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcad56047cef75a12528fe99794a6e1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#abcad56047cef75a12528fe99794a6e1e">RemoveFixedVariables</a> ()</td></tr>
<tr class="separator:abcad56047cef75a12528fe99794a6e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac261e221628d6a51be7243563659929"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#aac261e221628d6a51be7243563659929">DetectEquivalences</a> (bool log_info=false)</td></tr>
<tr class="separator:aac261e221628d6a51be7243563659929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7144ed926660fe38c0cfbeedbaa8dfc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ad7144ed926660fe38c0cfbeedbaa8dfc">IsDag</a> () const</td></tr>
<tr class="separator:ad7144ed926660fe38c0cfbeedbaa8dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159201373cdb82c7511c6ea81913e9b2"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; LiteralIndex &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a159201373cdb82c7511c6ea81913e9b2">ReverseTopologicalOrder</a> () const</td></tr>
<tr class="separator:a159201373cdb82c7511c6ea81913e9b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad035fe25e6b55ab773b5d454c946ad"><td class="memItemLeft" align="right" valign="top">const absl::InlinedVector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>, 6 &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#acad035fe25e6b55ab773b5d454c946ad">Implications</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> l) const</td></tr>
<tr class="separator:acad035fe25e6b55ab773b5d454c946ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fac58ca16fd746d7488a0a97f6965bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a6fac58ca16fd746d7488a0a97f6965bd">RepresentativeOf</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> l) const</td></tr>
<tr class="separator:a6fac58ca16fd746d7488a0a97f6965bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29218ade45d7df87f01459565526cfe2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a29218ade45d7df87f01459565526cfe2">ComputeTransitiveReduction</a> (bool log_info=false)</td></tr>
<tr class="separator:a29218ade45d7df87f01459565526cfe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ed77545127809d811ea158c29e9ef7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ab4ed77545127809d811ea158c29e9ef7">TransformIntoMaxCliques</a> (std::vector&lt; std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&gt; *at_most_ones, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> max_num_explored_nodes=1e8)</td></tr>
<tr class="separator:ab4ed77545127809d811ea158c29e9ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b5f3592cdf12c0df22b6583b3e9ed61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a7b5f3592cdf12c0df22b6583b3e9ed61">num_propagations</a> () const</td></tr>
<tr class="separator:a7b5f3592cdf12c0df22b6583b3e9ed61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a226de3db7ac8ac7a33cd682911672830"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a226de3db7ac8ac7a33cd682911672830">num_inspections</a> () const</td></tr>
<tr class="separator:a226de3db7ac8ac7a33cd682911672830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f25e4bf6f5972768cb431e51ac01b82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a3f25e4bf6f5972768cb431e51ac01b82">num_minimization</a> () const</td></tr>
<tr class="separator:a3f25e4bf6f5972768cb431e51ac01b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29701fe3514ad84a5e8ad3e925cf3804"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a29701fe3514ad84a5e8ad3e925cf3804">num_literals_removed</a> () const</td></tr>
<tr class="separator:a29701fe3514ad84a5e8ad3e925cf3804"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92844929b07caef45924b8c5e3a5a05c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a92844929b07caef45924b8c5e3a5a05c">IsRedundant</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> l) const</td></tr>
<tr class="separator:a92844929b07caef45924b8c5e3a5a05c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a193e09b22c8bb9f6168375efea6fe6ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a193e09b22c8bb9f6168375efea6fe6ba">num_redundant_literals</a> () const</td></tr>
<tr class="separator:a193e09b22c8bb9f6168375efea6fe6ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac40b290f8a1345fdf85dd5ca6e185f4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ac40b290f8a1345fdf85dd5ca6e185f4f">num_redundant_implications</a> () const</td></tr>
<tr class="separator:ac40b290f8a1345fdf85dd5ca6e185f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dcddbd6c9e8a05ca2170a13c9ff8cbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a6dcddbd6c9e8a05ca2170a13c9ff8cbb">num_implications</a> () const</td></tr>
<tr class="separator:a6dcddbd6c9e8a05ca2170a13c9ff8cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44c239ce3ac9f4886aa735ae3071a2f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a44c239ce3ac9f4886aa735ae3071a2f2">literal_size</a> () const</td></tr>
<tr class="separator:a44c239ce3ac9f4886aa735ae3071a2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558f9dd435d1f46d7408d60d0e9969f1"><td class="memTemplParams" colspan="2">template&lt;typename Output &gt; </td></tr>
<tr class="memitem:a558f9dd435d1f46d7408d60d0e9969f1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a558f9dd435d1f46d7408d60d0e9969f1">ExtractAllBinaryClauses</a> (Output *out) const</td></tr>
<tr class="separator:a558f9dd435d1f46d7408d60d0e9969f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75f1d17f36330a1c8a96e43fe8805598"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a75f1d17f36330a1c8a96e43fe8805598">SetDratProofHandler</a> (<a class="el" href="classoperations__research_1_1sat_1_1DratProofHandler.html">DratProofHandler</a> *drat_proof_handler)</td></tr>
<tr class="separator:a75f1d17f36330a1c8a96e43fe8805598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5b39642fef6e2bf3d7b3e2a0dd2c87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a3f5b39642fef6e2bf3d7b3e2a0dd2c87">ChangeReason</a> (int trail_index, <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> new_reason)</td></tr>
<tr class="separator:a3f5b39642fef6e2bf3d7b3e2a0dd2c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eb6126b57ff4ab8246fe54f4e5550f4"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#a7eb6126b57ff4ab8246fe54f4e5550f4">DirectImplications</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="optimization_8cc.html#af63dcc00f2023fdf498e0829e6fb8a6b">literal</a>)</td></tr>
<tr class="separator:a7eb6126b57ff4ab8246fe54f4e5550f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc581e906dd97aacce13dd14d6a12cf3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#afc581e906dd97aacce13dd14d6a12cf3">DirectImplicationsEstimatedSize</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> <a class="el" href="optimization_8cc.html#af63dcc00f2023fdf498e0829e6fb8a6b">literal</a>) const</td></tr>
<tr class="separator:afc581e906dd97aacce13dd14d6a12cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbf0624c5d966c4dcf29eece343e0592"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#abbf0624c5d966c4dcf29eece343e0592">FindFailedLiteralAroundVar</a> (BooleanVariable <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, bool *is_unsat)</td></tr>
<tr class="separator:abbf0624c5d966c4dcf29eece343e0592"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addf8503ac6335c8001276ed7760d7508"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#addf8503ac6335c8001276ed7760d7508">NumImplicationOnVariableRemoval</a> (BooleanVariable <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
<tr class="separator:addf8503ac6335c8001276ed7760d7508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab95a602604a2056d11cba9119e490236"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ab95a602604a2056d11cba9119e490236">RemoveBooleanVariable</a> (BooleanVariable <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, std::deque&lt; std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&gt; *postsolve_clauses)</td></tr>
<tr class="separator:ab95a602604a2056d11cba9119e490236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d9e6c6ea7ab13e0d0002a035a6d308"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ad2d9e6c6ea7ab13e0d0002a035a6d308">IsRemoved</a> (<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> l) const</td></tr>
<tr class="separator:ad2d9e6c6ea7ab13e0d0002a035a6d308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab64429b401679aee0bbd618449a9152a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html#ab64429b401679aee0bbd618449a9152a">CleanupAllRemovedVariables</a> ()</td></tr>
<tr class="separator:ab64429b401679aee0bbd618449a9152a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12bf9bd5308cf2b5d67e3a7e6688aa5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a12bf9bd5308cf2b5d67e3a7e6688aa5a">SetPropagatorId</a> (int id)</td></tr>
<tr class="separator:a12bf9bd5308cf2b5d67e3a7e6688aa5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5298758773353d79435345e19a7b3a38"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a5298758773353d79435345e19a7b3a38">PropagatorId</a> () const</td></tr>
<tr class="separator:a5298758773353d79435345e19a7b3a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad857d56dc202cc4801dca57ca8414f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#acad857d56dc202cc4801dca57ca8414f">Untrail</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail, int trail_index)</td></tr>
<tr class="separator:acad857d56dc202cc4801dca57ca8414f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae51aa8ed977c84ca2ab605dcf809d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a4ae51aa8ed977c84ca2ab605dcf809d4">PropagatePreconditionsAreSatisfied</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail) const</td></tr>
<tr class="separator:a4ae51aa8ed977c84ca2ab605dcf809d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af02128adebd91298a21c579e2128bb32"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#af02128adebd91298a21c579e2128bb32">PropagationIsDone</a> (const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;trail) const</td></tr>
<tr class="separator:af02128adebd91298a21c579e2128bb32"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a723d30392e2c4f36252de0528a1b246d"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a723d30392e2c4f36252de0528a1b246d">name_</a></td></tr>
<tr class="separator:a723d30392e2c4f36252de0528a1b246d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af2aa6e387b8037179350b735fe127e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a0af2aa6e387b8037179350b735fe127e">propagator_id_</a></td></tr>
<tr class="separator:a0af2aa6e387b8037179350b735fe127e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06e2c6f3432a89d0160b831d48afd8b7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a06e2c6f3432a89d0160b831d48afd8b7">propagation_trail_index_</a></td></tr>
<tr class="separator:a06e2c6f3432a89d0160b831d48afd8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a84754e7c05874d36ad86a9372d6ca728"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84754e7c05874d36ad86a9372d6ca728">&#9670;&nbsp;</a></span>BinaryImplicationGraph()</h2>
<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="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html">BinaryImplicationGraph</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Model.html">Model</a> *&#160;</td>
<td class="paramname"><em>model</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00457">457</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a2ae3332e0712d632910bb5c5e06a3d2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ae3332e0712d632910bb5c5e06a3d2d">&#9670;&nbsp;</a></span>~BinaryImplicationGraph()</h2>
<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="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html">BinaryImplicationGraph</a> </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">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00465">465</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aec717d6bc59b3b48bb21276a081c62c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec717d6bc59b3b48bb21276a081c62c1">&#9670;&nbsp;</a></span>AddAtMostOne()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool AddAtMostOne </td>
<td>(</td>
<td class="paramtype">absl::Span&lt; const <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&#160;</td>
<td class="paramname"><em>at_most_one</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00530">530</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a26fc07b3630b79be6914e6387b63a073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26fc07b3630b79be6914e6387b63a073">&#9670;&nbsp;</a></span>AddBinaryClause()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AddBinaryClause </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00490">490</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a4a2107f2a0daf6968b6c0dded5964497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a2107f2a0daf6968b6c0dded5964497">&#9670;&nbsp;</a></span>AddBinaryClauseDuringSearch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool AddBinaryClauseDuringSearch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00507">507</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a94e79ff0c0a978e876dd1d44add9bc11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94e79ff0c0a978e876dd1d44add9bc11">&#9670;&nbsp;</a></span>AddImplication()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AddImplication </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>b</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00486">486</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a3f5b39642fef6e2bf3d7b3e2a0dd2c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5b39642fef6e2bf3d7b3e2a0dd2c87">&#9670;&nbsp;</a></span>ChangeReason()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ChangeReason </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trail_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>new_reason</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00659">659</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="ab64429b401679aee0bbd618449a9152a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab64429b401679aee0bbd618449a9152a">&#9670;&nbsp;</a></span>CleanupAllRemovedVariables()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CleanupAllRemovedVariables </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01777">1777</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a29218ade45d7df87f01459565526cfe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29218ade45d7df87f01459565526cfe2">&#9670;&nbsp;</a></span>ComputeTransitiveReduction()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ComputeTransitiveReduction </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>log_info</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01309">1309</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="aac261e221628d6a51be7243563659929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac261e221628d6a51be7243563659929">&#9670;&nbsp;</a></span>DetectEquivalences()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DetectEquivalences </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>log_info</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01122">1122</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a7eb6126b57ff4ab8246fe54f4e5550f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb6126b57ff4ab8246fe54f4e5550f4">&#9670;&nbsp;</a></span>DirectImplications()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; &amp; DirectImplications </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>literal</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01646">1646</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="afc581e906dd97aacce13dd14d6a12cf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc581e906dd97aacce13dd14d6a12cf3">&#9670;&nbsp;</a></span>DirectImplicationsEstimatedSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int DirectImplicationsEstimatedSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>literal</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00678">678</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a558f9dd435d1f46d7408d60d0e9969f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a558f9dd435d1f46d7408d60d0e9969f1">&#9670;&nbsp;</a></span>ExtractAllBinaryClauses()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ExtractAllBinaryClauses </td>
<td>(</td>
<td class="paramtype">Output *&#160;</td>
<td class="paramname"><em>out</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00631">631</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="abbf0624c5d966c4dcf29eece343e0592"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbf0624c5d966c4dcf29eece343e0592">&#9670;&nbsp;</a></span>FindFailedLiteralAroundVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FindFailedLiteralAroundVar </td>
<td>(</td>
<td class="paramtype">BooleanVariable&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>is_unsat</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01689">1689</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="acad035fe25e6b55ab773b5d454c946ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acad035fe25e6b55ab773b5d454c946ad">&#9670;&nbsp;</a></span>Implications()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const absl::InlinedVector&lt;<a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>, 6&gt;&amp; Implications </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00552">552</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="ad7144ed926660fe38c0cfbeedbaa8dfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7144ed926660fe38c0cfbeedbaa8dfc">&#9670;&nbsp;</a></span>IsDag()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsDag </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00541">541</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a357657ded604ecb97b76251146f7ac75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a357657ded604ecb97b76251146f7ac75">&#9670;&nbsp;</a></span>IsEmpty()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsEmpty </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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00481">481</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a92844929b07caef45924b8c5e3a5a05c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92844929b07caef45924b8c5e3a5a05c">&#9670;&nbsp;</a></span>IsRedundant()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsRedundant </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00605">605</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="ad2d9e6c6ea7ab13e0d0002a035a6d308"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2d9e6c6ea7ab13e0d0002a035a6d308">&#9670;&nbsp;</a></span>IsRemoved()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsRemoved </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00693">693</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a44c239ce3ac9f4886aa735ae3071a2f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44c239ce3ac9f4886aa735ae3071a2f2">&#9670;&nbsp;</a></span>literal_size()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> literal_size </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00621">621</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="af30fd0373e896f83bb84d2295a310492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af30fd0373e896f83bb84d2295a310492">&#9670;&nbsp;</a></span>MinimizeConflictExperimental()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MinimizeConflictExperimental </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00910">910</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a95cb5284ae22d2cbca6cd69a275d8a98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95cb5284ae22d2cbca6cd69a275d8a98">&#9670;&nbsp;</a></span>MinimizeConflictFirst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MinimizeConflictFirst </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&lt; BooleanVariable &gt; *&#160;</td>
<td class="paramname"><em>marked</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00830">830</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a0111bb7d75cde729f1cb09856b27027b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0111bb7d75cde729f1cb09856b27027b">&#9670;&nbsp;</a></span>MinimizeConflictFirstWithTransitiveReduction()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MinimizeConflictFirstWithTransitiveReduction </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&lt; BooleanVariable &gt; *&#160;</td>
<td class="paramname"><em>marked</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceoperations__research.html#a6743e8c90bbb85a1017486ed70c7d29b">random_engine_t</a> *&#160;</td>
<td class="paramname"><em>random</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00848">848</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a311c7dc55d8a10542d54dfeabca48450"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a311c7dc55d8a10542d54dfeabca48450">&#9670;&nbsp;</a></span>MinimizeConflictWithReachability()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MinimizeConflictWithReachability </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; *&#160;</td>
<td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00753">753</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a6dcddbd6c9e8a05ca2170a13c9ff8cbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dcddbd6c9e8a05ca2170a13c9ff8cbb">&#9670;&nbsp;</a></span>num_implications()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_implications </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00620">620</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a226de3db7ac8ac7a33cd682911672830"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a226de3db7ac8ac7a33cd682911672830">&#9670;&nbsp;</a></span>num_inspections()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_inspections </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00593">593</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a29701fe3514ad84a5e8ad3e925cf3804"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29701fe3514ad84a5e8ad3e925cf3804">&#9670;&nbsp;</a></span>num_literals_removed()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_literals_removed </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00597">597</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a3f25e4bf6f5972768cb431e51ac01b82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f25e4bf6f5972768cb431e51ac01b82">&#9670;&nbsp;</a></span>num_minimization()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_minimization </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00596">596</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a7b5f3592cdf12c0df22b6583b3e9ed61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b5f3592cdf12c0df22b6583b3e9ed61">&#9670;&nbsp;</a></span>num_propagations()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_propagations </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00590">590</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="ac40b290f8a1345fdf85dd5ca6e185f4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac40b290f8a1345fdf85dd5ca6e185f4f">&#9670;&nbsp;</a></span>num_redundant_implications()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_redundant_implications </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00612">612</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a193e09b22c8bb9f6168375efea6fe6ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a193e09b22c8bb9f6168375efea6fe6ba">&#9670;&nbsp;</a></span>num_redundant_literals()</h2>
<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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> num_redundant_literals </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00606">606</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="addf8503ac6335c8001276ed7760d7508"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addf8503ac6335c8001276ed7760d7508">&#9670;&nbsp;</a></span>NumImplicationOnVariableRemoval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> NumImplicationOnVariableRemoval </td>
<td>(</td>
<td class="paramtype">BooleanVariable&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01714">1714</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a1f591be5334541874ba049873235f0a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f591be5334541874ba049873235f0a9">&#9670;&nbsp;</a></span>Propagate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Propagate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> *&#160;</td>
<td class="paramname"><em>trail</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a1973900fa40bcf4f3d07a5230b6eb854">SatPropagator</a>.</p>
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00729">729</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a4ae51aa8ed977c84ca2ab605dcf809d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ae51aa8ed977c84ca2ab605dcf809d4">&#9670;&nbsp;</a></span>PropagatePreconditionsAreSatisfied()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PropagatePreconditionsAreSatisfied </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00516">516</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="af02128adebd91298a21c579e2128bb32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af02128adebd91298a21c579e2128bb32">&#9670;&nbsp;</a></span>PropagationIsDone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PropagationIsDone </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00499">499</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="a5298758773353d79435345e19a7b3a38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5298758773353d79435345e19a7b3a38">&#9670;&nbsp;</a></span>PropagatorId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PropagatorId </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">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00452">452</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="a5aa25e6e306c7158c11d2053170379a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5aa25e6e306c7158c11d2053170379a2">&#9670;&nbsp;</a></span>Reason()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">absl::Span&lt; const <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt; Reason </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trail_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1sat_1_1SatPropagator.html#a3891e18b248df125102b1c0f4c0b6691">SatPropagator</a>.</p>
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00741">741</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="ab95a602604a2056d11cba9119e490236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab95a602604a2056d11cba9119e490236">&#9670;&nbsp;</a></span>RemoveBooleanVariable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RemoveBooleanVariable </td>
<td>(</td>
<td class="paramtype">BooleanVariable&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::deque&lt; std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&gt; *&#160;</td>
<td class="paramname"><em>postsolve_clauses</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01734">1734</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="abcad56047cef75a12528fe99794a6e1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcad56047cef75a12528fe99794a6e1e">&#9670;&nbsp;</a></span>RemoveFixedVariables()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RemoveFixedVariables </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00961">961</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a6fac58ca16fd746d7488a0a97f6965bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fac58ca16fd746d7488a0a97f6965bd">&#9670;&nbsp;</a></span>RepresentativeOf()</h2>
<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="classoperations__research_1_1sat_1_1Literal.html">Literal</a> RepresentativeOf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a>&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td> const</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 class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00559">559</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="af7fbbd00f0e631ce361b5ce6636b2017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7fbbd00f0e631ce361b5ce6636b2017">&#9670;&nbsp;</a></span>Resize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Resize </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_variables</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l00476">476</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="a159201373cdb82c7511c6ea81913e9b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a159201373cdb82c7511c6ea81913e9b2">&#9670;&nbsp;</a></span>ReverseTopologicalOrder()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;LiteralIndex&gt;&amp; ReverseTopologicalOrder </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00545">545</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a75f1d17f36330a1c8a96e43fe8805598"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75f1d17f36330a1c8a96e43fe8805598">&#9670;&nbsp;</a></span>SetDratProofHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetDratProofHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1sat_1_1DratProofHandler.html">DratProofHandler</a> *&#160;</td>
<td class="paramname"><em>drat_proof_handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8h_source.html#l00652">652</a> of file <a class="el" href="clause_8h_source.html">clause.h</a>.</p>
</div>
</div>
<a id="a12bf9bd5308cf2b5d67e3a7e6688aa5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12bf9bd5308cf2b5d67e3a7e6688aa5a">&#9670;&nbsp;</a></span>SetPropagatorId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetPropagatorId </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00451">451</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="ab4ed77545127809d811ea158c29e9ef7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4ed77545127809d811ea158c29e9ef7">&#9670;&nbsp;</a></span>TransformIntoMaxCliques()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool TransformIntoMaxCliques </td>
<td>(</td>
<td class="paramtype">std::vector&lt; std::vector&lt; <a class="el" href="classoperations__research_1_1sat_1_1Literal.html">Literal</a> &gt;&gt; *&#160;</td>
<td class="paramname"><em>at_most_ones</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>max_num_explored_nodes</em> = <code>1e8</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="clause_8cc_source.html#l01498">1498</a> of file <a class="el" href="clause_8cc_source.html">clause.cc</a>.</p>
</div>
</div>
<a id="acad857d56dc202cc4801dca57ca8414f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acad857d56dc202cc4801dca57ca8414f">&#9670;&nbsp;</a></span>Untrail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Untrail </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1sat_1_1Trail.html">Trail</a> &amp;&#160;</td>
<td class="paramname"><em>trail</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trail_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">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classoperations__research_1_1sat_1_1PbConstraints.html#ae20e3965a974e3a5fe816c033a94e568">PbConstraints</a>, <a class="el" href="classoperations__research_1_1sat_1_1SymmetryPropagator.html#ae20e3965a974e3a5fe816c033a94e568">SymmetryPropagator</a>, <a class="el" href="classoperations__research_1_1sat_1_1PrecedencesPropagator.html#ae20e3965a974e3a5fe816c033a94e568">PrecedencesPropagator</a>, <a class="el" href="classoperations__research_1_1sat_1_1GenericLiteralWatcher.html#af46d3e8559a1951914b218e3ef4f34c7">GenericLiteralWatcher</a>, and <a class="el" href="classoperations__research_1_1sat_1_1IntegerTrail.html#af46d3e8559a1951914b218e3ef4f34c7">IntegerTrail</a>.</p>
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00474">474</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a723d30392e2c4f36252de0528a1b246d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a723d30392e2c4f36252de0528a1b246d">&#9670;&nbsp;</a></span>name_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string name_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00504">504</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="a06e2c6f3432a89d0160b831d48afd8b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06e2c6f3432a89d0160b831d48afd8b7">&#9670;&nbsp;</a></span>propagation_trail_index_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int propagation_trail_index_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00506">506</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<a id="a0af2aa6e387b8037179350b735fe127e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0af2aa6e387b8037179350b735fe127e">&#9670;&nbsp;</a></span>propagator_id_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int propagator_id_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="sat__base_8h_source.html#l00505">505</a> of file <a class="el" href="sat__base_8h_source.html">sat_base.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="clause_8h_source.html">clause.h</a></li>
<li><a class="el" href="clause_8cc_source.html">clause.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="namespaceoperations__research_1_1sat.html">sat</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1sat_1_1BinaryImplicationGraph.html">BinaryImplicationGraph</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
</ul>
</div>
</body>
</html>