sidekick/dev/sidekick-bin/Sidekick_smtlib/Process/Solver/Lit/index.html
2021-12-07 15:22:59 +00:00

2 lines
No EOL
5.6 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>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> &#x00BB; <a href="../../../index.html">Sidekick_smtlib</a> &#x00BB; <a href="../../index.html">Process</a> &#x00BB; <a href="../index.html">Solver</a> &#x00BB; 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">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</span></span> <span><a href="../T/Term/index.html#type-store">T.Term.store</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../T/Term/index.html#type-t">T.Term.t</a> <span class="arrow">&#45;&gt;</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">&#45;&gt;</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">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</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">&#45;&gt;</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>