<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>BoxCP (libabsolute.Libabsolute__.Relational.BoxCP)</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; <a href="../../index.html">Libabsolute__</a> &#x00BB; <a href="../index.html">Relational</a> &#x00BB; BoxCP</nav><h1>Module <code>Relational.BoxCP</code></h1><p>Module for the Box Abstract Domains for Constraint Programming.</p></header><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec module" id="module-A"><a href="#module-A" class="anchor"></a><code><span class="keyword">module</span> A = Apronext.Abstractext</code></div><div class="spec module" id="module-E"><a href="#module-E" class="anchor"></a><code><span class="keyword">module</span> E = Apronext.Environmentext</code></div><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <span>Box.t <a href="index.html#module-A">A</a>.t</span></code></dt><dt class="spec type" id="type-internal_constr"><a href="#type-internal_constr" class="anchor"></a><code><span class="keyword">type</span> internal_constr</code><code> = Apron.Tcons1.t</code></dt></dl><dl><dt class="spec value" id="val-man"><a href="#val-man" class="anchor"></a><code><span class="keyword">val</span> man : <span>Box.t Apron.Manager.t</span></code></dt><dt class="spec value" id="val-of_expr"><a href="#val-of_expr" class="anchor"></a><code><span class="keyword">val</span> of_expr : Apron.Environment.t <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> Apron.Texpr1.t</code></dt><dt class="spec value" id="val-of_cmp_expr"><a href="#val-of_cmp_expr" class="anchor"></a><code><span class="keyword">val</span> of_cmp_expr : <span><span class="type-var">'a</span> Apron.Abstract1.t</span> <span>&#45;&gt;</span> <span>(<a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <a href="../../../Libabsolute/Constraint/index.html#type-cmpop">Libabsolute.Constraint.cmpop</a> * <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <span>&#45;&gt;</span> Apronext.Tconsext.t</code></dt><dt class="spec value" id="val-apron_to_var"><a href="#val-apron_to_var" class="anchor"></a><code><span class="keyword">val</span> apron_to_var : <span><span class="type-var">'a</span> Apron.Abstract1.t</span> <span>&#45;&gt;</span> <span>string list</span> * <span>string list</span></code></dt><dt class="spec value" id="val-to_expr"><a href="#val-to_expr" class="anchor"></a><code><span class="keyword">val</span> to_expr : Apron.Texpr1.expr <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-apron_to_bexpr"><a href="#val-apron_to_bexpr" class="anchor"></a><code><span class="keyword">val</span> apron_to_bexpr : Apron.Tcons1.t <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <a href="../../../Libabsolute/Constraint/index.html#type-cmpop">Libabsolute.Constraint.cmpop</a> * <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-to_constraint"><a href="#val-to_constraint" class="anchor"></a><code><span class="keyword">val</span> to_constraint : <span>Box.t Apronext.Abstractext.t</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Constraint/index.html#type-t">Libabsolute.Constraint.t</a></code></dt><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <span>Box.t <a href="index.html#module-A">A</a>.t</span></code></dt><dt class="spec value" id="val-internalize"><a href="#val-internalize" class="anchor"></a><code><span class="keyword">val</span> internalize : <span>?&#8288;elem:<span><span class="type-var">'a</span> Apron.Abstract1.t</span></span> <span>&#45;&gt;</span> <span>(<a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <a href="../../../Libabsolute/Constraint/index.html#type-cmpop">Libabsolute.Constraint.cmpop</a> * <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <span>&#45;&gt;</span> Apronext.Tconsext.t</code></dt><dt class="spec value" id="val-externalize"><a href="#val-externalize" class="anchor"></a><code><span class="keyword">val</span> externalize : Apron.Tcons1.t <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <a href="../../../Libabsolute/Constraint/index.html#type-cmpop">Libabsolute.Constraint.cmpop</a> * <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-vars"><a href="#val-vars" class="anchor"></a><code><span class="keyword">val</span> vars : <span><span class="type-var">'a</span> <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span><span>(<a href="../../../Libabsolute/Csp/index.html#type-typ">Libabsolute.Csp.typ</a> * string)</span> list</span></code></dt><dt class="spec value" id="val-dom_to_texpr"><a href="#val-dom_to_texpr" class="anchor"></a><code><span class="keyword">val</span> dom_to_texpr : Apron.Environment.t <span>&#45;&gt;</span> <a href="../../../Libabsolute/Dom/index.html#type-t">Libabsolute.Dom.t</a> <span>&#45;&gt;</span> Apron.Texpr1.t</code></dt><dt class="spec value" id="val-add_var"><a href="#val-add_var" class="anchor"></a><code><span class="keyword">val</span> add_var : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>(<a href="../../../Libabsolute/Csp/index.html#type-typ">Libabsolute.Csp.typ</a> * string * <a href="../../../Libabsolute/Dom/index.html#type-t">Libabsolute.Dom.t</a>)</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span></code></dt><dt class="spec value" id="val-var_bounds"><a href="#val-var_bounds" class="anchor"></a><code><span class="keyword">val</span> var_bounds : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> Mpqf.t * Mpqf.t</code></dt><dt class="spec value" id="val-rm_var"><a href="#val-rm_var" class="anchor"></a><code><span class="keyword">val</span> rm_var : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span></code></dt><dt class="spec value" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span class="keyword">val</span> is_empty : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-weak_join"><a href="#val-weak_join" class="anchor"></a><code><span class="keyword">val</span> weak_join : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> * bool</code></dt><dt class="spec value" id="val-join"><a href="#val-join" class="anchor"></a><code><span class="keyword">val</span> join : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> * bool</code></dt><dt class="spec value" id="val-join_list"><a href="#val-join_list" class="anchor"></a><code><span class="keyword">val</span> join_list : <span><span>Box.t <a href="index.html#module-A">A</a>.t</span> list</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> * bool</code></dt><dt class="spec value" id="val-meet"><a href="#val-meet" class="anchor"></a><code><span class="keyword">val</span> meet : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span><span>Box.t <a href="index.html#module-A">A</a>.t</span> option</span></code></dt><dt class="spec value" id="val-diff"><a href="#val-diff" class="anchor"></a><code><span class="keyword">val</span> diff : <span><span class="type-var">'a</span> option</span></code></dt><dt class="spec value" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span class="keyword">val</span> filter : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> Apronext__.Tconsext.t <span>&#45;&gt;</span> <span><span>Box.t <a href="index.html#module-A">A</a>.t</span> <a href="../../../Libabsolute/Consistency/index.html#type-t">Libabsolute.Consistency.t</a></span></code></dt><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#module-A">A</a>.t</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-pman"><a href="#val-pman" class="anchor"></a><code><span class="keyword">val</span> pman : <span><span>Polka.strict Polka.t</span> Apron.Manager.t</span></code></dt><dt class="spec value" id="val-to_poly"><a href="#val-to_poly" class="anchor"></a><code><span class="keyword">val</span> to_poly : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> Apron.Environment.t <span>&#45;&gt;</span> <span><span>Polka.strict Polka.t</span> <a href="index.html#module-A">A</a>.t</span></code></dt><dt class="spec value" id="val-forward_eval"><a href="#val-forward_eval" class="anchor"></a><code><span class="keyword">val</span> forward_eval : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> Mpqf.t * Mpqf.t</code></dt><dt class="spec value" id="val-largest"><a href="#val-largest" class="anchor"></a><code><span class="keyword">val</span> largest : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> Apron.Var.t * Apron.Interval.t * <a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a></code></dt><dt class="spec value" id="val-minmax"><a href="#val-minmax" class="anchor"></a><code><span class="keyword">val</span> minmax : <span>Apronext.Intervalext.t array</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> Mpqf.t <span>&#45;&gt;</span> int <span>&#45;&gt;</span> Mpqf.t <span>&#45;&gt;</span> Apron.Scalar.t * int * Apron.Scalar.t</code></dt><dt class="spec value" id="val-generate_linexpr"><a href="#val-generate_linexpr" class="anchor"></a><code><span class="keyword">val</span> generate_linexpr : <a href="index.html#module-E">E</a>.t <span>&#45;&gt;</span> <span>float array</span> <span>&#45;&gt;</span> <span>float array</span> <span>&#45;&gt;</span> <span><span>(Apron.Coeff.t * Apron.Var.t)</span> list</span> * <span><span>(Apron.Coeff.t * Apron.Var.t)</span> list</span> * float</code></dt><dt class="spec value" id="val-split"><a href="#val-split" class="anchor"></a><code><span class="keyword">val</span> split : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>(Apron.Linexpr1.t * Apron.Linexpr1.t)</span> <span>&#45;&gt;</span> <span><span>Box.t <a href="index.html#module-A">A</a>.t</span> list</span></code></dt><dt class="spec value" id="val-volume"><a href="#val-volume" class="anchor"></a><code><span class="keyword">val</span> volume : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> float</code></dt><dt class="spec value" id="val-get_expr"><a href="#val-get_expr" class="anchor"></a><code><span class="keyword">val</span> get_expr : float <span>&#45;&gt;</span> <span><span>Polka.strict Polka.t</span> <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> Apron.Linexpr1.t * Apron.Linexpr1.t</code></dt><dt class="spec value" id="val-is_abstraction"><a href="#val-is_abstraction" class="anchor"></a><code><span class="keyword">val</span> is_abstraction : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span>Mpqf.t <a href="../../../Libabsolute/Tools/VarMap/index.html#type-t">Libabsolute.Tools.VarMap.t</a></span> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-spawn_itv"><a href="#val-spawn_itv" class="anchor"></a><code><span class="keyword">val</span> spawn_itv : Apron.Environment.typvar <span>&#45;&gt;</span> Apron.Interval.t <span>&#45;&gt;</span> <a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a></code></dt><dt class="spec value" id="val-spawn_box"><a href="#val-spawn_box" class="anchor"></a><code><span class="keyword">val</span> spawn_box : <a href="index.html#module-A">A</a>.box1 <span>&#45;&gt;</span> <span><a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> <a href="../../../Libabsolute/Tools/VarMap/index.html#type-t">Libabsolute.Tools.VarMap.t</a></span></code></dt><dt class="spec value" id="val-spawner"><a href="#val-spawner" class="anchor"></a><code><span class="keyword">val</span> spawner : int <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span><a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> <a href="../../../Libabsolute/Tools/VarMap/index.html#type-t">Libabsolute.Tools.VarMap.t</a></span></code></dt><dt class="spec value" id="val-spawn"><a href="#val-spawn" class="anchor"></a><code><span class="keyword">val</span> spawn : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span><a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> <a href="../../../Libabsolute/Tools/VarMap/index.html#type-t">Libabsolute.Tools.VarMap.t</a></span></code></dt><dt class="spec value" id="val-render"><a href="#val-render" class="anchor"></a><code><span class="keyword">val</span> render : <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> Picasso.Drawable.t</code></dt></dl></details></div></div></div><dl><dt class="spec value" id="val-is_representable"><a href="#val-is_representable" class="anchor"></a><code><span class="keyword">val</span> is_representable : <span class="type-var">'a</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Kleene/index.html#type-t">Libabsolute.Kleene.t</a></code></dt><dt class="spec value" id="val-split"><a href="#val-split" class="anchor"></a><code><span class="keyword">val</span> split : float <span>&#45;&gt;</span> <span>Box.t <a href="index.html#module-A">A</a>.t</span> <span>&#45;&gt;</span> <span><span>Box.t <a href="index.html#module-A">A</a>.t</span> list</span></code></dt></dl></div></body></html>