| n < # zbrar, n < nused, n + 1 < nused, key ∈ (ri |> zbrar[n - 1].key) |≤ zbrar[n].key, nused ≤ # zbrar ⊦ ((ri |> zbrar[n - 1].key) |≤ zbrar[n].key)[key] = ri[key], n = 0 |
n + 1 < nused, n < nused, n < # zbrar, zbrar[n - 1].key < key, n + 1 < # zbrar, key ∈ ri, nused ≤ # zbrar ⊦ ((ri |> zbrar[n - 1].key) |≤ zbrar[n].key)[key] = ri[key], n = 0, zbrar[n].key < key
Used simplifier rules: fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat% ⊦ key0 ∈ ri |> key1 ↔ key0 ∈ ri ∧ key1 < key0; (s)% ⊦ key0 ∈ ri |≤ key1 ↔ key0 ∈ ri ∧ ¬ key1 < key0; (s)