| sk .fs = mkfs(class, ty0, fieldvar), is_fskey(sk), r0 -- sk ∈ st, okval(st[r0 -- sk], ty0), okval(val0, ty0), r0 ∈ st ⊦ exactarray(val, ty, i, st[r0 -- sk, val0]) ↔ exactarray(val, ty, i, st), sk = _length, sk = _type |
fs ' .fs = mkfs(class, ty0, fieldvar), is_fskey(fs '), r0 -- fs ' ∈ st, okval(st[r0 -- fs '], ty0), okval(val0, ty0), r0 ∈ st ⊦ exactarray(val, ty, i, st[r0 -- fs ', val0]) ↔ exactarray(val, ty, i, st), fs ' = _length, fs ' = _type
[[CONCRETESIMPRULES : ([CSIMPGEN : storekey generated by ', ';], [CSIMPSEQ : ⊦ _length ≠ i '], [CSIMPSEQ : ⊦ _type ≠ i '], [CSIMPSEQ : ⊦ ¬ is_fskey(i ')])]]