This commit is contained in:
c-cube 2021-06-11 23:00:26 +00:00
parent 16ab84e1c5
commit 54f90282b9
21 changed files with 21 additions and 21 deletions

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_msat_solver (sidekick.Sidekick_msat_solver)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">sidekick</a> &#x00BB; Sidekick_msat_solver</nav><h1>Module <code>Sidekick_msat_solver</code></h1><h2 id="implementation-of-a-solver-using-msat"><a href="#implementation-of-a-solver-using-msat" class="anchor"></a>Implementation of a Solver using Msat</h2></header><div class="spec module" id="module-Log"><a href="#module-Log" class="anchor"></a><code><span class="keyword">module</span> Log = Msat.Log</code></div><div class="spec module-type" id="module-type-ARG"><a href="#module-type-ARG" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-ARG/index.html">ARG</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <a href="../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span class="keyword">module</span> <a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-A/index.html">A</a> : <a href="index.html#module-type-ARG">ARG</a>) <span>&#45;&gt;</span> <a href="index.html#module-type-S">S</a> <span class="keyword">with</span> <span class="keyword">module</span> <a href="Make/T/index.html">T</a> = <a href="Make/argument-1-A/index.html#module-T">A.T</a> <span class="keyword">and</span> <span class="keyword">module</span> <a href="Make/P/index.html">P</a> = <a href="Make/argument-1-A/index.html#module-P">A.P</a></code></div></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_msat_solver (sidekick.Sidekick_msat_solver)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">sidekick</a> &#x00BB; Sidekick_msat_solver</nav><h1>Module <code>Sidekick_msat_solver</code></h1><h2 id="implementation-of-a-solver-using-msat"><a href="#implementation-of-a-solver-using-msat" class="anchor"></a>Implementation of a Solver using Msat</h2></header><aside><p><a href="https://github.com/Gbury/mSAT/">Msat</a> is a modular SAT solver in pure OCaml.</p><p>This builds a <a href="../Sidekick_core/module-type-SOLVER/index.html"><code>Sidekick_core.SOLVER</code></a> on top of it.</p></aside><dl><dt class="spec module" id="module-Log"><a href="#module-Log" class="anchor"></a><code><span class="keyword">module</span> Log = Msat.Log</code></dt><dd><p>A logging module</p></dd></dl><dl><dt class="spec module-type" id="module-type-ARG"><a href="#module-type-ARG" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-ARG/index.html">ARG</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Argument to pass to the functor <a href="Make/index.html"><code>Make</code></a> in order to create a new Msat-based SMT solver.</p></dd></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <a href="../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span class="keyword">module</span> <a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-A/index.html">A</a> : <a href="index.html#module-type-ARG">ARG</a>) <span>&#45;&gt;</span> <a href="index.html#module-type-S">S</a> <span class="keyword">with</span> <span class="keyword">module</span> <a href="Make/T/index.html">T</a> = <a href="Make/argument-1-A/index.html#module-T">A.T</a> <span class="keyword">and</span> <span class="keyword">module</span> <a href="Make/P/index.html">P</a> = <a href="Make/argument-1-A/index.html#module-P">A.P</a></code></dt><dd><p>Main functor to get a solver.</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ARG (sidekick.Sidekick_msat_solver.ARG)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_msat_solver</a> &#x00BB; ARG</nav><h1>Module type <code>Sidekick_msat_solver.ARG</code></h1></header><div class="spec module" id="module-T"><a href="#module-T" class="anchor"></a><code><span class="keyword">module</span> <a href="T/index.html">T</a> : <a href="../../Sidekick_core/index.html#module-type-TERM">Sidekick_core.TERM</a></code></div><div class="spec module" id="module-P"><a href="#module-P" class="anchor"></a><code><span class="keyword">module</span> <a href="P/index.html">P</a> : <a href="../../Sidekick_core/index.html#module-type-PROOF">Sidekick_core.PROOF</a></code></div><dl><dt class="spec value" id="val-cc_view"><a href="#val-cc_view" class="anchor"></a><code><span class="keyword">val</span> cc_view : <a href="T/Term/index.html#type-t">T.Term.t</a> <span>&#45;&gt;</span> <span><span>(<a href="T/Fun/index.html#type-t">T.Fun.t</a>, <a href="T/Term/index.html#type-t">T.Term.t</a>, <span><a href="T/Term/index.html#type-t">T.Term.t</a> Iter.t</span>)</span> <a href="../../Sidekick_core/CC_view/index.html#type-t">Sidekick_core.CC_view.t</a></span></code></dt><dt class="spec value" id="val-is_valid_literal"><a href="#val-is_valid_literal" class="anchor"></a><code><span class="keyword">val</span> is_valid_literal : <a href="T/Term/index.html#type-t">T.Term.t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Is this a valid boolean literal? (e.g. is it a closed term, not inside a quantifier)</p></dd></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>ARG (sidekick.Sidekick_msat_solver.ARG)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_msat_solver</a> &#x00BB; ARG</nav><h1>Module type <code>Sidekick_msat_solver.ARG</code></h1><p>Argument to pass to the functor <a href="../Make/index.html"><code>Make</code></a> in order to create a new Msat-based SMT solver.</p></header><div class="spec module" id="module-T"><a href="#module-T" class="anchor"></a><code><span class="keyword">module</span> <a href="T/index.html">T</a> : <a href="../../Sidekick_core/index.html#module-type-TERM">Sidekick_core.TERM</a></code></div><div class="spec module" id="module-P"><a href="#module-P" class="anchor"></a><code><span class="keyword">module</span> <a href="P/index.html">P</a> : <a href="../../Sidekick_core/index.html#module-type-PROOF">Sidekick_core.PROOF</a></code></div><dl><dt class="spec value" id="val-cc_view"><a href="#val-cc_view" class="anchor"></a><code><span class="keyword">val</span> cc_view : <a href="T/Term/index.html#type-t">T.Term.t</a> <span>&#45;&gt;</span> <span><span>(<a href="T/Fun/index.html#type-t">T.Fun.t</a>, <a href="T/Term/index.html#type-t">T.Term.t</a>, <span><a href="T/Term/index.html#type-t">T.Term.t</a> Iter.t</span>)</span> <a href="../../Sidekick_core/CC_view/index.html#type-t">Sidekick_core.CC_view.t</a></span></code></dt><dt class="spec value" id="val-is_valid_literal"><a href="#val-is_valid_literal" class="anchor"></a><code><span class="keyword">val</span> is_valid_literal : <a href="T/Term/index.html#type-t">T.Term.t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Is this a valid boolean literal? (e.g. is it a closed term, not inside a quantifier)</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.Make.1-A.Gensym)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../../index.html">Make</a> &#x00BB; <a href="../index.html">1-A</a> &#x00BB; Gensym</nav><h1>Module <code>1-A.Gensym</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.Make.1-A.Gensym)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../../index.html">Make</a> &#x00BB; <a href="../index.html">1-A</a> &#x00BB; Gensym</nav><h1>Module <code>1-A.Gensym</code></h1><p>Fresh symbol generator.</p><p>The theory needs to be able to create new terms with fresh names, to be used as placeholders for complex formulas during Tseitin encoding.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>New (stateful) generator instance.</p></dd></dl><dl><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-A (sidekick.Sidekick_th_bool_static.Make.1-A)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-A</nav><h1>Parameter <code>Make.1-A</code></h1></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><div class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-A (sidekick.Sidekick_th_bool_static.Make.1-A)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-A</nav><h1>Parameter <code>Make.1-A</code></h1></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view.</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view.</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><dl><dt class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Fresh symbol generator.</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (sidekick.Sidekick_th_bool_static.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; Make</nav><h1>Module <code>Sidekick_th_bool_static.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></li></ul><h3 class="heading">Signature</h3><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> A = <a href="index.html#argument-1-A">A</a></code></div><dl><dt class="spec type" id="type-state"><a href="#type-state" class="anchor"></a><code><span class="keyword">type</span> state</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="A/S/T/Term/index.html#type-state">A.S.T.Term.state</a> <span>&#45;&gt;</span> <a href="A/S/T/Ty/index.html#type-state">A.S.T.Ty.state</a> <span>&#45;&gt;</span> <a href="index.html#type-state">state</a></code></dt><dt class="spec value" id="val-simplify"><a href="#val-simplify" class="anchor"></a><code><span class="keyword">val</span> simplify : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-simplify_hook">A.S.Solver_internal.simplify_hook</a></code></dt><dd><p>Simplify given term</p></dd></dl><dl><dt class="spec value" id="val-cnf"><a href="#val-cnf" class="anchor"></a><code><span class="keyword">val</span> cnf : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-preprocess_hook">A.S.Solver_internal.preprocess_hook</a></code></dt><dd><p>add clauses for the booleans within the term.</p></dd></dl><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (sidekick.Sidekick_th_bool_static.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; Make</nav><h1>Module <code>Sidekick_th_bool_static.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></li></ul><h3 class="heading">Signature</h3><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> A = <a href="index.html#argument-1-A">A</a></code></div><dl><dt class="spec type" id="type-state"><a href="#type-state" class="anchor"></a><code><span class="keyword">type</span> state</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="A/S/T/Term/index.html#type-state">A.S.T.Term.state</a> <span>&#45;&gt;</span> <a href="A/S/T/Ty/index.html#type-state">A.S.T.Ty.state</a> <span>&#45;&gt;</span> <a href="index.html#type-state">state</a></code></dt><dt class="spec value" id="val-simplify"><a href="#val-simplify" class="anchor"></a><code><span class="keyword">val</span> simplify : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-simplify_hook">A.S.Solver_internal.simplify_hook</a></code></dt><dd><p>Simplify given term</p></dd></dl><dl><dt class="spec value" id="val-cnf"><a href="#val-cnf" class="anchor"></a><code><span class="keyword">val</span> cnf : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-preprocess_hook">A.S.Solver_internal.preprocess_hook</a></code></dt><dd><p>preprocesses formulas by giving them names and adding clauses to equate the name with the boolean formula.</p></dd></dl><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt><dd><p>A theory that can be added to the solver <a href="A/S/index.html"><code>A.S</code></a>.</p><p>This theory does most of its work during preprocessing, turning boolean formulas into SAT clauses via the <a href="https://en.wikipedia.org/wiki/Tseytin_transformation">Tseitin encoding</a> .</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.ARG.Gensym)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">ARG</a> &#x00BB; Gensym</nav><h1>Module <code>ARG.Gensym</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.ARG.Gensym)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">ARG</a> &#x00BB; Gensym</nav><h1>Module <code>ARG.Gensym</code></h1><p>Fresh symbol generator.</p><p>The theory needs to be able to create new terms with fresh names, to be used as placeholders for complex formulas during Tseitin encoding.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>New (stateful) generator instance.</p></dd></dl><dl><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ARG (sidekick.Sidekick_th_bool_static.ARG)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; ARG</nav><h1>Module type <code>Sidekick_th_bool_static.ARG</code></h1></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><div class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>ARG (sidekick.Sidekick_th_bool_static.ARG)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; ARG</nav><h1>Module type <code>Sidekick_th_bool_static.ARG</code></h1><p>Argument to the theory</p></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view.</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view.</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><dl><dt class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Fresh symbol generator.</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.S.A.Gensym)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../../index.html">S</a> &#x00BB; <a href="../index.html">A</a> &#x00BB; Gensym</nav><h1>Module <code>A.Gensym</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Gensym (sidekick.Sidekick_th_bool_static.S.A.Gensym)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../../index.html">S</a> &#x00BB; <a href="../index.html">A</a> &#x00BB; Gensym</nav><h1>Module <code>A.Gensym</code></h1><p>Fresh symbol generator.</p><p>The theory needs to be able to create new terms with fresh names, to be used as placeholders for complex formulas during Tseitin encoding.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="../S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>New (stateful) generator instance.</p></dd></dl><dl><dt class="spec value" id="val-fresh_term"><a href="#val-fresh_term" class="anchor"></a><code><span class="keyword">val</span> fresh_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>pre:string</span> <span>&#45;&gt;</span> <a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> <span>&#45;&gt;</span> <a href="../index.html#type-term">term</a></code></dt><dd><p>Make a fresh term of the given type</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>A (sidekick.Sidekick_th_bool_static.S.A)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">S</a> &#x00BB; A</nav><h1>Module <code>S.A</code></h1></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><div class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>A (sidekick.Sidekick_th_bool_static.S.A)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_bool_static</a> &#x00BB; <a href="../index.html">S</a> &#x00BB; A</nav><h1>Module <code>S.A</code></h1></header><div class="spec module" id="module-S"><a href="#module-S" class="anchor"></a><code><span class="keyword">module</span> <a href="S/index.html">S</a> : <a href="../../../Sidekick_core/index.html#module-type-SOLVER">Sidekick_core.SOLVER</a></code></div><dl><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = <a href="S/T/Term/index.html#type-t">S.T.Term.t</a></code></dt></dl><dl><dt class="spec value" id="val-view_as_bool"><a href="#val-view_as_bool" class="anchor"></a><code><span class="keyword">val</span> view_as_bool : <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> Iter.t</span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span></code></dt><dd><p>Project the term into the boolean view.</p></dd></dl><dl><dt class="spec value" id="val-mk_bool"><a href="#val-mk_bool" class="anchor"></a><code><span class="keyword">val</span> mk_bool : <a href="S/T/Term/index.html#type-state">S.T.Term.state</a> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-term">term</a>, <span><a href="index.html#type-term">term</a> <a href="../../../Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span>)</span> <a href="../../index.html#type-bool_view">bool_view</a></span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a></code></dt><dd><p>Make a term from the given boolean view.</p></dd></dl><dl><dt class="spec value" id="val-check_congruence_classes"><a href="#val-check_congruence_classes" class="anchor"></a><code><span class="keyword">val</span> check_congruence_classes : bool</code></dt><dd><p>Configuration: add final-check handler to verify if new boolean formulas are present in the congruence closure. Only enable if some theories are susceptible to create boolean formulas during the proof search.</p></dd></dl><dl><dt class="spec module" id="module-Gensym"><a href="#module-Gensym" class="anchor"></a><code><span class="keyword">module</span> <a href="Gensym/index.html">Gensym</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Fresh symbol generator.</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (sidekick.Sidekick_th_bool_static.S)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; S</nav><h1>Module type <code>Sidekick_th_bool_static.S</code></h1></header><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> <a href="A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></div><dl><dt class="spec type" id="type-state"><a href="#type-state" class="anchor"></a><code><span class="keyword">type</span> state</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="A/S/T/Term/index.html#type-state">A.S.T.Term.state</a> <span>&#45;&gt;</span> <a href="A/S/T/Ty/index.html#type-state">A.S.T.Ty.state</a> <span>&#45;&gt;</span> <a href="index.html#type-state">state</a></code></dt><dt class="spec value" id="val-simplify"><a href="#val-simplify" class="anchor"></a><code><span class="keyword">val</span> simplify : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-simplify_hook">A.S.Solver_internal.simplify_hook</a></code></dt><dd><p>Simplify given term</p></dd></dl><dl><dt class="spec value" id="val-cnf"><a href="#val-cnf" class="anchor"></a><code><span class="keyword">val</span> cnf : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-preprocess_hook">A.S.Solver_internal.preprocess_hook</a></code></dt><dd><p>add clauses for the booleans within the term.</p></dd></dl><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (sidekick.Sidekick_th_bool_static.S)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_bool_static</a> &#x00BB; S</nav><h1>Module type <code>Sidekick_th_bool_static.S</code></h1><p>Signature</p></header><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> <a href="A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></div><dl><dt class="spec type" id="type-state"><a href="#type-state" class="anchor"></a><code><span class="keyword">type</span> state</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <a href="A/S/T/Term/index.html#type-state">A.S.T.Term.state</a> <span>&#45;&gt;</span> <a href="A/S/T/Ty/index.html#type-state">A.S.T.Ty.state</a> <span>&#45;&gt;</span> <a href="index.html#type-state">state</a></code></dt><dt class="spec value" id="val-simplify"><a href="#val-simplify" class="anchor"></a><code><span class="keyword">val</span> simplify : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-simplify_hook">A.S.Solver_internal.simplify_hook</a></code></dt><dd><p>Simplify given term</p></dd></dl><dl><dt class="spec value" id="val-cnf"><a href="#val-cnf" class="anchor"></a><code><span class="keyword">val</span> cnf : <a href="index.html#type-state">state</a> <span>&#45;&gt;</span> <a href="A/S/Solver_internal/index.html#type-preprocess_hook">A.S.Solver_internal.preprocess_hook</a></code></dt><dd><p>preprocesses formulas by giving them names and adding clauses to equate the name with the boolean formula.</p></dd></dl><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt><dd><p>A theory that can be added to the solver <a href="A/S/index.html"><code>A.S</code></a>.</p><p>This theory does most of its work during preprocessing, turning boolean formulas into SAT clauses via the <a href="https://en.wikipedia.org/wiki/Tseytin_transformation">Tseitin encoding</a> .</p></dd></dl></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.Make.1-A.Cstor)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../../index.html">Make</a> &#x00BB; <a href="../index.html">1-A</a> &#x00BB; Cstor</nav><h1>Module <code>1-A.Cstor</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.Make.1-A.Cstor)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../../index.html">Make</a> &#x00BB; <a href="../index.html">1-A</a> &#x00BB; Cstor</nav><h1>Module <code>1-A.Cstor</code></h1><p>Constructor symbols.</p><p>A constructor is an injective symbol, part of a datatype (or &quot;sum type&quot;). For example, in <code>type option a = Some a | None</code>, the constructors are <code>Some</code> and <code>None</code>.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>Constructor</p></dd></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dd><p>Type arguments, for a polymorphic constructor</p></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Comparison</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (sidekick.Sidekick_th_data.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_data</a> &#x00BB; Make</nav><h1>Module <code>Sidekick_th_data.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></li></ul><h3 class="heading">Signature</h3><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> A = <a href="index.html#argument-1-A">A</a></code></div><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (sidekick.Sidekick_th_data.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_data</a> &#x00BB; Make</nav><h1>Module <code>Sidekick_th_data.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></li></ul><h3 class="heading">Signature</h3><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> A = <a href="index.html#argument-1-A">A</a></code></div><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt><dd><p>A theory that can be added to <a href="A/S/index.html"><code>A.S</code></a> to perform datatype reasoning.</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.ARG.Cstor)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../index.html">ARG</a> &#x00BB; Cstor</nav><h1>Module <code>ARG.Cstor</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.ARG.Cstor)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">sidekick</a> &#x00BB; <a href="../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../index.html">ARG</a> &#x00BB; Cstor</nav><h1>Module <code>ARG.Cstor</code></h1><p>Constructor symbols.</p><p>A constructor is an injective symbol, part of a datatype (or &quot;sum type&quot;). For example, in <code>type option a = Some a | None</code>, the constructors are <code>Some</code> and <code>None</code>.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>Constructor</p></dd></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dd><p>Type arguments, for a polymorphic constructor</p></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Comparison</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.S.A.Cstor)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../../index.html">S</a> &#x00BB; <a href="../index.html">A</a> &#x00BB; Cstor</nav><h1>Module <code>A.Cstor</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cstor (sidekick.Sidekick_th_data.S.A.Cstor)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">sidekick</a> &#x00BB; <a href="../../../index.html">Sidekick_th_data</a> &#x00BB; <a href="../../index.html">S</a> &#x00BB; <a href="../index.html">A</a> &#x00BB; Cstor</nav><h1>Module <code>A.Cstor</code></h1><p>Constructor symbols.</p><p>A constructor is an injective symbol, part of a datatype (or &quot;sum type&quot;). For example, in <code>type option a = Some a | None</code>, the constructors are <code>Some</code> and <code>None</code>.</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>Constructor</p></dd></dl><dl><dt class="spec value" id="val-ty_args"><a href="#val-ty_args" class="anchor"></a><code><span class="keyword">val</span> ty_args : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../S/T/Ty/index.html#type-t">S.T.Ty.t</a> Iter.t</span></code></dt><dd><p>Type arguments, for a polymorphic constructor</p></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span><a href="index.html#type-t">t</a> <a href="../../../../Sidekick_util/index.html#module-Fmt">Sidekick_util.Fmt</a>.printer</span></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Comparison</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (sidekick.Sidekick_th_data.S)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_data</a> &#x00BB; S</nav><h1>Module type <code>Sidekick_th_data.S</code></h1></header><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> <a href="A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></div><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt></dl></div></body></html> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (sidekick.Sidekick_th_data.S)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">sidekick</a> &#x00BB; <a href="../index.html">Sidekick_th_data</a> &#x00BB; S</nav><h1>Module type <code>Sidekick_th_data.S</code></h1></header><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> <a href="A/index.html">A</a> : <a href="../index.html#module-type-ARG">ARG</a></code></div><dl><dt class="spec value" id="val-theory"><a href="#val-theory" class="anchor"></a><code><span class="keyword">val</span> theory : <a href="A/S/index.html#type-theory">A.S.theory</a></code></dt><dd><p>A theory that can be added to <a href="A/S/index.html"><code>A.S</code></a> to perform datatype reasoning.</p></dd></dl></div></body></html>