<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Biabduction__Abs (infer.Biabduction__Abs)</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>» Biabduction__Abs</nav><h1>Module <code>Biabduction__Abs</code></h1></header><aside><p>Implementation of Abstraction Functions</p></aside><dl><dtclass="spec type"id="type-rules"><ahref="#type-rules"class="anchor"></a><code><spanclass="keyword">type</span> rules</code></dt><dd><p>Abstraction rules discovered</p></dd></dl><dl><dtclass="spec value"id="val-abstract"><ahref="#val-abstract"class="anchor"></a><code><spanclass="keyword">val</span> abstract : <span><ahref="../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.html#type-t">Biabduction.Prop.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.html#type-t">Biabduction.Prop.t</a></span></code></dt><dd><p>Abstract a proposition.</p></dd></dl><dl><dtclass="spec value"id="val-abstract_spec"><ahref="#val-abstract_spec"class="anchor"></a><code><spanclass="keyword">val</span> abstract_spec : <span><ahref="../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/BiabductionSummary/index.html#type-spec">Biabduction.BiabductionSummary.spec</a></span><span>-></span><ahref="../Biabduction/BiabductionSummary/NormSpec/index.html#type-t">Biabduction.BiabductionSummary.NormSpec.t</a></code></dt><dd><p>Normalizes names and applies simplifications, soem of which require looking at both pre and post.</p></dd></dl><dl><dtclass="spec value"id="val-abstract_junk"><ahref="#val-abstract_junk"class="anchor"></a><code><spanclass="keyword">val</span> abstract_junk : <span><ahref="../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.html#type-t">Biabduction.Prop.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.html#type-t">Biabduction.Prop.t</a></span></code></dt><dd><p>Check whether the prop contains junk. If it does, and <code>Config.allowleak</code> is true, remove the junk, otherwise raise a Leak exception.</p></dd></dl><dl><dtclass="spec value"id="val-abstract_no_symop"><ahref="#val-abstract_no_symop"class="anchor"></a><code><spanclass="keyword">val</span> abstract_no_symop : <span><ahref="../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.html#type-t">Biabduction.Prop.t</a></span><span>-></span><span><ahref="../Biabduction/Prop/index.html#type-normal">Biabduction.Prop.normal</a><ahref="../Biabduction/Prop/index.ht