| 0 ≤ i, 0 ≤ i0, 0 ≤ j0, 0 < j ⊦ (i % j * i0 + j0) % j = (i * i0 + j0) % j |
0 ≠ j ⊦ 0 ≤ i ∧ 0 ≤ i0 → (i % j + i0) % j = (i + i0) % j
0 ≠ j ∧ 0 ≤ i % j * i0 ∧ 0 ≤ j0, 0 ≤ i, 0 ≤ i0, 0 ≤ j0, 0 < j ⊦ ((i % j * i0) % j + j0) % j = (i * i0 + j0) % j
Used simplifier rules: mod-zero: ⊦ 0 < j ∧ 0 ≤ i → 0 ≤ i % j;%zero-ge-02: ⊦ 0 ≤ i → (0 ≤ i * j ↔ ¬ ¬(i = 0 ∨ 0 ≤ j)); from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-gels-04: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; from specification int-abs%lf-02: ⊦ i < j ∧ j = i0 → i < i0; (forward) from specification int-basic1 Used terms: j, j0, i % j * i0