OFFSET
1,6
COMMENTS
A free pure symmetric multifunction f in EPSM is either (case 1) a positive integer, or (case 2) an expression of the form h[g_1, ..., g_k] where k > 0, h is in EPSM, each of the g_i for i = 1, ..., k is in EPSM, and for i < j we have g_i <= g_j under a canonical total ordering of EPSM, such as the Mathematica ordering of expressions.
EXAMPLE
The a(12) = 8 free pure symmetric multifunctions are 1[1[2]], 1[2[1]], 1[1,2], 2[1[1]], 2[1,1], 1[1][2], 1[2][1], 2[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]]]];
exprUsing[m_]:=exprUsing[m]=If[Length[m]==0, {}, If[Length[m]==1, {First[m]}, Join@@Cases[Union[Table[PR[m[[s]], m[[Complement[Range[Length[m]], s]]]], {s, Take[Subsets[Range[Length[m]]], {2, -2}]}]], PR[h_, g_]:>Join@@Table[Apply@@@Tuples[{exprUsing[h], Union[Sort/@Tuples[exprUsing/@p]]}], {p, mps[g]}]]]];
primeMS[n_]:=If[n==1, {}, Flatten[Cases[FactorInteger[n], {p_, k_}:>Table[PrimePi[p], {k}]]]];
Table[Length[exprUsing[primeMS[n]]], {n, 100}]
CROSSREFS
KEYWORD
nonn
AUTHOR
Gus Wiseman, Aug 03 2018
STATUS
approved