| i→n(i0) + i→n(i1) = (i→n(i0) + n - # ar) % # ar + # ar, # ar ≤ i→n(i0) + n, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i0 < n→i(# ar), inv(mk(ar, n→i(# ar), i0, i1)), i1 < n→i(# ar), inv(mk(ar[(i→n(i0) + n - # ar) % # ar, a], n→i(# ar), i0, i1 + 1)), 0 ≤ i0 + i1, n < i→n(i1), 0 < i1, (i→n(i0) + n - # ar) % # ar < # ar, (i→n(i0) + n - # ar) % # ar < i→n(i0) + n ⊦ ar[(i→n(i0) + n - # ar) % # ar] = a, # ar = 1, i1 = 0 |
i→n(i0) + n = n0 + # ar, i→n(i0) + i→n(i1) = n0 % # ar + # ar, # ar ≤ i→n(i0) + n, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i0 < n→i(# ar), inv(mk(ar, n→i(# ar), i0, i1)), i1 < n→i(# ar), inv(mk(ar[n0 % # ar, a], n→i(# ar), i0, i1 + 1)), 0 ≤ i0 + i1, n < i→n(i1), 0 < i1, n0 % # ar < # ar, n0 % # ar < i→n(i0) + n ⊦ ar[n0 % # ar] = a, # ar = 1, i1 = 0
[[CONCRETESIMPRULES : ([CSIMPELIM : n ≤ m ⊦ n0 = m - n ↔ m = n0 + n])], [EXTRATERMS : (i→n(i0) + n, # ar, n0)]]