| is_fskey(sk), ∀ sk0, r1, st0, r2, val0. ¬ is_indexkey(sk0) → sk0 = _type ∨ sk0 = _length ∨ (okarrays(r1, fis0, st0[r2 -- sk0, val0]) ↔ okarrays(r1, fis0, st0)) ∨ sk0 ∈ fis0 ⊦ sk = _type, sk = _length, okarrays(r, fv ' + fis0, st[r0 -- sk, val]) ↔ okarrays(r, fv ' + fis0, st), sk ∈ fv ', sk ∈ fis0 |
is_fskey(sk), ∀ sk0, r1, st0, r2, val0. ¬ is_indexkey(sk0) → sk0 = _type ∨ sk0 = _length ∨ (okarrays(r1, fis0, st0[r2 -- sk0, val0]) ↔ okarrays(r1, fis0, st0)) ∨ sk0 ∈ fis0 ⊦ sk = _type, sk = _length, okarrays(r, (sk0 × val0) ' + fis0, st[r0 -- sk, val]) ↔ okarrays(r, (sk0 × val0) ' + fis0, st), sk ∈ (sk0 × val0) ', sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPGEN : fieldvalue generated by ×;])]]