| ∀ r, st. hasKeys(r, sks0, st) ↔ (∀ sk. sk ∈ sks0 → r -- sk ∈ st) ⊦ hasKeys(r, sk + sks0, st) ↔ (∀ sk0. sk0 ∈ sk + sks0 → r -- sk0 ∈ st) |
⊦ hasKeys(r, sk ' + sks, st) ↔ r -- sk ∈ st ∧ hasKeys(r, sks, st)
∀ r, st. hasKeys(r, sks0, st) ↔ (∀ sk. sk ∈ sks0 → r -- sk ∈ st) ⊦ r -- sk ∈ st ∧ hasKeys(r, sks0, st) ↔ (∀ sk0. sk0 = sk ∨ sk0 ∈ sks0 → r -- sk0 ∈ st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ∈ sk0 ' ↔ sk = sk0], [CSIMPSEQ : ⊦ sk ∈ sks + sks0 ↔ ¬ ¬ (sk ∈ sks ∨ sk ∈ sks0)], [CSIMPSEQ : ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1], [CSIMPSEQ : ⊦ sk + sks = sk ' + sks])]]