| 0 < i, 0 ≤ i, i0 < 2 ^ i + j1, i0 < i, i0 ≤ 0, 0 < 2 ^ i + j1, i0 * 2 ^ i + j1 < 0, j1 < 0, 0 < i ⊦ cast(i, (i0 * 2 ^ i + j1) * j0) = cast(i, cast(i, cast(i, i0 * 2 ^ i) + cast(i, j1)) * j0) |
0 ≤ i, i0 < 2 ^ i + j1, i0 < i, i0 ≤ 0, 0 < 2 ^ i + j1, i0 * 2 ^ i + j1 < 0, j1 < 0, 0 < i ⊦ cast(i, (i0 * 2 ^ i + j1) * j0) = cast(i, cast(i, j1) * j0)
Used simplifier rules: cast-mult-2pot: ⊦ 0 < i → cast(i, j * 2 ^ i) = 0;%cast-cast: ⊦ 0 < i → cast(i, cast(i, j)) = cast(i, j);% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + 0 = i;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;