| m < # ar ⊦ # ar[m, ar[m]] = # ar ∧ (∀ n. n < # ar[m, ar[m]] → ar[m, ar[m]][n] = ar[n]) |
n < # ar, m < # ar ⊦ ar[m, ar[m]][n] = ar[n]
Used simplifier rules: Size-put: ⊦ # ar[n, a] = # ar;% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic