| zbrar[m] = mkzentry(key, adr0), zbrar[n] = mkzentry(key0, adr1), n < # zbrar, n + m0 < # zbrar, m < # zbrar, sorted(zbrar, 0, n + m0 + 1), n ≤ m, m ≤ n + m0, ∀ zbrar, n, adr. sorted(zbrar, 0, n + m0) ∧ n + m0 ≤ # zbrar → (adr ∈ payload(zbrar, n, m0) ↔ (∃ m1. n ≤ m1 ∧ m1 < n + m0 ∧ zbrar[m1].entry? ∧ zbrar[m1].adr = adr)) ⊦ adr0 ∈ payload(zbrar, n + 1, m0)[key0, adr1] |
⊦ ¬ key ∈ ri → (adr ∈ ri[key, adr0] ↔ adr ∈ ri ∨ adr = adr0)
zbrar[n] = mkzentry(key0, adr1), zbrar[m] = mkzentry(key, adr0), m < # zbrar, n + m0 < # zbrar, n < # zbrar, sorted(zbrar, 0, n + m0 + 1), key0 ∈ payload(zbrar, n + 1, m0), m ≤ n + m0, n ≤ m, ∀ zbrar, n, adr. sorted(zbrar, 0, n + m0) ∧ n + m0 ≤ # zbrar → (adr ∈ payload(zbrar, n, m0) ↔ (∃ m1. n ≤ m1 ∧ m1 < n + m0 ∧ zbrar[m1].entry? ∧ zbrar[m1].adr = adr)) ⊦ adr0 ∈ payload(zbrar, n + 1, m0)[key0, adr1]
zbrar[n] = mkzentry(key0, adr1), zbrar[m] = mkzentry(key, adr0), m < # zbrar, n + m0 < # zbrar, n < # zbrar, sorted(zbrar, 0, n + m0 + 1), m ≤ n + m0, n ≤ m, ∀ zbrar, n, adr. sorted(zbrar, 0, n + m0) ∧ n + m0 ≤ # zbrar → (adr ∈ payload(zbrar, n, m0) ↔ (∃ m1. n ≤ m1 ∧ m1 < n + m0 ∧ zbrar[m1].entry? ∧ zbrar[m1].adr = adr)) ⊦ adr0 = adr1, adr0 ∈ payload(zbrar, n + 1, m0), key0 ∈ payload(zbrar, n + 1, m0)
Used terms: adr1, key0, payload(zbrar, n + 1, m0), adr0