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