| ⊦ sk ≠ _type ∧ goodfieldandtype(r0, sk, st) ∧ oktype(val0, sk .fs .type, st) ∧ sk ≠ _length → (okarray(val, ty, i, st[r0 -- sk, val0]) ↔ okarray(val, ty, i, st)) |
⊦ goodfieldandtype(r, sk, st) ↔ ¬ ¬ (is_fskey(sk) ∧ r -- sk ∈ st ∧ okval(st[r -- sk], sk .fs .type))
⊦ sk ≠ _length ∧ sk ≠ _type ∧ is_fskey(sk) → (okarray(val, ty, i, st[r -- sk, val0]) ↔ okarray(val, ty, i, st))
[[CONCRETESIMPRULES : ()]]