OFFSET
1,2
COMMENTS
A multiset is normal if it spans an initial interval of positive integers, and strongly normal if in addition it has weakly decreasing multiplicities. The type of a multiset of integers is the unique normal multiset that has the same sequence of multiplicities when its entries are taken in increasing order. For example the type of 335556 is 112223.
A pair h<={g_1,...,g_k} is a combinatory separation iff there exists a multiset partition of h whose multiset of block-types is {g_1,...,g_k}. For example, the (headless) combinatory separations of the multiset 1122 are {1122}, {1,112}, {1,122}, {11,11}, {12,12}, {1,1,11}, {1,1,12}, {1,1,1,1}. This list excludes {12,11} because one cannot partition 1122 into two blocks where one block has two distinct elements and the other block has two equal elements.
EXAMPLE
The a(3) = 10 combinatory separations:
111<={111}
111<={1,11}
111<={1,1,1}
112<={112}
112<={1,11}
112<={1,12}
112<={1,1,1}
123<={123}
123<={1,12}
123<={1,1,1}
MATHEMATICA
sps[{}]:={{}}; sps[set:{i_, ___}]:=Join@@Function[s, Prepend[#, s]&/@sps[Complement[set, s]]]/@Cases[Subsets[set], {i, ___}];
mps[set_]:=Union[Sort[Sort/@(#/.x_Integer:>set[[x]])]&/@sps[Range[Length[set]]]];
strnorm[n_]:=Flatten[MapIndexed[Table[#2, {#1}]&, #]]&/@IntegerPartitions[n];
normize[m_]:=m/.Rule@@@Table[{Union[m][[i]], i}, {i, Length[Union[m]]}];
strnormQ[m_]:=OrderedQ[Length/@Split[m], GreaterEqual];
Table[Length[Select[Union@@Table[{m, Sort[normize/@#]}&/@mps[m], {m, strnorm[n]}], And@@strnormQ/@#[[2]]&]], {n, 6}]
CROSSREFS
KEYWORD
nonn,more
AUTHOR
Gus Wiseman, Aug 29 2018
STATUS
approved