Function vstd::arithmetic::power::lemma_pull_out_pows
source · pub broadcast proof fn lemma_pull_out_pows(b: nat, x: nat, y: nat, z: nat)Expand description
requires
b > 0,ensures0 <= x * y,0 <= y * z,#[trigger] pow(pow(b as int, x * y), z) == pow(pow(b as int, x), y * z),Proof that (b^(xy))^z = (b^x)^(yz), given that x * y and y * z are nonnegative and b is positive