sidekick/dev/sidekick-base/Sidekick_base_solver/Solver/index.html
2021-07-20 04:52:29 +00:00

2 lines
No EOL
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Solver (sidekick-base.Sidekick_base_solver.Solver)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.3"/><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-base</a> &#x00BB; <a href="../index.html">Sidekick_base_solver</a> &#x00BB; Solver</nav><h1>Module <code>Sidekick_base_solver.Solver</code></h1><p>SMT solver, obtained from <a href="../../../sidekick/Sidekick_msat_solver/index.html"><code>Sidekick_msat_solver</code></a></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> : <span class="keyword">sig</span> ... <span class="keyword">end</span></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> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Lit"><a href="#module-Lit" class="anchor"></a><code><span class="keyword">module</span> <a href="Lit/index.html">Lit</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Solver_internal"><a href="#module-Solver_internal" class="anchor"></a><code><span class="keyword">module</span> <a href="Solver_internal/index.html">Solver_internal</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <a href="../../../sidekick/Sidekick_msat_solver/Make/index.html#type-t">Sidekick_msat_solver.Make(Solver_arg).t</a></code></dt><dt class="spec type" id="type-solver"><a href="#type-solver" class="anchor"></a><code><span class="keyword">type</span> solver</code><code> = <a href="index.html#type-t">t</a></code></dt><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="T/Term/index.html#type-t">T.Term.t</a></code></dt><dt class="spec type" id="type-ty"><a href="#type-ty" class="anchor"></a><code><span class="keyword">type</span> ty</code><code> = <a href="T/Ty/index.html#type-t">T.Ty.t</a></code></dt><dt class="spec type" id="type-lit"><a href="#type-lit" class="anchor"></a><code><span class="keyword">type</span> lit</code><code> = <a href="Lit/index.html#type-t">Lit.t</a></code></dt><dt class="spec type" id="type-proof"><a href="#type-proof" class="anchor"></a><code><span class="keyword">type</span> proof</code><code> = <a href="P/index.html#type-t">P.t</a></code></dt></dl><div class="spec module-type" id="module-type-THEORY"><a href="#module-type-THEORY" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-THEORY/index.html">THEORY</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec type" id="type-theory"><a href="#type-theory" class="anchor"></a><code><span class="keyword">type</span> theory</code><code> = <span>(<span class="keyword">module</span> <a href="module-type-THEORY/index.html">THEORY</a>)</span></code></dt><dt class="spec type" id="type-theory_p"><a href="#type-theory_p" class="anchor"></a><code><span class="keyword">type</span> <span>!'a theory_p</span></code><code> = <span>(<span class="keyword">module</span> <a href="module-type-THEORY/index.html">THEORY</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="module-type-THEORY/index.html#type-t">t</a> = <span class="type-var">'a</span>)</span></code></dt></dl><dl><dt class="spec value" id="val-mk_theory"><a href="#val-mk_theory" class="anchor"></a><code><span class="keyword">val</span> mk_theory : <span>name:string</span> <span>&#45;&gt;</span> <span>create_and_setup:<span>(<a href="Solver_internal/index.html#type-t">Solver_internal.t</a> <span>&#45;&gt;</span> <span class="type-var">'th</span>)</span></span> <span>&#45;&gt;</span> <span>?&#8288;push_level:<span>(<span class="type-var">'th</span> <span>&#45;&gt;</span> unit)</span></span> <span>&#45;&gt;</span> <span>?&#8288;pop_levels:<span>(<span class="type-var">'th</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> unit)</span></span> <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <a href="index.html#type-theory">theory</a></code></dt></dl><div class="spec module" id="module-Atom"><a href="#module-Atom" class="anchor"></a><code><span class="keyword">module</span> <a href="Atom/index.html">Atom</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Model"><a href="#module-Model" class="anchor"></a><code><span class="keyword">module</span> <a href="Model/index.html">Model</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Unknown"><a href="#module-Unknown" class="anchor"></a><code><span class="keyword">module</span> <a href="Unknown/index.html">Unknown</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec value" id="val-stats"><a href="#val-stats" class="anchor"></a><code><span class="keyword">val</span> stats : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../../../sidekick/Sidekick_util/Stat/index.html#type-t">Sidekick_util.Stat.t</a></code></dt><dt class="spec value" id="val-tst"><a href="#val-tst" class="anchor"></a><code><span class="keyword">val</span> tst : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="T/Term/index.html#type-store">T.Term.store</a></code></dt><dt class="spec value" id="val-ty_st"><a href="#val-ty_st" class="anchor"></a><code><span class="keyword">val</span> ty_st : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="T/Ty/index.html#type-store">T.Ty.store</a></code></dt><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <span>?&#8288;stat:<a href="../../../sidekick/Sidekick_util/Stat/index.html#type-t">Sidekick_util.Stat.t</a></span> <span>&#45;&gt;</span> <span>?&#8288;size:<span>[ `Big <span>| `Small</span> <span>| `Tiny</span> ]</span></span> <span>&#45;&gt;</span> <span>?&#8288;store_proof:bool</span> <span>&#45;&gt;</span> <span>theories:<span><a href="index.html#type-theory">theory</a> list</span></span> <span>&#45;&gt;</span> <a href="T/Term/index.html#type-store">T.Term.store</a> <span>&#45;&gt;</span> <a href="T/Ty/index.html#type-store">T.Ty.store</a> <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_theory"><a href="#val-add_theory" class="anchor"></a><code><span class="keyword">val</span> add_theory : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-theory">theory</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-add_theory_p"><a href="#val-add_theory_p" class="anchor"></a><code><span class="keyword">val</span> add_theory_p : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-theory_p">theory_p</a></span> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-add_theory_l"><a href="#val-add_theory_l" class="anchor"></a><code><span class="keyword">val</span> add_theory_l : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="index.html#type-theory">theory</a> list</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-mk_atom_lit"><a href="#val-mk_atom_lit" class="anchor"></a><code><span class="keyword">val</span> mk_atom_lit : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-lit">lit</a> <span>&#45;&gt;</span> <a href="Atom/index.html#type-t">Atom.t</a> * <a href="P/index.html#type-t">P.t</a></code></dt><dt class="spec value" id="val-mk_atom_lit'"><a href="#val-mk_atom_lit'" class="anchor"></a><code><span class="keyword">val</span> mk_atom_lit' : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-lit">lit</a> <span>&#45;&gt;</span> <a href="Atom/index.html#type-t">Atom.t</a></code></dt><dt class="spec value" id="val-mk_atom_t"><a href="#val-mk_atom_t" class="anchor"></a><code><span class="keyword">val</span> mk_atom_t : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>?&#8288;sign:bool</span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <a href="Atom/index.html#type-t">Atom.t</a> * <a href="P/index.html#type-t">P.t</a></code></dt><dt class="spec value" id="val-mk_atom_t'"><a href="#val-mk_atom_t'" class="anchor"></a><code><span class="keyword">val</span> mk_atom_t' : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>?&#8288;sign:bool</span> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> <a href="Atom/index.html#type-t">Atom.t</a></code></dt><dt class="spec value" id="val-add_clause"><a href="#val-add_clause" class="anchor"></a><code><span class="keyword">val</span> add_clause : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="Atom/index.html#type-t">Atom.t</a> <a href="../../../sidekick/Sidekick_util/IArray/index.html#type-t">Sidekick_util.IArray.t</a></span> <span>&#45;&gt;</span> <a href="P/index.html#type-t">P.t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-add_clause_l"><a href="#val-add_clause_l" class="anchor"></a><code><span class="keyword">val</span> add_clause_l : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="Atom/index.html#type-t">Atom.t</a> list</span> <span>&#45;&gt;</span> <a href="P/index.html#type-t">P.t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-assert_terms"><a href="#val-assert_terms" class="anchor"></a><code><span class="keyword">val</span> assert_terms : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="index.html#type-term">term</a> list</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-assert_term"><a href="#val-assert_term" class="anchor"></a><code><span class="keyword">val</span> assert_term : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-term">term</a> <span>&#45;&gt;</span> unit</code></dt></dl><div class="spec module" id="module-Pre_proof"><a href="#module-Pre_proof" class="anchor"></a><code><span class="keyword">module</span> <a href="Pre_proof/index.html">Pre_proof</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec type" id="type-res"><a href="#type-res" class="anchor"></a><code><span class="keyword">type</span> res</code><code> = <a href="../../../sidekick/Sidekick_msat_solver/Make/index.html#type-res">Sidekick_msat_solver.Make(Solver_arg).res</a></code><code> = </code><table class="variant"><tr id="type-res.Sat" class="anchored"><td class="def constructor"><a href="#type-res.Sat" class="anchor"></a><code>| </code><code><span class="constructor">Sat</span> <span class="keyword">of</span> <a href="Model/index.html#type-t">Model.t</a></code></td></tr><tr id="type-res.Unsat" class="anchored"><td class="def constructor"><a href="#type-res.Unsat" class="anchor"></a><code>| </code><code><span class="constructor">Unsat</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-res.proof" class="anchored"><td class="def field"><a href="#type-res.proof" class="anchor"></a><code>proof : <span><span><a href="Pre_proof/index.html#type-t">Pre_proof.t</a> option</span> lazy_t</span>;</code></td></tr><tr id="type-res.unsat_core" class="anchored"><td class="def field"><a href="#type-res.unsat_core" class="anchor"></a><code>unsat_core : <span><span><a href="Atom/index.html#type-t">Atom.t</a> list</span> lazy_t</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-res.Unknown" class="anchored"><td class="def constructor"><a href="#type-res.Unknown" class="anchor"></a><code>| </code><code><span class="constructor">Unknown</span> <span class="keyword">of</span> <a href="Unknown/index.html#type-t">Unknown.t</a></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-solve"><a href="#val-solve" class="anchor"></a><code><span class="keyword">val</span> solve : <span>?&#8288;on_exit:<span><span>(unit <span>&#45;&gt;</span> unit)</span> list</span></span> <span>&#45;&gt;</span> <span>?&#8288;check:bool</span> <span>&#45;&gt;</span> <span>?&#8288;on_progress:<span>(<a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit)</span></span> <span>&#45;&gt;</span> <span>assumptions:<span><a href="Atom/index.html#type-t">Atom.t</a> list</span></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-res">res</a></code></dt><dt class="spec value" id="val-pp_stats"><a href="#val-pp_stats" class="anchor"></a><code><span class="keyword">val</span> pp_stats : <span><a href="index.html#type-t">t</a> CCFormat.printer</span></code></dt></dl></div></body></html>