| fac(j - 1) * fac(i - 1 - (j - 1)) | fac(i - 1), 0 < j, j < i, 1 < i, 0 < i, ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 < j ∧ 0 < i0 → fac(j) * fac(i0 - j) | fac(i0) ⊦ i = j, fac(j) * fac(i - j) | fac(i) |
0 < j, j < i, 1 < i, 0 < i, fac(j - 1) * fac(i - j) | fac(i - 1), ∀ i0, j. i→n(i0) < i→n(i) → j ≤ i0 ∧ 0 < j ∧ 0 < i0 → fac(j) * fac(i0 - j) | fac(i0) ⊦ i = j, fac(j) * fac(i - j) | fac(i)
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%Sub-def: ⊦ i + (j - i) = j; from specification int-abs%sub-sub: ⊦ i - j - i0 = i - j + i0; from specification int-abs