Function vstd::bits::lemma_u16_shl_is_mul
source · pub broadcast proof fn lemma_u16_shl_is_mul(x: u16, shift: u16)
Expand description
requires
0 <= shift < <u16>::BITS,
x * pow2(shift as nat) <= <u16>::MAX,
ensures#[trigger] (x << shift) == x * pow2(shift as nat),
Proof that for x and n of type u16 , shifting x left by n is equivalent to multiplication of x by 2^n (provided no overflow).