This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>BiabductionSummary (infer.Biabduction.BiabductionSummary)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.0"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">Biabduction</a>» BiabductionSummary</nav><h1>Module <code>Biabduction.BiabductionSummary</code></h1></header><dl><dtclass="spec module"id="module-Jprop"><ahref="#module-Jprop"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Jprop/index.html">Jprop</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>Module for joined props: the result of joining together propositions repeatedly</p></dd></dl><dl><dtclass="spec module"id="module-Visitedset"><ahref="#module-Visitedset"class="anchor"></a><code><spanclass="keyword">module</span> Visitedset : <ahref="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Caml.Set.S <spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="index.html#module-Visitedset">Visitedset</a>.elt = <ahref="../../IR/Procdesc/Node/index.html#type-id">IR.Procdesc.Node.id</a> * <span>int list</span></code></dt><dd><p>set of visited nodes: node id and list of lines of all the instructions</p></dd></dl><dl><dtclass="spec type"id="type-spec"><ahref="#type-spec"class="anchor"></a><code><spanclass="keyword">type</span><span>'a spec</span></code><code> = </code><code>{</code><tableclass="record"><trid="type-spec.pre"class="anchored"><tdclass="def field"><ahref="#type-spec.pre"class="anchor"></a><code>pre : <span><spanclass="type-var">'a</span><ahref="Jprop/index.html#type-t">Jprop.t</a></span>;</code></td></tr><trid="type-spec.posts"class="anchored"><tdclass="def field"><ahref="#type-spec.posts"class="anchor"></a><code>posts : <span><span>(<span><spanclass="type-var">'a</span><ahref="../Prop/index.html#type-t">Prop.t</a></span> * <ahref="../Paths/Path/index.html#type-t">Paths.Path.t</a>)</span> list</span>;</code></td></tr><trid="type-spec.visited"class="anchored"><tdclass="def field"><ahref="#type-spec.visited"class="anchor"></a><code>visited : <ahref="index.html#module-Visitedset">Visitedset</a>.t;</code></td></tr></table><code>}</code></dt><dd><p>A spec consists of:</p><ul><li>pre: a joined prop</li><li>posts: a list of props with path</li><li>visited: a list of pairs (node_id, line) for the visited nodes</li></ul></dd></dl><dl><dtclass="spec module"id="module-NormSpec"><ahref="#module-NormSpec"class="anchor"></a><code><spanclass="keyword">module</span><ahref="NormSpec/index.html">NormSpec</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></dt><dd><p>encapsulate type for normalized specs</p></dd></dl><dl><dtclass="spec value"id="val-expose"><ahref="#val-expose"class="anchor"></a><code><spanclass="keyword">val</span> expose : <ahref="NormSpec/index.html#type-t">NormSpec.t</a><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="index.html#type-spec">spec</a></span></code></dt><dtclass="spec value"id="val-normalized_specs_to_specs"><ahref="#val-normalized_specs_to_specs"class="anchor"></a><code><spanclass="keyword">val</span> normalized_specs_to_specs : <span><ahref="NormSpec/index.html#type-t">NormSpec.t</a> list</span><span>-></span><span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="index.html#type-spec">spec</a></span> list</span></code></dt><dd><p>Cast a list of normalized specs to a list of specs</p></dd></dl><dl><dtclass="spec value"id="val-pp_spec"><ahref="#val-pp_spec"class="anchor"></a><code><spanclass="keyword">val</span> pp_spec : Stdlib.Format.formatter <span>-></span><span><spanclass="type-var">_</span><ahref="index.html#type-spec">spec</a></span><span>-></span> unit</code></dt><dtclass="spec value"id="val-spec_normalize"><ahref="#val-spec_normalize"class="anchor"></a><code><spanclass="keyword">val</span> spec_normalize : <ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="index.html#type-spec">spec</a></span><span>-></span><ahref="NormSpec/index.html#type-t">NormSpec.t</a></code></dt><dd><p>Convert spec into normal form.</p></dd></dl><dl><dtclass="spec type"id="type-phase"><ahref="#type-phase"class="anchor"></a><code><spanclass="keyword">type</span> phase</code><code> = </code><tableclass="variant"><trid="type-phase.FOOTPRINT"class="anchored"><tdclass="def constructor"><ahref="#type-phase.FOOTPRINT"class="anchor"></a><code>| </code><code><spanclass="constructor">FOOTPRINT</span></code></td></tr><trid="type-phase.RE_EXECUTION"class="anchored"><tdclass="def constructor"><ahref="#type-phase.RE_EXECUTION"class="anchor"></a><code>| </code><code><spanclass="constructor">RE_EXECUTION</span></code></td></tr></table></dt></dl><dl><dtclass="spec value"id="val-equal_phase"><ahref="#val-equal_phase"class="anchor"></a><code><spanclass="keyword">val</span> equal_phase : <ahref="index.html#type-phase">phase</a><span>-></span><ahref="index.html#type-phase">phase</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-string_of_phase_short"><ahref="#val-string_of_phase_short"class="anchor"></a><code><spanclass="keyword">val</span> string_of_phase_short : <ahref="index.html#type-phase">phase</a><span>-></span> string</code></dt></dl><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = </code><code>{</code><tableclass="record"><trid="type-t.preposts"class="anchored"><tdclass="def field"><ahref="#type-t.preposts"class="anchor"></a><code>preposts : <span><ahref="NormSpec/index.html#type-t">NormSpec.t</a> list</span>;</code></td></tr><trid="type-t.phase"class="anchored"><tdclass="def field"><ahref="#type-t.phase"class="anchor"></a><code>phase : <ahref="index.html#type-phase">phase</a>;</code></td></tr></table><code>}</code></dt></dl><dl><dtclass="spec value"id="val-get_specs"><ahref="#val-get_specs"class="anchor"></a><code><spanclass="keyword">val</span> get_specs : <ahref="index.html#type-t">t</a><span>-></span><span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="index.html#type-spec">spec</a></span> list</span></code></dt><dtclass="spec value"id="val-opt_get_phase"><ahref="#val-opt_get_phase"class="anchor"></a><code><spanclass="keyword">val</span> opt_get_phase : <span><ahref="index.html#type-t">t</a> option</span><span>-></span><ahref="index.html#type-phase">phase</a></code></dt><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : <ahref="../../IStdlib/Pp/index.html#type-env">IStdlib.Pp.env</a><span>-></span> Stdlib.Format.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl></div></body></html>