<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Consistency (libabsolute.Consistency)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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">libabsolute</a> &#x00BB; Consistency</nav><h1>Module <code>Consistency</code></h1><p>This module provides types and operations for handling consistencies. A consitency is a property obtained after a filtering operation f(s,p): given an abstract value s, and a predicate p, it computes a set s' \subseteq s such that : \forall x \in s, p(x) \implies x \in s'</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> <span>'a t</span></code><code> = </code><table class="variant"><tr id="type-t.Sat" class="anchored"><td class="def constructor"><a href="#type-t.Sat" class="anchor"></a><code>| </code><code><span class="constructor">Sat</span></code></td><td class="doc"><p>when s' = s</p></td></tr><tr id="type-t.Unsat" class="anchored"><td class="def constructor"><a href="#type-t.Unsat" class="anchor"></a><code>| </code><code><span class="constructor">Unsat</span></code></td><td class="doc"><p>when s' = \emptyset</p></td></tr><tr id="type-t.Filtered" class="anchored"><td class="def constructor"><a href="#type-t.Filtered" class="anchor"></a><code>| </code><code><span class="constructor">Filtered</span> <span class="keyword">of</span> <span class="type-var">'a</span> * bool</code></td><td class="doc"><p>filtered (s',b) : x \in s', b =&gt; p(x)</p></td></tr></table></dt></dl><dl><dt class="spec value" id="val-print"><a href="#val-print" class="anchor"></a><code><span class="keyword">val</span> print : Stdlib.Format.formatter <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-map"><a href="#val-map" class="anchor"></a><code><span class="keyword">val</span> map : <span>(<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>)</span> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-bind"><a href="#val-bind" class="anchor"></a><code><span class="keyword">val</span> bind : <span>(<span class="type-var">'a</span> <span>&#45;&gt;</span> bool <span>&#45;&gt;</span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span>)</span> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-fold_and"><a href="#val-fold_and" class="anchor"></a><code><span class="keyword">val</span> fold_and : <span>(<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span>)</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span><span class="type-var">'b</span> list</span> <span>&#45;&gt;</span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></code></dt><dd><p>apply several filtering operation, with early termination when a unsatisfiable state is met</p></dd></dl></div></body></html>