| j < i, j < 0, 0 < i, j0 + 1 < i, j0 < i, j0 < 0, j + 1 < i ⊦ (j * 2 ^ i + j0) % 2 ^ i = j0 % 2 ^ i |
⊦ i % j = 0 ∧ i < 0 ∧ i0 < 0 ∧ 0 < j → (i + i0) % j = i0 % j
Used simplifier rules: zero: ⊦ 0 < j → (i ^ j = 0 ↔ i = 0);%pot2-pos: ⊦ 0 < 2 ^ i ↔ 0 ≤ i;%mod-mult-04: j ≠ 0 ⊦ (i * j) % j = 0; from specification int-div%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-ls: ⊦ 0 < i → (i * j < 0 ↔ j < 0); from specification int-mult%zero-gels-01: ⊦ i < 0 ∧ 0 ≤ j → i < j; from specification int-abs%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1 Used terms: 2 ^ i, j0, j * 2 ^ i