o[a_,b_] := a.b + b.a; ass[a_,b_,c_] := o[o[a,b],c]-o[a,o[b,c]]; dog[a_,b_,c_] := ass[b,ass[a,a,c],a]-ass[c,ass[a,a,b],a]; cat[a_,b_,c_,d_] := ass[a,ass[c,a,d],b]+ ass[a,ass[d,a,b],c]+ ass[a,ass[b,a,c],d]; x := Random[Integer,{1,100}]; AA = {{x,x,x}, {x,x,x},{x,x,x}}; BB = {{x,x,x}, {x,x,x},{x,x,x}}; CC = {{x,x,x}, {x,x,x},{x,x,x}}; DD = {{x,x,x}, {x,x,x},{x,x,x}}; ans = cat[AA,BB,CC,DD]; Print[MatrixForm[ans]];