| ∀ i. i ∈ ints0 → Π ints0 = i ^ n→i(#oc(i, ints0)) * Π(ints0 -l i) ⊦ i = i0, i0 * Π ints0 = i ^ (n→i(#oc(i, i0 ')) + n→i(#oc(i, ints0))) * Π((i0 ' + ints0) -l i), i ≠ i0 ∧ ¬ i ∈ ints0 |
i ∈ ints0, ∀ i. i ∈ ints0 → Π ints0 = i ^ n→i(#oc(i, ints0)) * Π(ints0 -l i) ⊦ i = i0, i0 = 0, Π ints0 = i ^ n→i(#oc(i, ints0)) * Π(ints0 -l i)
Used simplifier rules: eq-nonzero: ⊦ i ≠ 0 → (i * j = i * j0 ↔ j = j0); from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%neq-not-zero: ⊦ i * j ≠ i * j0 → i ≠ 0; (forward) from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%prod-rec: ⊦ Π(i ' + ints) = i * Π ints; from specification intlist%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%del-n: ⊦ i ≠ i0 → (i0 ' + ints) -l i = i0 ' + (ints -l i); from specification list-del[intlista]%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%ax-04: ⊦ i + 0 = i; from specification int-basic2%one-01: ⊦ i ≠ i0 → #oc(i, i0 ') = 0; from specification list-perm[intlista]