<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Propset (infer.Biabduction.Propset)</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>» Propset</nav><h1>Module <code>Biabduction.Propset</code></h1><navclass="toc"><ul><li><ahref="#sets-of-propositions">Sets of Propositions</a></li><li><ahref="#pretty-print">Pretty print</a></li></ul></nav></header><aside><p>Functions for Sets of Propositions with and without sharing</p></aside><section><header><h3id="sets-of-propositions"><ahref="#sets-of-propositions"class="anchor"></a>Sets of Propositions</h3></header><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt><dd><p>Sets of propositions. The invariant is maintaned that Prop.prop_rename_primed_footprint_vars is called on any prop added to the set.</p></dd></dl><dl><dtclass="spec value"id="val-compare"><ahref="#val-compare"class="anchor"></a><code><spanclass="keyword">val</span> compare : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt><dd><p>Compare propsets</p></dd></dl><dl><dtclass="spec value"id="val-singleton"><ahref="#val-singleton"class="anchor"></a><code><spanclass="keyword">val</span> singleton : <ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Singleton set.</p></dd></dl><dl><dtclass="spec value"id="val-mem"><ahref="#val-mem"class="anchor"></a><code><spanclass="keyword">val</span> mem : <span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>Set membership.</p></dd></dl><dl><dtclass="spec value"id="val-union"><ahref="#val-union"class="anchor"></a><code><spanclass="keyword">val</span> union : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Set union.</p></dd></dl><dl><dtclass="spec value"id="val-inter"><ahref="#val-inter"class="anchor"></a><code><spanclass="keyword">val</span> inter : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Set intersection</p></dd></dl><dl><dtclass="spec value"id="val-add"><ahref="#val-add"class="anchor"></a><code><spanclass="keyword">val</span> add : <ahref="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a><span>-></span><span><ahref="../Prop/index.html#type-normal">Prop.normal</a><ahref="../Prop/index.html#type-t">Prop.t</a></span><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Add <code>prop</code> to propset.</p></dd></dl><dl><dtclass="spec value"id="val-diff"><ahref="#val-diff"class="anchor"></a><code><spanclass="keyword">val</span> diff : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Set difference.</p></dd></dl><dl><dtclass="spec value"id="val-empty"><ahref="#val-empty"class="anchor"></a><code><spanclass="keyword">val</span> empty : <ahref="index.html#type-t">t</a></code></dt><dd><p>The empty set of propositions.</p></dd></dl><dl><dtclass="specvalu