reconsider GS = addLoopStr(# (product (carr G)),[:(addop G):],(zeros G) #) as non empty addLoopStr ;
A1: now :: thesis: for i being Element of dom (carr G) holds (carr G) . i = H1(G . i)
let i be Element of dom (carr G); :: thesis: (carr G) . i = H1(G . i)
dom G = Seg (len G) by FINSEQ_1:def 3
.= Seg (len (carr G)) by Def10
.= dom (carr G) by FINSEQ_1:def 3 ;
hence (carr G) . i = H1(G . i) by Def10; :: thesis: verum
end;
now :: thesis: for i being Element of dom (carr G) holds (addop G) . i is associative
let i be Element of dom (carr G); :: thesis: (addop G) . i is associative
( (addop G) . i = H2(G . i) & (carr G) . i = H1(G . i) ) by A1, Def11;
hence (addop G) . i is associative by FVSUM_1:2; :: thesis: verum
end;
then A2: [:(addop G):] is associative by Th18;
now :: thesis: for i being Element of dom (carr G) holds (zeros G) . i is_a_unity_wrt (addop G) . i
let i be Element of dom (carr G); :: thesis: (zeros G) . i is_a_unity_wrt (addop G) . i
A3: (carr G) . i = H1(G . i) by A1;
( (addop G) . i = H2(G . i) & (zeros G) . i = H4(G . i) ) by Def11, Def13;
hence (zeros G) . i is_a_unity_wrt (addop G) . i by A3, Th1; :: thesis: verum
end;
then A4: zeros G is_a_unity_wrt [:(addop G):] by Th19;
A5: GS is right_complementable
proof
let x be Element of GS; :: according to ALGSTR_0:def 16 :: thesis: x is right_complementable
reconsider y = (Frege (complop G)) . x as Element of GS by FUNCT_2:5;
take y ; :: according to ALGSTR_0:def 11 :: thesis: x + y = 0. GS
now :: thesis: for i being Element of dom (carr G) holds
( (complop G) . i is_an_inverseOp_wrt (addop G) . i & (addop G) . i is having_a_unity )
let i be Element of dom (carr G); :: thesis: ( (complop G) . i is_an_inverseOp_wrt (addop G) . i & (addop G) . i is having_a_unity )
A6: ( (addop G) . i = H2(G . i) & (complop G) . i = H3(G . i) ) by Def11, Def12;
( H4(G . i) is_a_unity_wrt H2(G . i) & (carr G) . i = H1(G . i) ) by A1, Th1;
hence ( (complop G) . i is_an_inverseOp_wrt (addop G) . i & (addop G) . i is having_a_unity ) by A6, Th2, SETWISEO:def 2; :: thesis: verum
end;
then Frege (complop G) is_an_inverseOp_wrt [:(addop G):] by Th20;
then x + y = the_unity_wrt [:(addop G):] ;
hence x + y = 0. GS by A4, BINOP_1:def 8; :: thesis: verum
end;
now :: thesis: for i being Element of dom (carr G) holds (addop G) . i is commutative
let i be Element of dom (carr G); :: thesis: (addop G) . i is commutative
( (addop G) . i = H2(G . i) & (carr G) . i = H1(G . i) ) by A1, Def11;
hence (addop G) . i is commutative by FVSUM_1:1; :: thesis: verum
end;
then ( 0. GS = zeros G & [:(addop G):] is commutative ) by Th17;
hence ( product G is add-associative & product G is right_zeroed & product G is right_complementable & not product G is empty & product G is Abelian ) by A2, A4, A5, BINOP_1:3; :: thesis: verum