deffunc H1( addLoopStr ) -> Element of the carrier of G = the ZeroF of G;
reconsider GS = RLSStruct(# (product (carr G)),(zeros G),[:(addop G):],[:(multop G):] #) as non empty RLSStruct ;
deffunc H2( 1-sorted ) -> set = the carrier of G;
deffunc H3( addLoopStr ) -> Element of bool [:[: the carrier of G, the carrier of G:], the carrier of G:] = the addF of G;
A1: now :: thesis: for i being Element of dom (carr G) holds (carr G) . i = H2(G . i)
let i be Element of dom (carr G); :: thesis: (carr G) . i = H2(G . i)
dom G = Seg (len G) by FINSEQ_1:def 3
.= Seg (len (carr G)) by PRVECT_1:def 11
.= dom (carr G) by FINSEQ_1:def 3 ;
hence (carr G) . i = H2(G . i) by PRVECT_1:def 11; :: 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 = H3(G . i) & (carr G) . i = H2(G . i) ) by A1, PRVECT_1:def 12;
hence (addop G) . i is associative by FVSUM_1:2; :: thesis: verum
end;
then A2: [:(addop G):] is associative by PRVECT_1:18;
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: (zeros G) . i = 0. (G . i) by PRVECT_1:def 14;
( (addop G) . i = H3(G . i) & (carr G) . i = H2(G . i) ) by A1, PRVECT_1:def 12;
hence (zeros G) . i is_a_unity_wrt (addop G) . i by A3, PRVECT_1:1; :: thesis: verum
end;
then A4: zeros G is_a_unity_wrt [:(addop G):] by PRVECT_1:19;
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 )
0. (G . i) = H1(G . i) ;
then A6: H1(G . i) is_a_unity_wrt H3(G . i) by PRVECT_1:1;
A7: (complop G) . i = comp (G . i) by PRVECT_1:def 13;
( (carr G) . i = H2(G . i) & (addop G) . i = H3(G . i) ) by A1, PRVECT_1:def 12;
hence ( (complop G) . i is_an_inverseOp_wrt (addop G) . i & (addop G) . i is having_a_unity ) by A6, A7, PRVECT_1:2, SETWISEO:def 2; :: thesis: verum
end;
then Frege (complop G) is_an_inverseOp_wrt [:(addop G):] by PRVECT_1:20;
then [:(addop G):] . (x,y) = the_unity_wrt [:(addop G):] by FINSEQOP:def 1;
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 = H3(G . i) & (carr G) . i = H2(G . i) ) by A1, PRVECT_1:def 12;
hence (addop G) . i is commutative by FVSUM_1:1; :: thesis: verum
end;
then [:(addop G):] is commutative by PRVECT_1:17;
hence ( product G is Abelian & product G is add-associative & product G is right_zeroed & product G is right_complementable & product G is vector-distributive & product G is scalar-distributive & product G is scalar-associative & product G is scalar-unital ) by A2, A4, A5, Lm1, Lm2, Lm5; :: thesis: verum