| 0 ≤ i ⊦ is_fskey(sk), (r -- sk ∈ addarray(r, ty, i, st) ↔ r -- sk ∈ addarray(r, ty, mklist(initial_value(ty), i→n(i)), st)) ∧ (addarray(r, ty, i, st)[r -- sk]) = (addarray(r, ty, mklist(initial_value(ty), i→n(i)), st)[r -- sk]), ¬ is_indexkey(sk) ∧ sk ≠ _length ∧ sk ≠ _type, ¬ is_fskey(sk) ∧ (¬ 0 ≤ sk .index ∨ ¬ sk .index < i) |
0 ≤ i, is_indexkey(sk), sk .index < i, 0 ≤ sk .index, 0 < i ⊦ (r -- sk ∈ addarray(r, ty, i, st) ↔ r -- sk ∈ addarray(r, ty, mklist(initial_value(ty), i→n(i)), st)) ∧ (addarray(r, ty, i, st)[r -- sk]) = (addarray(r, ty, mklist(initial_value(ty), i→n(i)), st)[r -- sk])
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)])]]