reserve x,y,z, X,Y,Z for set,
  n for Element of NAT;
reserve A for set,
  D for non empty set,
  a,b,c,l,r for Element of D,
  o,o9 for BinOp of D,
  f,g,h for Function of A,D;
reserve G for non empty multMagma;

theorem Th17:
  the carrier of .:(G,X) = Funcs(X, the carrier of G) & the multF
  of .:(G,X) = (the multF of G, the carrier of G).:X
proof
A1: not G is unital implies .:(G,X) = multMagma(#Funcs(X, carr(G)), (op(G),
    carr(G)).:X#) by Def3;
  G is unital implies .:(G,X) = multLoopStr(#Funcs(X, carr(G)), (op(G),
    carr(G)).:X, (X --> the_unity_wrt op(G))#) by Def3;
  hence thesis by A1;
end;
