| zbrar[m1] = mkzentry(key, adr1), zbrar[m0] = mkzentry(key, adr0), m0 < # zbrar, m1 < # zbrar, m0 < m, m1 < m, m ≤ # zbrar, m0 < m1 ∧ m1 < m → zbrar[m0].key < zbrar[m1].key, ∀ m2, m3. m2 < m3 ∧ m3 < m → zbrar[m2].key < zbrar[m3].key ⊦ m0 = m1 ∧ adr0 = adr1 |
zbrar[m1] = mkzentry(key, adr1), zbrar[m0] = mkzentry(key, adr0), m0 < # zbrar, m1 < # zbrar, m0 < m, m1 < m, m ≤ # zbrar, m1 ≤ m0, ∀ m2, m3. m2 < m3 ∧ m3 < m → zbrar[m2].key < zbrar[m3].key ⊦ m0 = m1 ∧ adr0 = adr1
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ ¬ key < key; (s)% ⊦ mkzentry(key, adr).key = key; (s)