| zbrar[m] = mkzentry(key0, adr), zbrar[m + n].entry?, m < # zbrar, m + nused0 < # zbrar, n ≤ nused0 ⊦ zbrar[m + n].key = key0, ∃ n0. n0 < nused0 ∧ zbrar[(m + 1) + n0].entry? ∧ zbrar[(m + 1) + n0].key = zbrar[m + n].key |
zbrar[m] = mkzentry(key0, adr), zbrar[m + n] = mkzentry(key, adr0), zbrar[m + n].entry?, m + nused0 < # zbrar, m < # zbrar, n ≤ nused0 ⊦ key = key0, ∃ n0. n0 < nused0 ∧ zbrar[(m + 1) + n0].entry? ∧ zbrar[(m + 1) + n0].key = key
Used simplifier rules: ⊦ zbr.entry? → (key = zbr.key ∧ adr = zbr.adr ↔ zbr = mkzentry(key, adr)); (elim) Used terms: zbrar[m + n], key, adr0