definition
let I be
set ;
let F be
multMagma-Family of
I;
existence
ex b1 being strict multMagma st
( the carrier of b1 = product (Carrier F) & ( for f, g being Element of product (Carrier F)
for i being set st i in I holds
ex Fi being non empty multMagma ex h being Function st
( Fi = F . i & h = the multF of b1 . (f,g) & h . i = the multF of Fi . ((f . i),(g . i)) ) ) )
uniqueness
for b1, b2 being strict multMagma st the carrier of b1 = product (Carrier F) & ( for f, g being Element of product (Carrier F)
for i being set st i in I holds
ex Fi being non empty multMagma ex h being Function st
( Fi = F . i & h = the multF of b1 . (f,g) & h . i = the multF of Fi . ((f . i),(g . i)) ) ) & the carrier of b2 = product (Carrier F) & ( for f, g being Element of product (Carrier F)
for i being set st i in I holds
ex Fi being non empty multMagma ex h being Function st
( Fi = F . i & h = the multF of b2 . (f,g) & h . i = the multF of Fi . ((f . i),(g . i)) ) ) holds
b1 = b2
end;
definition
let G1,
G2,
G3 be non
empty multMagma ;
let x be
Element of
G1;
let y be
Element of
G2;
let z be
Element of
G3;
<*redefine func <*x,y,z*> -> Element of
(product <*G1,G2,G3*>);
coherence
<*x,y,z*> is Element of (product <*G1,G2,G3*>)
end;
theorem
for
G1,
G2,
G3 being non
empty multMagma for
x1,
x2 being
Element of
G1 for
y1,
y2 being
Element of
G2 for
z1,
z2 being
Element of
G3 holds
<*x1,y1,z1*> * <*x2,y2,z2*> = <*(x1 * x2),(y1 * y2),(z1 * z2)*>