| ¬ (i→n(i0) + i→n(i1)) % # ar ≠ (i→n(i0) + n) % # ar, 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) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1)), 0 ≤ i0 + i1, n < i→n(i1), 0 < i1 ⊦ i1 = 0, # ar = 0, ar[(i→n(i0) + n) % # ar] = (ar[(i→n(i0) + i→n(i1)) % # ar, a][(i→n(i0) + n) % # ar]), # ar = 1 |
(i→n(i0) + i→n(i1)) % # ar = (i→n(i0) + n) % # ar, 0 < i1, n < i→n(i1), 0 ≤ i0 + i1, inv(mk(ar[(i→n(i0) + n) % # ar, a], n→i(# ar), i0, i1 + 1)), i1 < n→i(# ar), inv(mk(ar, n→i(# ar), i0, i1)), i0 < n→i(# ar), i1 ≤ n→i(# ar), 0 ≤ i0, 0 ≤ (i0 + i1) % n→i(# ar) ⊦ # ar = 0, i1 = 0, # ar = 1, ar[(i→n(i0) + n) % # ar] = a
[[CONCRETESIMPRULES : ([CSIMPSEQ : m < # ar ⊦ (ar[m, a][m]) = a], [CSIMPSEQ : n ≠ 0 ⊦ m % n < n], [CSIMPSEQ : ⊦ m + n = n + m])]]