| m + nused ≤ # zbrar ⊦ key ∈ payload(zbrar, m, nused) ↔ (∃ n. n < nused ∧ zbrar[m + n].entry? ∧ zbrar[m + n].key = key) |
m + nused0 +1 ≤ # zbrar, ∀ m, zbrar, key. m + nused0 ≤ # zbrar → (key ∈ payload(zbrar, m, nused0) ↔ (∃ n. n < nused0 ∧ zbrar[m + n].entry? ∧ zbrar[m + n].key = key)) ⊦ key ∈ payload(zbrar, m, nused0 +1) ↔ (∃ n. n < nused0 +1 ∧ zbrar[m + n].entry? ∧ zbrar[m + n].key = key)
Used simplifier rules: payload-base: ⊦ payload(zbrar, m, 0) = ∅;%nat freely generated by 0, +1;;% ⊦ ¬ key ∈ ∅; (s)% ⊦ ¬ m < 0; (s)