drab wrote:Also ...

In the 12-fold way, there are 3 important choices for the capacity parameter.

But there could be a further generalization by splitting the capacity parameter into 2 parameters : atleast,atmost.

In these terms, the current 3 choices mean:

0 -- 0,1

1 -- 0,∞

2 -- 1,∞

But there are many other possibilities for the 2 parameters, requiring only that atleast ≤ atmost.

For example 2,4 means a capacity of 2 or 3 or 4.

There are lots of degenerate cases, and the individual degeneracy depends on the values of L and R.

But there are some potentially interesting possibilities when atleast ≤ L ≤ atmost ≤ R.

There is a minor implementation complication, since there is actually no infinite integer value.

But an atmost value of 0 could be used to mean atmost = ∞ .

Zero might even be the most common choice, and it is also what your get if you use 5↑f to get the default values.

It's natural to want to extend a good idea and there have been several other attempts

* Kenneth Bogart has a

Twentyfold Way (his tables are incomplete -- that is, he doesn't have a Combinatorial Algorithm to back up each of his twenty ways)

* Robert Proctor has a

Thirtyfold Way (this URL is invalid: I had to go to the WayBack machine to find a copy -- if you're interested, I can email mine)

The idea behind the Twelvefold Way is that the artifice of Balls in Boxes provides a framework to translate the 2x2x3 array of choices into fundamental Combinatorial Algorithms. Expanding the Capacity choices beyond At Most 1, Unrestricted, and At Least 1, should be accompanied by some other Combinatorial Algorithms to which those new choices map. To some extent, this is what Proctor has done with a category

a[i] Batches which contain

i items. I mentioned Proctor's paper in my original paper on the topic (in the section on

Future Work), but decided at least for the initial release to limit the breadth and depth to just Rota's ideas.

BTW, although infinity is a floating point number, there's nothing wrong with using

1 ∞. It'll be recognized correctly for what it is.