| zbrar[n] = mkzentry(key, adr), zbrar[n0 + 1] = mkzentry(key0, adr0), n0 < # zbrar, nused < # zbrar, n < # zbrar, n0 < nused, n0 + 1 < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ nused ⊦ n0 < n, key0 ≠ key ∧ (∃ n1. ¬ nused < n1 ∧ zbrar[n1].entry? ∧ zbrar[n1].key = key0) |
zbrar[n0 + 1] = mkzentry(key0, adr0), zbrar[n] = mkzentry(key, adr), n0 + 1 < # zbrar, n0 < nused, n < # zbrar, nused < # zbrar, n0 < # zbrar, n < nused, n + 1 < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ n0 ⊦ key0 ≠ key ∧ (∃ n1. ¬ nused < n1 ∧ zbrar[n1].entry? ∧ zbrar[n1].key = key0)
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)