| i = i |%| j + j * j0, i0 = i0 |%| j + j * j1, 0 < j ⊦ (i * i0) |%| j = (i * (i0 - j * j1) + (~ j0 * (i0 - j * j1)) * j) |%| j, j = 0 |
⊦ 0 < j → (i + i0 * j) |%| j = i |%| j
0 < j, i = i |%| j + j * j0, i0 = i0 |%| j + j * j1, 0 < j ⊦ (i * i0) |%| j = (i * (i0 - j * j1)) |%| j, j = 0
Used terms: j, ~ j0 * (i0 - j * j1), i * (i0 - j * j1)