mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 11:45:41 -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>Lit (sidekick-bin.Sidekick_smtlib.Process.Solver.Lit)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.2"/><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-bin</a> » <a href="../../../index.html">Sidekick_smtlib</a> » <a href="../../index.html">Process</a> » <a href="../index.html">Solver</a> » Lit</nav><header class="odoc-preamble"><h1>Module <code><span>Solver.Lit</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-T" class="anchored"><a href="#module-T" class="anchor"></a><code><span><span class="keyword">module</span> </span><span>T</span><span> = <a href="../T/index.html">T</a></span></code></div><div class="spec-doc"><p>Literals depend on terms</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></code></div><div class="spec-doc"><p>A literal</p></div></div><div class="odoc-spec"><div class="spec value" id="val-term" class="anchored"><a href="#val-term" class="anchor"></a><code><span><span class="keyword">val</span> term : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="../T/Term/index.html#type-t">T.Term.t</a></span></code></div><div class="spec-doc"><p>Get the (positive) term</p></div></div><div class="odoc-spec"><div class="spec value" id="val-sign" class="anchored"><a href="#val-sign" class="anchor"></a><code><span><span class="keyword">val</span> sign : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Get the sign. A negated literal has sign <code>false</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-neg" class="anchored"><a href="#val-neg" class="anchor"></a><code><span><span class="keyword">val</span> neg : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Take negation of literal. <code>sign (neg lit) = not (sign lit)</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-abs" class="anchored"><a href="#val-abs" class="anchor"></a><code><span><span class="keyword">val</span> abs : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>abs lit</code> is like <code>lit</code> but always positive, i.e. <code>sign (abs lit) = true</code></p></div></div><div class="odoc-spec"><div class="spec value" id="val-signed_term" class="anchored"><a href="#val-signed_term" class="anchor"></a><code><span><span class="keyword">val</span> signed_term : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="../T/Term/index.html#type-t">T.Term.t</a> * bool</span></code></div><div class="spec-doc"><p>Return the atom and the sign</p></div></div><div class="odoc-spec"><div class="spec value" id="val-atom" class="anchored"><a href="#val-atom" class="anchor"></a><code><span><span class="keyword">val</span> atom : <span>?sign:bool <span class="arrow">-></span></span> <span><a href="../T/Term/index.html#type-store">T.Term.store</a> <span class="arrow">-></span></span> <span><a href="../T/Term/index.html#type-t">T.Term.t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>atom store t</code> makes a literal out of a term, possibly normalizing its sign in the process.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">sign</span> <p>if provided, and <code>sign=false</code>, negate the resulting lit.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-norm_sign" class="anchored"><a href="#val-norm_sign" class="anchor"></a><code><span><span class="keyword">val</span> norm_sign : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p><code>norm_sign (+t)</code> is <code>+t, true</code>, and <code>norm_sign (-t)</code> is <code>+t, false</code>. In both cases the term is positive, and the boolean reflects the initial sign.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">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-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</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> <a href="../../../../../sidekick/Sidekick_core/index.html">Sidekick_core</a>.Fmt.printer</span></span></code></div></div></div></body></html> |