| n = 0, (p ' + P0)[n] = pe(m, m0, m1), partitions(p ' + P0, n0), n ≤ # P0, ∀ n, m, m0, m1, n0, m2. P0[n] = pe(m, m0, m1) ∧ n < # P0 ∧ partitions(P0, n0) → P0 = [] ∨ partitions(P0[n, pe(m, m0, m2)], n0) ⊦ partitions((p ' + P0)[n, pe(m, m0, m2)], n0) |
partitions(pe(m, m0, m1) ' + P0, n0), ∀ n, m, m0, m1, n0, m2. P0[n] = pe(m, m0, m1) ∧ n < # P0 ∧ partitions(P0, n0) → P0 = [] ∨ partitions(P0[n, pe(m, m0, m2)], n0) ⊦ partitions(pe(m, m0, m2) ' + P0, n0)
[Concretesimprules((Csimpnamedseq(list,partition,c, ⊦ p + P = p ' + P) Csimpnamedseq(list-del,partition,put-zero, ⊦ (p ' + P)[0, p0] = p0 + P) Csimpnamedseq(nat,,lez, ⊦ 0 ≤ m) Csimpnamedseq(list,partition,a, ⊦ (P + P0) + P1 = P + P0 + P1) Csimpnamedseq(list-del,partition,get-zero-01, ⊦ (p ' + P)[0] = p)))]