| 0 < j, 0 ≤ i, 0 ≤ i0, 0 ≤ i % j * i0, 0 ≤ j0 ⊦ ((i % j * i0) % j + j0) % j = (i * i0 + j0) % j, 0 = j |
0 < j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j + i0) % j = (i + i0) % j
Used simplifier rules: mod-shift: ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i * i0 % j) % j = (i * i0) % j;%mod-zero: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j;%mod-shift: ⊦ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 < j → (i * i0 % j) % j = (i * i0) % j;%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult% ⊦ 0 ≤ i → (0 ≤ i * j ↔ i = 0 ∨ 0 ≤ j); (s)% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; (s) Used terms: j, j0, i * i0