<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Abs (infer.Biabduction.Abs)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><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>» 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="../BiabductionSummary/index.html#type-t">BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">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="../BiabductionSummary/index.html#type-t">BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../BiabductionSummary/index.html#type-spec">BiabductionSummary.spec</a></span><span>-></span><ahref="../BiabductionSummary/NormSpec/index.html#type-t">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="../BiabductionSummary/index.html#type-t">BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">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="../BiabductionSummary/index.html#type-t">BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span></code></dt><dd><p>Abstract a proposition but don't pay a SymOp</p></dd></dl><dl><dtclass="spec value"id="val-get_current_rules"><ahref="#val-get_current_rules"class="anchor"></a><code><spanclass="keyword">val</span> get_current_rules : unit <span>-></span><ahref="index.html#type-rules">rules</a></code></dt><dd><p>Get the current rules discoveres</p></dd></d