mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 03:35:38 -05:00
2 lines
No EOL
5.6 KiB
HTML
2 lines
No EOL
5.6 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Model (sidekick-base.Sidekick_base.Model)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><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> » <a href="../index.html">Sidekick_base</a> » Model</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_base.Model</span></code></h1><p>Models</p><p>A model is a solution to the satisfiability question, created by the SMT solver when it proves the formula to be <b>satisfiable</b>.</p><p>A model gives a value to each term of the original formula(s), in such a way that the formula(s) is true when the term is replaced by its value.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-Val_map" class="anchored"><a href="#module-Val_map" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Val_map/index.html">Val_map</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-Fun_interpretation" class="anchored"><a href="#module-Fun_interpretation" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Fun_interpretation/index.html">Fun_interpretation</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Model for function symbols.</p></div></div><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span><span>{</span></code><table><tr id="type-t.values" class="anchored"><td class="def record field"><a href="#type-t.values" class="anchor"></a><code><span>values : <span><a href="../Base_types/Value/index.html#type-t">Base_types.Value.t</a> <span class="xref-unresolved">Sidekick_base__</span>.Base_types.Term.Map.t</span>;</span></code></td></tr><tr id="type-t.funs" class="anchored"><td class="def record field"><a href="#type-t.funs" class="anchor"></a><code><span>funs : <span><a href="Fun_interpretation/index.html#type-t">Fun_interpretation.t</a> <span class="xref-unresolved">Sidekick_base__</span>.Base_types.Fun.Map.t</span>;</span></code></td></tr></table><code><span>}</span></code></div><div class="spec-doc"><p>Model</p></div></div><div class="odoc-spec"><div class="spec value" id="val-empty" class="anchored"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Empty model</p></div></div><div class="odoc-spec"><div class="spec value" id="val-add" class="anchored"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="../Base_types/Term/index.html#type-t">Base_types.Term.t</a> <span class="arrow">-></span></span> <span><a href="../Base_types/Value/index.html#type-t">Base_types.Value.t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-mem" class="anchored"><a href="#val-mem" class="anchor"></a><code><span><span class="keyword">val</span> mem : <span><a href="../Base_types/Term/index.html#type-t">Base_types.Term.t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-find" class="anchored"><a href="#val-find" class="anchor"></a><code><span><span class="keyword">val</span> find : <span><a href="../Base_types/Term/index.html#type-t">Base_types.Term.t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="../Base_types/Value/index.html#type-t">Base_types.Value.t</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-merge" class="anchored"><a href="#val-merge" class="anchor"></a><code><span><span class="keyword">val</span> merge : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><a href="#type-t">t</a> <span class="xref-unresolved">CCFormat</span>.printer</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-eval" class="anchored"><a href="#val-eval" class="anchor"></a><code><span><span class="keyword">val</span> eval : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="../Base_types/Term/index.html#type-t">Base_types.Term.t</a> <span class="arrow">-></span></span> <span><a href="../Base_types/Value/index.html#type-t">Base_types.Value.t</a> option</span></span></code></div><div class="spec-doc"><p><code>eval m t</code> tries to evaluate term <code>t</code> in the model. If it succeeds, the value is returned, otherwise <code>None</code> is.</p></div></div></div></body></html> |