| # A = # A0, i + 1 < # A0, m < i, m < # A0, perm(A[m + 1, y][2 + m, x], A0), sorted(A, 3 + m, i + 2), sorted(A, 0, m + 1), i ≤ # A0, m + 1 ≠ i → ¬ A[3 + m] < A[m], m + 1 ≠ i → x < A[3 + m] ⊦ x < y, x < A[m], perm(A[2 + m, x][m + 1, y], A0) |
m ≠ n ⊦ ar[m, a][n, b] = ar[n, b][m, a]
Used simplifier rules: ⊦ m + n = m + n0 ↔ n = n0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: y, m + 1, x, 2 + m, A