Formulation
Formulation
Suppose that a binary operator β generates a trinary operator τ via the options
In[]:=
options={τ[a_,b_,c_]->β[β[a,b],c],τ[a_,b_,c_]->β[a,β[b,c]]};
where a, b, and c are any three elements of the underlying set.
Suppose further that the Cayley table corresponding to β is a Latin square. Then there can be no duplicates along any row or any column, which is tantamount to the rules
In[]:=
xrule=(β[x1_,y_]β[x2_,y_])->(x1x2);
and
In[]:=
yrule=(β[x_,y1_]β[x_,y2_])->(y1y2);
Now consider the Cayley cube corresponding to τ and the possibility that duplicates might exist along any of the three axes which we label u, v, and w.
In[]:=
udups=τ[u1,v,w]τ[u2,v,w];
In[]:=
vdups=τ[u,v1,w]τ[u,v2,w];
In[]:=
wdups=τ[u,v,w1]τ[u,v,w2];
Proof
Proof
u axis
u axis
In[]:=
udups
Out[]=
τ[u1,v,w]τ[u2,v,w]
In[]:=
(%/.#)&/@options
Out[]=
{β[β[u1,v],w]β[β[u2,v],w],β[u1,β[v,w]]β[u2,β[v,w]]}
In[]:=
%//.xrule
Out[]=
{u1u2,u1u2}
v axis
v axis
In[]:=
vdups
Out[]=
τ[u,v1,w]τ[u,v2,w]
In[]:=
(%/.#)&/@options
Out[]=
{β[β[u,v1],w]β[β[u,v2],w],β[u,β[v1,w]]β[u,β[v2,w]]}
In[]:=
%//.xrule
Out[]=
{β[u,v1]β[u,v2],β[u,β[v1,w]]β[u,β[v2,w]]}
In[]:=
%//.yrule
Out[]=
{v1v2,β[v1,w]β[v2,w]}
In[]:=
%//.xrule
Out[]=
{v1v2,v1v2}
w axis
w axis
In[]:=
wdups
Out[]=
τ[u,v,w1]τ[u,v,w2]
In[]:=
(%/.#)&/@options
Out[]=
{β[β[u,v],w1]β[β[u,v],w2],β[u,β[v,w1]]β[u,β[v,w2]]}
In[]:=
%//.xrule
Out[]=
{β[β[u,v],w1]β[β[u,v],w2],β[u,β[v,w1]]β[u,β[v,w2]]}
In[]:=
%//.yrule
Out[]=
{w1w2,w1w2}
Conclusion
Conclusion
This proves that if no duplicates exist in any of the rows and columns of β, then no duplicates can exist along any of the axes of τ .
An Illustration
An Illustration
Here is a four - color example .
In[]:=
example={β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,]};
In[]:=
cayleysho[beta:{β[__]->_,__},rad_,options___]:=Module{set,q,r,s},set=Union@Cases[beta,_RGBColor,{0,∞}];q=beta/.c_RGBColor:>First@First@Position[set,c];r=q/.Rule[a_,b_]:>Rule[a,set[[b]]];s=r/.(β[x_,y_]->c_):>{c,Disk[{x,y},rad]};ImageRotateRasterize@Graphics[s,options],
-π
2
In[]:=
tausget@beta:{β[__]->_,__}:=Module{set,options,q,r},set=beta/.Rule[β[x_,y_],_]:>{x,y}//Flatten//Union;options={β[x,β[y,z]],β[β[x,y],z]};q=Table[τ[x,y,z]->#,{x,set},{y,set},{z,set}]&/@options;r=Sort/@PartitionFlatten@q,PowerLength@beta,;r//.beta
3
2
In[]:=
tausho[beta:{β[__]->_,__},rad_,options___]:=Module[{taus,set,q,r,s},set=Union@Cases[beta,_RGBColor,{0,∞}];taus=tausget@beta;q=taus/.c_RGBColor:>First@First@Position[set,c];r=q/.Rule[a_,b_]:>Rule[a,set[[b]]];s=r/.(τ[x_,y_,z_]->c_):>{c,Sphere[{x,y,z},rad]};Graphics3D[#,options]&/@s]
In[]:=
example
Out[]=
{β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,],β[,]}
In[]:=
cayleysho[example,.2,ImageSize->150]
Out[]=
In[]:=
tausho[example,.2]
Out[]=
,
In[]:=
SameQ[%[[1]],%[[2]]]
Out[]=
False
Number of distinct 4-color cubes :
In[]:=
64
4
Out[]=
3.40282×
38
10
In[]:=
Show[First@%%%,ImageSize->350,Axes->True,AxesLabel->{u,v,w},Ticks->None]
Out[]=
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Latin squares produce Latin cubes
by David Vasholz
Wolfram Community, STAFF PICKS, September 26, 2025
https://community.wolfram.com/groups/-/m/t/3551696
by David Vasholz
Wolfram Community, STAFF PICKS, September 26, 2025
https://community.wolfram.com/groups/-/m/t/3551696