| j0 % 2 ^ i = 0, 0 < i, j0 < 0 ⊦ cast(i, j * 2 ^ i + j0) = cast(i, j0) |
j ≠ 0 ⊦ i % j = 0 ↔ (∃ j0. i = j0 * j)
Used simplifier rules: cast-mult-2pot: ⊦ 0 < i → cast(i, j * 2 ^ i) = 0;% ⊦ 0 < j → (i ^ j = 0 ↔ i = 0);% ⊦ i * j + i * j0 = i * (j + j0);% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i; Used terms: 2 ^ i, j0