| j ≠ 0 → (∃ j0. i = j * j0 + i |%| j), i |%| j = i0 |%| j, i0 = j * j0 + i0 |%| j, 0 < j ⊦ j = 0, ∃ i1. i = j * i1 + i0 |
i0 = j * j0 + i0 |%| j, 0 < j ⊦ j = 0, ∃ i1. j * j1 + i0 |%| j = j * i1 + i0
Used simplifier rules: mod-mult-add: ⊦ 0 < j → (i + i0 * j) |%| j = i |%| j;%mod-mod: ⊦ 0 < j → (i |%| j) |%| j = i |%| j;%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult