| n0 < m0, (5 + n) + n + m0 ≤ # avol, (5 + n) + n + m0 ≤ # avol0, ∀ n2. n2 < n + m0 → avol[(5 + n) + n2] = avol0[(5 + n) + n2] ⊦ avol[(5 + 2 * n) + n0] = avol0[(5 + 2 * n) + n0] |
n0 < m0, 2 * n + 5 + m0 ≤ # avol0, 2 * n + 5 + m0 ≤ # avol, ∀ n2. n2 < n + m0 → avol[(5 + n) + n2] = avol0[(5 + n) + n2] ⊦ avol[(5 + 2 * n) + n0] = avol0[(5 + 2 * n) + n0]
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m + m = 2 * m; (s)