Function vstd::pcm_lib::redistribute
source · pub proof fn redistribute<P: PCM>(tracked
r1: &mut Resource<P>,
tracked r2: &mut Resource<P>,
v1: P,
v2: P
)Expand description
requires
old(r1).loc() == old(r2).loc(),P::op(old(r1).value(), old(r2).value()) == P::op(v1, v2),ensuresr1.loc() == r2.loc() == old(r1).loc(),r1.value() == v1,r2.value() == v2,Redistribute the values held by resources r1 and r2 such that they
have the same combination as before. The new value of r1 will be v1
and the new value of r2 will be v2.