let M1, M2 be non empty strict multMagma ; ( the carrier of M1 = product (Carrier <*G,A*>) & ( for f, g being Element of product (Carrier <*G,A*>) ex h being Function ex a1 being Element of A ex g2 being Element of G st
( h = the multF of M1 . (f,g) & a1 = f . 2 & g2 = g . 1 & h . 1 = the multF of G . ((f . 1),((phi . a1) . g2)) & h . 2 = the multF of A . ((f . 2),(g . 2)) ) ) & the carrier of M2 = product (Carrier <*G,A*>) & ( for f, g being Element of product (Carrier <*G,A*>) ex h being Function ex a1 being Element of A ex g2 being Element of G st
( h = the multF of M2 . (f,g) & a1 = f . 2 & g2 = g . 1 & h . 1 = the multF of G . ((f . 1),((phi . a1) . g2)) & h . 2 = the multF of A . ((f . 2),(g . 2)) ) ) implies M1 = M2 )
assume that
A1:
( the carrier of M1 = product (Carrier <*G,A*>) & ( for f, g being Element of product (Carrier <*G,A*>) ex h being Function ex a1 being Element of A ex g2 being Element of G st
( h = the multF of M1 . (f,g) & a1 = f . 2 & g2 = g . 1 & h . 1 = the multF of G . ((f . 1),((phi . a1) . g2)) & h . 2 = the multF of A . ((f . 2),(g . 2)) ) ) )
and
A2:
( the carrier of M2 = product (Carrier <*G,A*>) & ( for f, g being Element of product (Carrier <*G,A*>) ex h being Function ex a1 being Element of A ex g2 being Element of G st
( h = the multF of M2 . (f,g) & a1 = f . 2 & g2 = g . 1 & h . 1 = the multF of G . ((f . 1),((phi . a1) . g2)) & h . 2 = the multF of A . ((f . 2),(g . 2)) ) ) )
; M1 = M2
for x, y being set st x in the carrier of M1 & y in the carrier of M1 holds
the multF of M1 . (x,y) = the multF of M2 . (x,y)
proof
let x,
y be
set ;
( x in the carrier of M1 & y in the carrier of M1 implies the multF of M1 . (x,y) = the multF of M2 . (x,y) )
assume B1:
x in the
carrier of
M1
;
( not y in the carrier of M1 or the multF of M1 . (x,y) = the multF of M2 . (x,y) )
assume
y in the
carrier of
M1
;
the multF of M1 . (x,y) = the multF of M2 . (x,y)
then reconsider f =
x,
g =
y as
Element of
product (Carrier <*G,A*>) by A1, B1;
consider h1 being
Function,
a11 being
Element of
A,
g12 being
Element of
G such that B3:
(
h1 = the
multF of
M1 . (
f,
g) &
a11 = f . 2 &
g12 = g . 1 &
h1 . 1
= the
multF of
G . (
(f . 1),
((phi . a11) . g12)) &
h1 . 2
= the
multF of
A . (
(f . 2),
(g . 2)) )
by A1;
consider h2 being
Function,
a21 being
Element of
A,
g22 being
Element of
G such that B4:
(
h2 = the
multF of
M2 . (
f,
g) &
a21 = f . 2 &
g22 = g . 1 &
h2 . 1
= the
multF of
G . (
(f . 1),
((phi . a21) . g22)) &
h2 . 2
= the
multF of
A . (
(f . 2),
(g . 2)) )
by A2;
B5:
(
dom h1 = {1,2} &
dom h2 = {1,2} )
proof
h1 in product (Carrier <*G,A*>)
by A1, B3, BINOP_1:17;
then
ex
f1 being
Function st
(
h1 = f1 &
dom f1 = dom (Carrier <*G,A*>) & ( for
y1 being
object st
y1 in dom (Carrier <*G,A*>) holds
f1 . y1 in (Carrier <*G,A*>) . y1 ) )
by CARD_3:def 5;
hence
dom h1 = {1,2}
by PARTFUN1:def 2;
dom h2 = {1,2}
h2 in product (Carrier <*G,A*>)
by A2, B4, BINOP_1:17;
then
ex
f1 being
Function st
(
h2 = f1 &
dom f1 = dom (Carrier <*G,A*>) & ( for
y1 being
object st
y1 in dom (Carrier <*G,A*>) holds
f1 . y1 in (Carrier <*G,A*>) . y1 ) )
by CARD_3:def 5;
hence
dom h2 = {1,2}
by PARTFUN1:def 2;
verum
end;
for
i being
object st
i in dom h1 holds
h1 . i = h2 . i
hence
the
multF of
M1 . (
x,
y)
= the
multF of
M2 . (
x,
y)
by B3, B4, B5, FUNCT_1:def 11;
verum
end;
hence
M1 = M2
by A1, A2, BINOP_1:1; verum