| sorted(zbrar, 0, nused), nused ≤ # zbrar, scan(key, zbrar, 0, nused) ≤ nused, scan(key, zbrar, 0, nused) ≤ # zbrar ⊦ (scan(key, zbrar, 0, nused) < n0 ∧ n0 < nused → key < zbrar[n0].key) ∧ (n < scan(key, zbrar, 0, nused) → zbrar[n].key < key) ∧ (scan(key, zbrar, 0, nused) < nused → ¬ zbrar[scan(key, zbrar, 0, nused)].key < key) |
scan(key, zbrar, 0, nused) < n0, n0 < nused, sorted(zbrar, 0, nused), scan(key, zbrar, 0, nused) ≤ # zbrar, scan(key, zbrar, 0, nused) ≤ nused, nused ≤ # zbrar ⊦ key < zbrar[n0].key
n < scan(key, zbrar, 0, nused), sorted(zbrar, 0, nused), scan(key, zbrar, 0, nused) ≤ # zbrar, scan(key, zbrar, 0, nused) ≤ nused, nused ≤ # zbrar ⊦ zbrar[n].key < key
zbrar[scan(key, zbrar, 0, nused)].key < key, scan(key, zbrar, 0, nused) < nused, sorted(zbrar, 0, nused), scan(key, zbrar, 0, nused) ≤ # zbrar, scan(key, zbrar, 0, nused) ≤ nused, nused ≤ # zbrar ⊦