mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 11:45:41 -05:00
2 lines
No EOL
5.7 KiB
HTML
2 lines
No EOL
5.7 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_base (sidekick-base.Sidekick_base)</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> » Sidekick_base</nav><h1>Module <code>Sidekick_base</code></h1><h2 id="sidekick-base"><a href="#sidekick-base" class="anchor"></a>Sidekick base</h2><p>This library is a starting point for writing concrete implementations of SMT solvers with Sidekick.</p><p>It provides a representation of terms, boolean formulas, linear arithmetic expressions, datatypes for the functors in Sidekick.</p><p>In addition, it has a notion of <a href="Base_types/Statement/index.html"><span>Statement</span></a>. Statements are instructions for the SMT solver to do something, such as: define a new constant, declare a new constant, assert a formula as being true, set an option, check satisfiability of the set of statements added so far, etc. Logic formats such as SMT-LIB 2.6 are in fact based on a similar notion of statements, and a <code>.smt2</code> files contains a list of statements.</p></header><dl><dt class="spec module" id="module-Base_types"><a href="#module-Base_types" class="anchor"></a><code><span class="keyword">module</span> <a href="Base_types/index.html">Base_types</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Basic type definitions for Sidekick_base</p></dd></dl><dl><dt class="spec module" id="module-ID"><a href="#module-ID" class="anchor"></a><code><span class="keyword">module</span> <a href="ID/index.html">ID</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Unique Identifiers</p></dd></dl><div class="spec module" id="module-Fun"><a href="#module-Fun" class="anchor"></a><code><span class="keyword">module</span> Fun = <a href="Base_types/index.html#module-Fun">Base_types.Fun</a></code></div><div class="spec module" id="module-Stat"><a href="#module-Stat" class="anchor"></a><code><span class="keyword">module</span> Stat = <a href="../../sidekick/Sidekick_util/index.html#module-Stat">Sidekick_util.Stat</a></code></div><dl><dt 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></dt><dd><p>Models</p></dd></dl><div class="spec module" id="module-Term"><a href="#module-Term" class="anchor"></a><code><span class="keyword">module</span> Term = <a href="Base_types/index.html#module-Term">Base_types.Term</a></code></div><div class="spec module" id="module-Value"><a href="#module-Value" class="anchor"></a><code><span class="keyword">module</span> Value = <a href="Base_types/index.html#module-Value">Base_types.Value</a></code></div><div class="spec module" id="module-Term_cell"><a href="#module-Term_cell" class="anchor"></a><code><span class="keyword">module</span> Term_cell = <a href="Base_types/index.html#module-Term_cell">Base_types.Term_cell</a></code></div><div class="spec module" id="module-Ty"><a href="#module-Ty" class="anchor"></a><code><span class="keyword">module</span> Ty = <a href="Base_types/index.html#module-Ty">Base_types.Ty</a></code></div><div class="spec module" id="module-Statement"><a href="#module-Statement" class="anchor"></a><code><span class="keyword">module</span> Statement = <a href="Base_types/index.html#module-Statement">Base_types.Statement</a></code></div><div class="spec module" id="module-Data"><a href="#module-Data" class="anchor"></a><code><span class="keyword">module</span> Data = <a href="Base_types/index.html#module-Data">Base_types.Data</a></code></div><div class="spec module" id="module-Select"><a href="#module-Select" class="anchor"></a><code><span class="keyword">module</span> Select = <a href="Base_types/index.html#module-Select">Base_types.Select</a></code></div><dl><dt class="spec module" id="module-Form"><a href="#module-Form" class="anchor"></a><code><span class="keyword">module</span> <a href="Form/index.html">Form</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Formulas (boolean terms).</p></dd></dl><dl><dt class="spec module" id="module-Solver_arg"><a href="#module-Solver_arg" class="anchor"></a><code><span class="keyword">module</span> <a href="Solver_arg/index.html">Solver_arg</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Concrete implementation of <a href="../../sidekick/Sidekick_core/module-type-TERM/index.html"><code>Sidekick_core.TERM</code></a></p></dd></dl><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><dl><dt class="spec module" id="module-Proof_stub"><a href="#module-Proof_stub" class="anchor"></a><code><span class="keyword">module</span> <a href="Proof_stub/index.html">Proof_stub</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Dummy proof module that does nothing.</p></dd></dl><div class="spec module" id="module-IArray"><a href="#module-IArray" class="anchor"></a><code><span class="keyword">module</span> IArray = <a href="../../sidekick/Sidekick_util/index.html#module-IArray">Sidekick_util.IArray</a></code></div></div></body></html> |