| hasKeys(r, fis .keys, st), r -- sk ∈ st, unique_al(fis), r ∈ st ⊦ sk = _type, sk = _length, _length ∈ fis, _type ∈ fis, hasKeys(r, fis[sk, val] .keys, st) |
⊦ hasKeys(r, sks, st) ↔ (∀ sk. sk ∈ sks → r -- sk ∈ st)
hasKeys(r, fis .keys, st), r -- sk ∈ st, unique_al(fis), r ∈ st ⊦ sk = _type, sk = _length, _length ∈ fis, _type ∈ fis, ∀ sk0. sk0 ∈ fis[sk, val] .keys → r -- sk0 ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, fis[sk, val] .keys, r)]]