<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.1"/><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=