| # ar = n0 + m + 1, n1 < # ar, m < # ar, n1 ≤ n0 + m, m ≤ n1, ∀ ar, n0, m. # ar = n0 + m + 1 ∧ m < # ar ∧ m < n1 ∧ n1 ≤ # ar → rev(ar, n1)[m] = ar[n0] ⊦ rev(ar, n1 + 1)[m] = ar[n0] |
⊦ n < # ar → rev(ar, n + 1) = rev(ar, n)[n, ar[# ar - n + 1]]
# ar = n0 + m + 1, m < # ar, n1 < # ar, m ≤ n1, n1 ≤ n0 + m, ∀ ar, n0, m. # ar = n0 + m + 1 ∧ m < # ar ∧ m < n1 ∧ n1 ≤ # ar → rev(ar, n1)[m] = ar[n0] ⊦ rev(ar, n1)[n1, ar[# ar - n1 + 1]][m] = ar[n0]
Used terms: n1, ar