| ⊦ m = n, # ar[m, a][n, b] = # ar[n, b][m, a] ∧ (∀ n0. n0 < # ar[m, a][n, b] → ar[m, a][n, b][n0] = ar[n, b][m, a][n0]) |
n0 < # ar ⊦ ar[m, a][n, b][n0] = ar[n, b][m, a][n0], m = 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