| oktype(val, sk0 .fs .type, st), is_fskey(sk0), goodfieldandtype(r, sk, st) ⊦ sk0 = _type, goodfieldandtype(r, sk, st[r0 -- sk0, val]) |
sk0 = fs ', oktype(val, fs .type, st), is_fskey(sk0), goodfieldandtype(r, sk, st) ⊦ sk0 = _type, goodfieldandtype(r, sk, st[r0 -- sk0, val])
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_fskey(sk) → (fs = sk .fs ↔ sk = fs ')])], [EXTRATERMS : (sk0, fs)]]