| ∀ i. i ∈ ints0 → Π ints0 = i ^ n→i(#oc(i, ints0)) * Π(ints0 -l i), i ∈ i0 + ints0 ⊦ Π(i0 + ints0) = i ^ n→i(#oc(i, i0 + ints0)) * Π((i0 + ints0) -l i) |
∀ i. i ∈ ints0 → Π ints0 = i ^ n→i(#oc(i, ints0)) * Π(ints0 -l i) ⊦ i0 * Π ints0 = i ^ (n→i(#oc(i, i0 ')) + n→i(#oc(i, ints0))) * Π((i0 ' + ints0) -l i), i ≠ i0 ∧ ¬ i ∈ ints0
Used simplifier rules: in-17: ⊦ i ∈ i0 ' ↔ i = i0; from specification list[intlista]%in-append: ⊦ i ∈ ints + ints0 ↔ ¬ ¬(i ∈ ints ∨ i ∈ ints0); from specification list[intlista]%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%n2i-add: ⊦ n→i(m + n) = n→i(m) + n→i(n); from specification intnat%ocappend: ⊦ #oc(i, ints + ints0) = #oc(i, ints) + #oc(i, ints0); from specification list-perm[intlista]%a: ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1; from specification list[intlista]%prod-rec: ⊦ Π(i ' + ints) = i * Π ints; from specification intlist%c: ⊦ i + ints = i ' + ints; from specification list[intlista]