| i > 0, r0 ∈ st, r0 -- sk ∈ st, ∀ val, r, st, sk, r0, i0. i→n(i0) < i→n(i) → (r0 -- sk ∈ st ∧ r0 ∈ st → r0 -- sk ∈ addarray(r, val, i0, st)) ⊦ r0 -- sk ∈ (addarray(r, val, i - 1, st)[r -- (i - 1) ', val]) |
⊦ r ≠ r0 → (r -- sk ∈ addarray(r0, val, i, st) ↔ r -- sk ∈ st)
0 < i, r -- sk ∈ st, r ∈ st, ∀ val, r, st, sk, r0, i0. i→n(i0) < i→n(i) → (r0 -- sk ∈ st ∧ r0 ∈ st → r0 -- sk ∈ addarray(r, val, i0, st)) ⊦ sk = (i - 1) ', r -- sk ∈ addarray(r, val, i - 1, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st], [CSIMPSEQ : ⊦ i > j ↔ j < i])]]