<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Csp (libabsolute.Csp)</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; Csp</nav><h1>Module <code>Csp</code></h1></header><dl><dt class="spec type" id="type-var"><a href="#type-var" class="anchor"></a><code><span class="keyword">type</span> var</code><code> = string</code></dt><dt class="spec type" id="type-i"><a href="#type-i" class="anchor"></a><code><span class="keyword">type</span> i</code><code> = Mpqf.t</code></dt><dt class="spec type" id="type-annot"><a href="#type-annot" class="anchor"></a><code><span class="keyword">type</span> annot</code><code> = </code><table class="variant"><tr id="type-annot.Int" class="anchored"><td class="def constructor"><a href="#type-annot.Int" class="anchor"></a><code>| </code><code><span class="constructor">Int</span></code></td></tr><tr id="type-annot.Real" class="anchored"><td class="def constructor"><a href="#type-annot.Real" class="anchor"></a><code>| </code><code><span class="constructor">Real</span></code></td></tr></table></dt><dt class="spec type" id="type-binop"><a href="#type-binop" class="anchor"></a><code><span class="keyword">type</span> binop</code><code> = </code><table class="variant"><tr id="type-binop.ADD" class="anchored"><td class="def constructor"><a href="#type-binop.ADD" class="anchor"></a><code>| </code><code><span class="constructor">ADD</span></code></td></tr><tr id="type-binop.SUB" class="anchored"><td class="def constructor"><a href="#type-binop.SUB" class="anchor"></a><code>| </code><code><span class="constructor">SUB</span></code></td></tr><tr id="type-binop.MUL" class="anchored"><td class="def constructor"><a href="#type-binop.MUL" class="anchor"></a><code>| </code><code><span class="constructor">MUL</span></code></td></tr><tr id="type-binop.DIV" class="anchored"><td class="def constructor"><a href="#type-binop.DIV" class="anchor"></a><code>| </code><code><span class="constructor">DIV</span></code></td></tr><tr id="type-binop.POW" class="anchored"><td class="def constructor"><a href="#type-binop.POW" class="anchor"></a><code>| </code><code><span class="constructor">POW</span></code></td></tr></table></dt><dt class="spec type" id="type-cmpop"><a href="#type-cmpop" class="anchor"></a><code><span class="keyword">type</span> cmpop</code><code> = </code><table class="variant"><tr id="type-cmpop.EQ" class="anchored"><td class="def constructor"><a href="#type-cmpop.EQ" class="anchor"></a><code>| </code><code><span class="constructor">EQ</span></code></td></tr><tr id="type-cmpop.LEQ" class="anchored"><td class="def constructor"><a href="#type-cmpop.LEQ" class="anchor"></a><code>| </code><code><span class="constructor">LEQ</span></code></td></tr><tr id="type-cmpop.GEQ" class="anchored"><td class="def constructor"><a href="#type-cmpop.GEQ" class="anchor"></a><code>| </code><code><span class="constructor">GEQ</span></code></td></tr><tr id="type-cmpop.NEQ" class="anchored"><td class="def constructor"><a href="#type-cmpop.NEQ" class="anchor"></a><code>| </code><code><span class="constructor">NEQ</span></code></td></tr><tr id="type-cmpop.GT" class="anchored"><td class="def constructor"><a href="#type-cmpop.GT" class="anchor"></a><code>| </code><code><span class="constructor">GT</span></code></td></tr><tr id="type-cmpop.LT" class="anchored"><td class="def constructor"><a href="#type-cmpop.LT" class="anchor"></a><code>| </code><code><span class="constructor">LT</span></code></td></tr></table></dt><dt class="spec type" id="type-expr"><a href="#type-expr" class="anchor"></a><code><span class="keyword">type</span> expr</code><code> = </code><table class="variant"><tr id="type-expr.Funcall" class="anchored"><td class="def constructor"><a href="#type-expr.Funcall" class="anchor"></a><code>| </code><code><span class="constructor">Funcall</span> <span class="keyword">of</span> <a href="index.html#type-var">var</a> * <span><a href="index.html#type-expr">expr</a> list</span></code></td></tr><tr id="type-expr.Neg" class="anchored"><td class="def constructor"><a href="#type-expr.Neg" class="anchor"></a><code>| </code><code><span class="constructor">Neg</span> <span class="keyword">of</span> <a href="index.html#type-expr">expr</a></code></td></tr><tr id="type-expr.Binary" class="anchored"><td class="def constructor"><a href="#type-expr.Binary" class="anchor"></a><code>| </code><code><span class="constructor">Binary</span> <span class="keyword">of</span> <a href="index.html#type-binop">binop</a> * <a href="index.html#type-expr">expr</a> * <a href="index.html#type-expr">expr</a></code></td></tr><tr id="type-expr.Var" class="anchored"><td class="def constructor"><a href="#type-expr.Var" class="anchor"></a><code>| </code><code><span class="constructor">Var</span> <span class="keyword">of</span> <a href="index.html#type-var">var</a></code></td></tr><tr id="type-expr.Cst" class="anchored"><td class="def constructor"><a href="#type-expr.Cst" class="anchor"></a><code>| </code><code><span class="constructor">Cst</span> <span class="keyword">of</span> <a href="index.html#type-i">i</a></code></td></tr></table></dt><dt class="spec type" id="type-comparison"><a href="#type-comparison" class="anchor"></a><code><span class="keyword">type</span> comparison</code><code> = <a href="index.html#type-expr">expr</a> * <a href="index.html#type-cmpop">cmpop</a> * <a href="index.html#type-expr">expr</a></code></dt><dt class="spec type" id="type-boolean"><a href="#type-boolean" class="anchor"></a><code><span class="keyword">type</span> <span>'a boolean</span></code><code> = </code><table class="variant"><tr id="type-boolean.Cmp" class="anchored"><td class="def constructor"><a href="#type-boolean.Cmp" class="anchor"></a><code>| </code><code><span class="constructor">Cmp</span> <span class="keyword">of</span> <span class="type-var">'a</span></code></td></tr><tr id="type-boolean.And" class="anchored"><td class="def constructor"><a href="#type-boolean.And" class="anchor"></a><code>| </code><code><span class="constructor">And</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="index.html#type-boolean">boolean</a></span> * <span><span class="type-var">'a</span> <a href="index.html#type-boolean">boolean</a></span></code></td></tr><tr id="type-boolean.Or" class="anchored"><td class="def constructor"><a href="#type-boolean.Or" class="anchor"></a><code>| </code><code><span class="constructor">Or</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="index.html#type-boolean">boolean</a></span> * <span><span class="type-var">'a</span> <a href="index.html#type-boolean">boolean</a></span></code></td></tr><tr id="type-boolean.Not" class="anchored"><td class="def constructor"><a href="#type-boolean.Not" class="anchor"></a><code>| </code><code><span class="constructor">Not</span> <span class="keyword">of</span> <span><span class="type-var">'a</span> <a href="index.html#type-boolean">boolean</a></span></code></td></tr></table></dt><dt class="spec type" id="type-bexpr"><a href="#type-bexpr" class="anchor"></a><code><span class="keyword">type</span> bexpr</code><code> = <span><a href="index.html#type-comparison">comparison</a> <a href="index.html#type-boolean">boolean</a></span></code></dt><dt class="spec type" id="type-dom"><a href="#type-dom" class="anchor"></a><code><span class="keyword">type</span> dom</code><code> = </code><table class="variant"><tr id="type-dom.Finite" class="anchored"><td class="def constructor"><a href="#type-dom.Finite" class="anchor"></a><code>| </code><code><span class="constructor">Finite</span> <span class="keyword">of</span> <a href="index.html#type-i">i</a> * <a href="index.html#type-i">i</a></code></td><td class="doc"><p><code>a;b</code></p></td></tr><tr id="type-dom.Minf" class="anchored"><td class="def constructor"><a href="#type-dom.Minf" class="anchor"></a><code>| </code><code><span class="constructor">Minf</span> <span class="keyword">of</span> <a href="index.html#type-i">i</a></code></td><td class="doc"><p><code>-oo; a</code></p></td></tr><tr id="type-dom.Inf" class="anchored"><td class="def constructor"><a href="#type-dom.Inf" class="anchor"></a><code>| </code><code><span class="constructor">Inf</span> <span class="keyword">of</span> <a href="index.html#type-i">i</a></code></td><td class="doc"><p><code>a; +oo</code></p></td></tr><tr id="type-dom.Set" class="anchored"><td class="def constructor"><a href="#type-dom.Set" class="anchor"></a><code>| </code><code><span class="constructor">Set</span> <span class="keyword">of</span> <span><a href="index.html#type-i">i</a> list</span></code></td><td class="doc"><p><code>x1; x2; ...; xn</code></p></td></tr><tr id="type-dom.Top" class="anchored"><td class="def constructor"><a href="#type-dom.Top" class="anchor"></a><code>| </code><code><span class="constructor">Top</span></code></td><td class="doc"><p><code>-oo; +oo</code></p></td></tr></table></dt><dt class="spec type" id="type-decl"><a href="#type-decl" class="anchor"></a><code><span class="keyword">type</span> decl</code><code> = <a href="index.html#type-annot">annot</a> * <a href="index.html#type-var">var</a> * <a href="index.html#type-dom">dom</a></code></dt><dt class="spec type" id="type-decls"><a href="#type-decls" class="anchor"></a><code><span class="keyword">type</span> decls</code><code> = <span><a href="index.html#type-decl">decl</a> list</span></code></dt><dt class="spec type" id="type-constrs"><a href="#type-constrs" class="anchor"></a><code><span class="keyword">type</span> constrs</code><code> = <span><a href="index.html#type-bexpr">bexpr</a> list</span></code></dt><dt class="spec type" id="type-instance"><a href="#type-instance" class="anchor"></a><code><span class="keyword">type</span> instance</code><code> = <span><a href="index.html#type-i">i</a> <a href="../Tools/VarMap/index.html#type-t">Tools.VarMap.t</a></span></code></dt><dt class="spec type" id="type-info"><a href="#type-info" class="anchor"></a><code><span class="keyword">type</span> info</code><code> = </code><table class="variant"><tr id="type-info.Exact" class="anchored"><td class="def constructor"><a href="#type-info.Exact" class="anchor"></a><code>| </code><code><span class="constructor">Exact</span> <span class="keyword">of</span> <span><a href="index.html#type-instance">instance</a> list</span></code></td></tr><tr id="type-info.Unfeasible" class="anchored"><td class="def constructor"><a href="#type-info.Unfeasible" class="anchor"></a><code>| </code><code><span class="constructor">Unfeasible</span></code></td></tr><tr id="type-info.Known" class="anchored"><td class="def constructor"><a href="#type-info.Known" class="anchor"></a><code>| </code><code><span class="constructor">Known</span> <span class="keyword">of</span> <span><span>(<a href="index.html#type-instance">instance</a> * bool)</span> list</span></code></td></tr></table></dt><dt class="spec type" id="type-prog"><a href="#type-prog" class="anchor"></a><code><span class="keyword">type</span> prog</code><code> = </code><code>{</code><table class="record"><tr id="type-prog.init" class="anchored"><td class="def field"><a href="#type-prog.init" class="anchor"></a><code>init : <a href="index.html#type-decls">decls</a>;</code></td></tr><tr id="type-prog.constraints" class="anchored"><td class="def field"><a href="#type-prog.constraints" class="anchor"></a><code>constraints : <a href="index.html#type-constrs">constrs</a>;</code></td></tr><tr id="type-prog.objective" class="anchored"><td class="def field"><a href="#type-prog.objective" class="anchor"></a><code>objective : <span><a href="index.html#type-expr">expr</a> option</span>;</code></td></tr><tr id="type-prog.solutions" class="anchored"><td class="def field"><a href="#type-prog.solutions" class="anchor"></a><code>solutions : <span><a href="index.html#type-info">info</a> option</span>;</code></td></tr></table><code>}</code></dt></dl></div></body></html>