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