Skip to main content

lemma_sum_prepare_congruence

Function lemma_sum_prepare_congruence 

Source
pub broadcast proof fn lemma_sum_prepare_congruence<A1, A2, B1, B2>(
    a: Sum<A1, B1>,
    b: Sum<A2, B2>,
)
where A1: Consistency + SpecByteLen<T = A1::Val>, A2: Consistency<Val = A1::Val> + SpecByteLen<T = A1::Val>, B1: Consistency + SpecByteLen<T = B1::Val>, B2: Consistency<Val = B1::Val> + SpecByteLen<T = B1::Val>,
Expand description
requires
match (a, b) {
    (Sum::Inl(a), Sum::Inl(b)) => prepare_congruent(a, b),
    (Sum::Inr(a), Sum::Inr(b)) => prepare_congruent(a, b),
    _ => false,
},
ensures
#[trigger] prepare_congruent(a, b),