<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Fcl_genesis" rel="Chapter" href="Fcl_genesis.html"> <link title="Fcl_debug" rel="Chapter" href="Fcl_debug.html"> <link title="Fcl_misc" rel="Chapter" href="Fcl_misc.html"> <link title="Fcl_float" rel="Chapter" href="Fcl_float.html"> <link title="Fcl_stak" rel="Chapter" href="Fcl_stak.html"> <link title="Fcl_domain" rel="Chapter" href="Fcl_domain.html"> <link title="Fcl_setDomain" rel="Chapter" href="Fcl_setDomain.html"> <link title="Fcl_data" rel="Chapter" href="Fcl_data.html"> <link title="Fcl_cstr" rel="Chapter" href="Fcl_cstr.html"> <link title="Fcl_var" rel="Chapter" href="Fcl_var.html"> <link title="Fcl_reify" rel="Chapter" href="Fcl_reify.html"> <link title="Fcl_invariant" rel="Chapter" href="Fcl_invariant.html"> <link title="Fcl_boolean" rel="Chapter" href="Fcl_boolean.html"> <link title="Fcl_alldiff" rel="Chapter" href="Fcl_alldiff.html"> <link title="Fcl_linear" rel="Chapter" href="Fcl_linear.html"> <link title="Fcl_nonlinear" rel="Chapter" href="Fcl_nonlinear.html"> <link title="Fcl_expr" rel="Chapter" href="Fcl_expr.html"> <link title="Fcl_arith" rel="Chapter" href="Fcl_arith.html"> <link title="Fcl_interval" rel="Chapter" href="Fcl_interval.html"> <link title="Fcl_gcc" rel="Chapter" href="Fcl_gcc.html"> <link title="Fcl_fdArray" rel="Chapter" href="Fcl_fdArray.html"> <link title="Fcl_conjunto" rel="Chapter" href="Fcl_conjunto.html"> <link title="Fcl_sorting" rel="Chapter" href="Fcl_sorting.html"> <link title="Fcl_goals" rel="Chapter" href="Fcl_goals.html"> <link title="Fcl_opti" rel="Chapter" href="Fcl_opti.html"> <link title="Facile" rel="Chapter" href="Facile.html"><title>Facile.Goals</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> name : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> fprint : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> atomic : ?name:string <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> create : ?name:string <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> create_rec :<br> ?name:string <span class="keywordsign">-></span> (<span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> fail : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> success : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> ( &&~ ) : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> ( ||~ ) : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> once : <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> solve : ?control:(int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> lds : ?step:int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> unify : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> indomain : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> instantiate :<br> (<span class="constructor">Facile</span>.<span class="constructor">Domain</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> dichotomic : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> forto : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> fordownto : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">module</span> <span class="constructor">Array</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> foralli :<br> ?select:(<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> forall :<br> ?select:(<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> existsi :<br> ?select:(<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> exists :<br> ?select:(<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> choose_index :<br> (<span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Attr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Attr</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> not_instantiated_fd : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> labeling : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">GlArray</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter_h :<br> (<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> iter_hi :<br> (<span class="keywordsign">'</span>a array <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> iter : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> iteri : (int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> iter2 :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a array <span class="keywordsign">-></span> <span class="keywordsign">'</span>b array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> labeling : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> choose_index :<br> (<span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Attr</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Attr</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> not_instantiated_fd : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t array <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">List</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> forall :<br> ?select:(<span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a list) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> exists :<br> ?select:(<span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a list) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> member : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> int list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> labeling : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">GlList</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> labeling : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> member : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> int list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> iter_h :<br> (<span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a list) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">type</span> bb_mode = <span class="constructor">Restart</span> <span class="keywordsign">|</span> <span class="constructor">Continue</span><br> <span class="keyword">val</span> minimize :<br> ?step:int <span class="keywordsign">-></span><br> ?mode:<span class="constructor">Facile</span>.<span class="constructor">Goals</span>.bb_mode <span class="keywordsign">-></span><br> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">val</span> sigma :<br> ?domain:<span class="constructor">Facile</span>.<span class="constructor">Domain</span>.t <span class="keywordsign">-></span><br> (<span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t) <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t<br> <span class="keyword">module</span> <span class="constructor">Conjunto</span> :<br> <span class="keyword">sig</span> <span class="keyword">val</span> indomain : <span class="constructor">Facile</span>.<span class="constructor">Var</span>.<span class="constructor">SetFd</span>.t <span class="keywordsign">-></span> <span class="constructor">Facile</span>.<span class="constructor">Goals</span>.t <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>