| i→n(i0) + i→n(i1) = n0 % # ar + # ar, i→n(i0) + n = n0 + # ar, n0 % # ar < n0 + # ar, n0 % # ar < # ar, 0 < i1, n < i→n(i1), 0 ≤ i0 + i1, inv(mk(ar[n0 % # 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 ≤ n0, n0 % # ar < n0 ⊦ i1 = 0, # ar = 1, ar[n0 % # ar] = a |
i→n(i0) + i→n(i1) = n0 % # ar + # ar, i→n(i0) + n = n0 + # ar, n0 % # ar < n0 + # ar, n0 % # ar < # ar, 0 < i1, n < i→n(i1), 0 ≤ i0 + i1, inv(mk(ar[n0 % # 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 ≤ n0, n0 % # ar < n0 ⊦ i→n(i0) + n < # ar + # ar, i1 = 0, # ar = 1, ar[n0 % # ar] = a
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ m + m = 2 * m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ m * n = n * m], [CSIMPSEQ : ⊦ m0 * m * n = (m0 * m) * n], [CSIMPSEQ : ⊦ 2 * m = 0 ↔ m = 0], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPFORWARD : ⊦ m < n ∧ m = n0 → n0 < n], [CSIMPSEQ : n ≠ 0 ⊦ m % n < n], [CSIMPFORWARD : ⊦ m < n ∧ n < n0 → m +1 < n0], [CSIMPFORWARD : ⊦ n < n0 ∧ n0 < n1 → n < n1], [CSIMPSEQ : ⊦ m +1 = m + 1], [CSIMPSEQ : m1 ≠ 0 ⊦ m + n < ((* m1)) * m ↔ n < (m1 - 1) * m], [CSIMPSEQ : ⊦ m0 * 1 = m0], [CSIMPSEQ : ⊦ m ≤ n → (n < m ↔ false)])], [EXTRAFMAS : (i→n(i0) + n < # ar + # ar)]]