| i→n(i0) + n = n0 + # ar, i→n(i0) + i→n(i1) = n0 % # ar + # ar, n0 % # ar < n0, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i→n(i0) < # 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 < n0 + # ar, # ar ≤ n0, # ar ≤ n, i→n(i0) < n0, i→n(i0) < n, # ar < i→n(i1), i→n(i0) + 1 < i→n(i1), i0 < i1, i0 < n→i(# ar) ⊦ ar[n0 % # ar] = a, # ar = 1, i1 = 0 |
# ar < n, i→n(i0) + n = n0 + # ar, i→n(i0) + i→n(i1) = n0 % # ar + # ar, n0 % # ar < n0, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i→n(i0) < # 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 < n0 + # ar, # ar ≤ n0, # ar ≤ n, i→n(i0) < n0, i→n(i0) < n, # ar < i→n(i1), i→n(i0) + 1 < i→n(i1), i0 < i1, i0 < n→i(# ar) ⊦ ar[n0 % # ar] = a, # ar = 1, i1 = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPSEQ : ⊦ m ≤ n → (n ≤ m ↔ m = n)], [CSIMPFORWARD : ⊦ m < n ∧ m = n0 → n0 < n], [CSIMPFORWARD : ⊦ m < n ∧ n = n0 → m < n0], [CSIMPSEQ : ⊦ m + n = m + n0 ↔ n = n0], [CSIMPSEQ : ⊦ m ≤ m], [CSIMPSEQ : ⊦ m < n → m % n = m], [CSIMPSEQ : ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j)], [CSIMPSEQ : ⊦ 0 ≤ i → abs(i) = i], [CSIMPSEQ : ⊦ ¬ i < i])], [EXTRAFMAS : (# ar < n)]]