| n0 < m, n1 < m, adr ∈ asar[n0], adr ∈ asar[n1], ∀ n0, n1. n0 < m ∧ n1 < m ∧ n0 ≠ n1 → asar[0 + n0] ∩ asar[0 + n1] = ∅ ⊦ # asar[n0] = 0, # asar[n1] = 0, asar[n0] = ∅, asar[n1] = ∅, n0 = n1 |
n1 < m, n0 < m, adr ∈ asar[n1], adr ∈ asar[n0], ∀ n, n2. n < m ∧ n2 < m ∧ n ≠ n2 → asar[n] ∩ asar[n2] = ∅ ⊦ # asar[n1] = 0, # asar[n0] = 0, asar[n1] = ∅, asar[n0] = ∅, n0 = n1
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ n + 0 = n; (s)