Function vstd::storage_protocol::withdraws
source · pub open spec fn withdraws<K, V, P: Protocol<K, V>>(p1: P, p2: P, b2: Map<K, V>) -> bool
Expand description
{
forall |q: P, t1: Map<K, V>| {
P::rel(P::op(p1, q), t1)
==> exists |t2: Map<K, V>| {
P::rel(P::op(p2, q), t2) && t2.dom().disjoint(b2.dom())
&& t1 =~= t2.union_prefer_right(b2)
}
}
}