| m + nused0 < # zbrar, m < # zbrar, key ∈ keys(zbrar, m + 1, nused0), ∃ n. n < nused0 ∧ zbrar[(m + 1) + n].key = key ⊦ key = zbrar[m].key ∨ key ∈ keys(zbrar, m + 1, nused0) ↔ (∃ n. ¬ nused0 < n ∧ zbrar[m + n].key = key) |
m + nused0 < # zbrar, m < # zbrar, n < nused0, zbrar[(m + 1) + n].key ∈ keys(zbrar, m + 1, nused0) ⊦ # keys(zbrar, m + 1, nused0) = 0, keys(zbrar, m + 1, nused0) = ∅, ∃ n0. ¬ nused0 < n0 ∧ zbrar[m + n0].key = zbrar[(m + 1) + n].key
Used simplifier rules: size-zero-01: ⊦ ks ≠ ∅ → # ks ≠ 0; (forward) from specification set-basic[node-index]% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%ne-01: ⊦ key ∈ ks → ks ≠ ∅; (forward) from specification set-basic[node-index]