<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Libabsolute__Csp_helper (libabsolute.Libabsolute__Csp_helper)</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; Libabsolute__Csp_helper</nav><h1>Module <code>Libabsolute__Csp_helper</code></h1></header><dl><dt class="spec value" id="val-is_zero"><a href="#val-is_zero" class="anchor"></a><code><span class="keyword">val</span> is_zero : <a href="../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-is_neg"><a href="#val-is_neg" class="anchor"></a><code><span class="keyword">val</span> is_neg : <a href="../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-iter_expr"><a href="#val-iter_expr" class="anchor"></a><code><span class="keyword">val</span> iter_expr : <span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> unit)</span> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>iter on expr</p></dd></dl><dl><dt class="spec value" id="val-iter_constr"><a href="#val-iter_constr" class="anchor"></a><code><span class="keyword">val</span> iter_constr : <span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> unit)</span> <span>&#45;&gt;</span> <span>(<span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> unit)</span> <span>&#45;&gt;</span> <span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> unit</code></dt><dd><p>iter on constraints</p></dd></dl><dl><dt class="spec value" id="val-map_constr"><a href="#val-map_constr" class="anchor"></a><code><span class="keyword">val</span> map_constr : <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="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'b</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span></code></dt><dd><p>boolean formulae map</p></dd></dl><dl><dt class="spec value" id="val-apply"><a href="#val-apply" class="anchor"></a><code><span class="keyword">val</span> apply : <span>(<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * bool)</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-binop">Libabsolute.Expr.binop</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * bool</code></dt><dt class="spec value" id="val-distribute"><a href="#val-distribute" class="anchor"></a><code><span class="keyword">val</span> distribute : <span>(<a href="../Libabsolute/Expr/index.html#type-binop">Libabsolute.Expr.binop</a> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-expand"><a href="#val-expand" class="anchor"></a><code><span class="keyword">val</span> expand : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-simplify_expr"><a href="#val-simplify_expr" class="anchor"></a><code><span class="keyword">val</span> simplify_expr : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> bool <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * bool</code></dt><dt class="spec value" id="val-simplify_fp"><a href="#val-simplify_fp" class="anchor"></a><code><span class="keyword">val</span> simplify_fp : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dd><p>calls simplify until it reaches a fixpoint</p></dd></dl><dl><dt class="spec value" id="val-simplify_bexpr"><a href="#val-simplify_bexpr" class="anchor"></a><code><span class="keyword">val</span> simplify_bexpr : <span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> <span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span></code></dt><dt class="spec value" id="val-left_hand_side"><a href="#val-left_hand_side" class="anchor"></a><code><span class="keyword">val</span> left_hand_side : <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> <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-left_hand"><a href="#val-left_hand" class="anchor"></a><code><span class="keyword">val</span> left_hand : <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> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> <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-flatten_pow"><a href="#val-flatten_pow" class="anchor"></a><code><span class="keyword">val</span> flatten_pow : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-derivate"><a href="#val-derivate" class="anchor"></a><code><span class="keyword">val</span> derivate : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a></code></dt><dt class="spec value" id="val-derivative"><a href="#val-derivative" class="anchor"></a><code><span class="keyword">val</span> derivative : string <span>&#45;&gt;</span> <span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> <span><span>(<a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> * <span class="type-var">'a</span> * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span></code></dt><dt class="spec value" id="val-is_arith"><a href="#val-is_arith" class="anchor"></a><code><span class="keyword">val</span> is_arith : <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span> * <span class="type-var">'c</span>)</span> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-ctr_jacobian"><a href="#val-ctr_jacobian" class="anchor"></a><code><span class="keyword">val</span> ctr_jacobian : <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> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> <span>&#45;&gt;</span> <span><span>(<span class="type-var">'a</span> * string * <span class="type-var">'b</span>)</span> list</span> <span>&#45;&gt;</span> <span><span>(string * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> list</span></code></dt><dt class="spec value" id="val-compute_jacobian"><a href="#val-compute_jacobian" class="anchor"></a><code><span class="keyword">val</span> compute_jacobian : <a href="../Libabsolute/Csp/index.html#type-t">Libabsolute.Csp.t</a> <span>&#45;&gt;</span> <span><span>(<span><a href="../Libabsolute/Constraint/index.html#type-comparison">Libabsolute.Constraint.comparison</a> <a href="../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span> * <span><span>(string * <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a>)</span> list</span>)</span> list</span></code></dt><dt class="spec value" id="val-get_vars_set_expr"><a href="#val-get_vars_set_expr" class="anchor"></a><code><span class="keyword">val</span> get_vars_set_expr : <a href="../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Tools/VarSet/index.html#type-t">Libabsolute.Tools.VarSet.t</a></code></dt><dt class="spec value" id="val-get_vars_set_bexpr"><a href="#val-get_vars_set_bexpr" class="anchor"></a><code><span class="keyword">val</span> get_vars_set_bexpr : <a href="../Libabsolute/Constraint/index.html#type-t">Libabsolute.Constraint.t</a> <span>&#45;&gt;</span> <a href="../Libabsolute/Tools/VarSet/index.html#type-t">Libabsolute.Tools.VarSet.t</a></code></dt></dl></div></body></html>