| zbrar[n0 + 1].key = zbrar[n].key, n0 + 1 < # zbrar, n0 < nused, n < # zbrar, nused < # zbrar, n0 < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ nused ⊦ n0 < n |
zbrar[n0 + 1].key = zbrar[n].key, n0 < # zbrar, nused < # zbrar, n < # zbrar, n0 < nused, n0 + 1 < # zbrar, n < nused, n + 1 < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ n0 ⊦
Used simplifier rules: ⊦ m +1 = m + 1; (s)%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic% ⊦ m < n → m ≤ n; (s)%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)