In enumerative combinatorics, a *bijective proof* that $|A_n| = |B_n|$ (where $A_n$ and $B_n$ are finite sets of combinatorial objects of size $n$) is a proof that constructs an explicit bijection between $A_n$ and $B_n$.
Bijective proofs are often prized because of their beauty and because of the insight that they often provide. Even if a combinatorial identity has already been proved (e.g., using generating functions), there is often interest in finding a bijective proof.

In spite of the importance of bijective proofs, the process of discovering or constructing a bijective proof seems to be an area that has been relatively untouched by computers. Of course, computers are often enlisted to generate all small examples of $A_n$ and $B_n$, but then the process of searching for a bijection between $A_n$ and $B_n$ is usually done the "old-fashioned" way, by playing around with pencil and paper and using human insight.

It seems to me that the time may be ripe for computers to search directly for bijections. To clarify, I do not (yet) envisage computers autonomously producing full-fledged bijective proofs. What I want computers to do is to search empirically for a *combinatorial rule*—that says something like, take an element of $A_n$ and do $X$, $Y$, and $Z$ to produce an element of $B_n$—that appears to yield a bijection for small values of $n$.

One reason that such a project has not already been carried out may be that the sheer diversity of combinatorial objects and combinatorial rules may seem daunting. How do we even describe the search space to the computer?

It occurs to me that, now that proof assistants have "come of age," people may have already had to face, and solve (at least partially), the problem of systematically encoding combinatorial objects and rules. This brings me to my question:

Does there exist a robust framework for encoding combinatorial objects and combinatorial rules in a way that would allow a computer to empirically search for bijections? If not, is there something at least close, that could be adapted to this end with a modest amount of effort?

In my opinion, Catalan numbers furnish a good test case. There are many different types of combinatorial objects that are enumerated by the Catalan numbers. As a first "challenge problem," a computer program should be able to discover bijections between different kinds of "Catalan objects" on its own. If this can be done, then there is no shortage of more difficult problems to sink one's teeth into.

10more comments