| n < # x0, n < m, m ≤ # x0, ∀ n0, m0. n0 + 1 < # x0 ∧ m0 < # x0 → (x0 -p m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.tail[n0]) ⊦ ((a ' + x0) -p m)[n] = (n < m ⊃ (a ' + x0)[n];x0[n]), x0 = [] |
n < # x0, n < m, m ≤ # x0, ∀ n0, m0. n0 + 1 < # x0 ∧ m0 < # x0 → (x0 -p m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.tail[n0]) ⊦ ((a ' + x0) -p m)[n] = (a ' + x0)[n], x0 = []
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic