| adr ∈ asar[n], ∀ n, adr, asar. n < m0 ∧ adr ∈ asar[n] → # asar[n] = 0 ∨ asar[n] = ∅ ∨ adr ∈ union(asar, 0, m0), n = m0 ∨ n < m0 ⊦ # asar[n] = 0, asar[n] = ∅, m0 = 0, adr ∈ union(asar, 0, m0), adr ∈ asar[m0] |
n < m0, adr ∈ asar[n], ∀ n, adr, asar. n < m0 ∧ adr ∈ asar[n] → # asar[n] = 0 ∨ asar[n] = ∅ ∨ adr ∈ union(asar, 0, m0) ⊦ # asar[n] = 0, asar[n] = ∅, adr ∈ union(asar, 0, m0), adr ∈ asar[m0]
Used simplifier rules: f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n → n ≠ 0; (s)