| key ∈ payload(zbrar, m + 1, nused0) ↔ (∃ n. n < nused0 ∧ zbrar[(m + 1) + n].entry? ∧ zbrar[(m + 1) + n].key = key), m < # zbrar, m + nused0 < # zbrar, key ∈ payload(zbrar, m + 1, nused0) ⊦ zbrar[m].entry?, ∃ n. ¬ nused0 < n ∧ zbrar[m + n].entry? ∧ zbrar[m + n].key = key |
zbrar[(m + 1) + n].entry?, n < nused0, m < # zbrar, m + nused0 < # zbrar, zbrar[(m + 1) + n].key ∈ payload(zbrar, m + 1, nused0) ⊦ zbrar[m].entry?, ∃ n0. ¬ nused0 < n0 ∧ zbrar[m + n0].entry? ∧ zbrar[m + n0].key = zbrar[(m + 1) + n].key
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic