| # A = # A0, i + 1 < # A0, perm(A[j, y][j + 1, x], A0), sorted(A, j + 2, i + 2), sorted(A, 0, j), j ≤ # A0, j ≤ i, i ≤ # A0, j ≠ i → ¬ A[j + 2] < A[j - 1], j ≠ i → x < A[j + 2] ⊦ j = 0, x < y, x < A[j - 1], sorted(A[j + 1, x], j + 1, i + 2) ∧ ¬ x < A[j + 1, x][j - 1] ∧ perm(A[j + 1, x][j, y], A0) |
# A = # A0, j = m + 1, i + 1 < # A0, perm(A[j, y][j + 1, x], A0), sorted(A, 0, j), sorted(A, j + 2, i + 2), i ≤ # A0, j ≤ i, j ≤ # A0, j ≠ i → x < A[j + 2], j ≠ i → ¬ A[j + 2] < A[m] ⊦ j = 0, x < A[m], x < y, sorted(A[j + 1, x], j + 1, i + 2) ∧ ¬ x < A[j + 1, x][m] ∧ perm(A[j + 1, x][j, y], A0)
Used simplifier rules: n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: j, m