| ∀ r, r0, st, sk, val. r = r0 ∨ (hasKeys(r, sks0, st[r0 -- sk, val]) ↔ hasKeys(r, sks0, st)) ⊦ r = r0, r -- sk0 ∈ st ∧ hasKeys(r, sks0, st[r0 -- sk, val]) ↔ hasKeys(r, sk0 ' + sks0, st) |
⊦ hasKeys(r, sk ' + sks, st) ↔ r -- sk ∈ st ∧ hasKeys(r, sks, st)
∀ r, r0, st, sk, val. r = r0 ∨ (hasKeys(r, sks0, st[r0 -- sk, val]) ↔ hasKeys(r, sks0, st)) ⊦ r = r0, r -- sk0 ∈ st ∧ hasKeys(r, sks0, st[r0 -- sk, val]) ↔ r -- sk0 ∈ st ∧ hasKeys(r, sks0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, sks0, sk0, r)]]