Function vstd::pcm_lib::validate_4
source · pub proof fn validate_4<P: PCM>(tracked
r1: &mut Resource<P>,
tracked r2: &mut Resource<P>,
tracked r3: &mut Resource<P>,
tracked r4: &mut Resource<P>
)Expand description
requires
old(r1).loc() == old(r2).loc() == old(r3).loc() == old(r4).loc(),ensuresr1.loc() == r2.loc() == r3.loc() == r4.loc() == old(r1).loc(),r1.value() == old(r1).value(),r2.value() == old(r2).value(),r3.value() == old(r3).value(),r4.value() == old(r4).value(),P::op(r1.value(), P::op(r2.value(), P::op(r3.value(), r4.value()))).valid(),Validates that the four given resources have values that combine
to form a valid value. Although the inputs r1, r2, r3, and
r4 are mutable, they don’t change. (They change during the
function but are restored to the way they were by the time the
function returns.)