| is_fskey(sk) ⊦ r = r0, r0 -- sk ∈ st ∧ oktype(st[r0 -- sk], sk .fs .type, addarray(r, ty, vals, st)) ↔ goodfieldandtype(r0, sk, st) |
sk = fs ', is_fskey(sk) ⊦ r = r0, r0 -- sk ∈ st ∧ oktype(st[r0 -- sk], fs .type, addarray(r, ty, vals, st)) ↔ goodfieldandtype(r0, sk, st)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_fskey(sk) → (fs = sk .fs ↔ sk = fs ')])], [EXTRATERMS : (sk, fs)]]