For a set of values N, how many functions

*f*exist, such that the following are true? (Forgive me if I make mistakes with the notation...I'm not a mathematician.)

*f*(

*f*(a, b), c) =

*f*(

*f*(a, c), b)

∃

*g*:*g*(a,*f*(a, b)) = b
where a, b, c ← N

I've been able to determine the answer through brute-force exploration of the function space for the following sizes of N:

For |N| = 2, there are 2 functions with these properties.

For |N| = 3, there are 6 functions with these properties.

For |N| = 4, there are 96 functions with these properties.

It seems like it ought to be easy to say, for a given size |N|, how many of these functions there are. But I can't see it yet.

Note 12/3/2013: I figured it out.

Note 12/3/2013: I figured it out.

## No comments:

## Post a Comment