mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 03:35:38 -05:00
2 lines
No EOL
9.5 KiB
HTML
2 lines
No EOL
9.5 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 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">sidekick-base</a> » Sidekick_base</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_base</span></code></h1><p>Sidekick base</p><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="Statement/index.html#type-t">Statement</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><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-Types_" class="anchored"><a href="#module-Types_" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Types_/index.html">Types_</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Term" class="anchored"><a href="#module-Term" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Term/index.html">Term</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Const" class="anchored"><a href="#module-Const" class="anchor"></a><code><span><span class="keyword">module</span> Const</span><span> = <a href="../../sidekick/Sidekick_core_logic/Const/index.html">Sidekick_core.Const</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Ty" class="anchored"><a href="#module-Ty" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Ty/index.html">Ty</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-ID" class="anchored"><a href="#module-ID" class="anchor"></a><code><span><span class="keyword">module</span> <a href="ID/index.html">ID</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Unique Identifiers</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Form" class="anchored"><a href="#module-Form" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Form/index.html">Form</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Formulas (boolean terms).</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Data_ty" class="anchored"><a href="#module-Data_ty" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Data_ty/index.html">Data_ty</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Cstor" class="anchored"><a href="#module-Cstor" class="anchor"></a><code><span><span class="keyword">module</span> Cstor</span><span> = <a href="Data_ty/Cstor/index.html">Data_ty.Cstor</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Select" class="anchored"><a href="#module-Select" class="anchor"></a><code><span><span class="keyword">module</span> Select</span><span> = <a href="Data_ty/Select/index.html">Data_ty.Select</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Statement" class="anchored"><a href="#module-Statement" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Statement/index.html">Statement</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Statements.</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Solver" class="anchored"><a href="#module-Solver" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Solver/index.html">Solver</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Uconst" class="anchored"><a href="#module-Uconst" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Uconst/index.html">Uconst</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Uninterpreted constants</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Config" class="anchored"><a href="#module-Config" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Config/index.html">Config</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Configuration</p></div></div><div class="odoc-spec"><div class="spec module" id="module-LRA_term" class="anchored"><a href="#module-LRA_term" class="anchor"></a><code><span><span class="keyword">module</span> <a href="LRA_term/index.html">LRA_term</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Th_data" class="anchored"><a href="#module-Th_data" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Th_data/index.html">Th_data</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Theory of datatypes</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Th_bool" class="anchored"><a href="#module-Th_bool" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Th_bool/index.html">Th_bool</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Reducing boolean formulas to clauses</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Th_lra" class="anchored"><a href="#module-Th_lra" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Th_lra/index.html">Th_lra</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Theory of Linear Rational Arithmetic</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Th_uf" class="anchored"><a href="#module-Th_uf" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Th_uf/index.html">Th_uf</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Theory of uninterpreted functions</p></div></div><div class="odoc-spec"><div class="spec value" id="val-k_th_bool_config" class="anchored"><a href="#val-k_th_bool_config" class="anchor"></a><code><span><span class="keyword">val</span> k_th_bool_config : <span><span>[ `Dyn <span>| `Static</span> ]</span> <a href="Config/Key/index.html#type-t">Config.Key.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool" class="anchored"><a href="#val-th_bool" class="anchor"></a><code><span><span class="keyword">val</span> th_bool : <span><a href="Config/index.html#type-t">Config.t</a> <span class="arrow">-></span></span> <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool_dyn" class="anchored"><a href="#val-th_bool_dyn" class="anchor"></a><code><span><span class="keyword">val</span> th_bool_dyn : <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool_static" class="anchored"><a href="#val-th_bool_static" class="anchor"></a><code><span><span class="keyword">val</span> th_bool_static : <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_data" class="anchored"><a href="#val-th_data" class="anchor"></a><code><span><span class="keyword">val</span> th_data : <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_lra" class="anchored"><a href="#val-th_lra" class="anchor"></a><code><span><span class="keyword">val</span> th_lra : <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_uf" class="anchored"><a href="#val-th_uf" class="anchor"></a><code><span><span class="keyword">val</span> th_uf : <a href="Solver/index.html#type-theory">Solver.theory</a></span></code></div></div></div></body></html> |